... This includes failure paths in the initialization if import. Those
resources would have been reclaimed before program exit, but not as soon as
they should have been.
... This also includes certain leaks that would happen every time a file is
successfully imported or exported. We never used avformat_free_context or
av_dict_free as we should have!
... There were also AVPacket objects repeatedly reinitialized without proper
cleanups in between. That might have leaked memory too.
... and certain other changes too. It is involved in code that makes sure
the save of a file with incomplete on-demand loads properly waits for them
to finish. It should not really affect production.
The experimentals are EXPERIMENTAL_OD_FLAC and EXPERIMENTAL_OD_FFMPEG.
In std::unique_ptr<wxSizer> CreateStdButtonSizer(wxWindow *parent, long buttons, wxWindow *extra)
changed access key of preview button from v to P, so that it's consistent Preview buttons created elsewhere.
* Disk space warning if the recording potentially will not fit in disk space available.
* ProgressDialog enhancements that allow the Stop/Cancel button to be confirmed and the elapsed time to be hidden.
* Messages enhanced to clearly show the actions being taken.
I could see this on windows:
Import a file such as .aiff format, while "Files of type:"
reads "FFmpeg-compatible files".
Leave Audacity running.
Attempt to delete the file in Windows Exploerer.
Get a message from Windows that the file is in use by Audacity and cannot be
deleted.
Symptoms were:
Edit metadata; ESC; exit audacity -- memory leaks.
Edit metadata; single-click "Genre" field twice; ESC -- assertion violaion in
Windows debug build.
Make a label; Track > Edit Labels; single-click time field twice; esc -- also
caused assertions, then memory leak at exit.
However, there are still two small memory leaks at exit after using Label
editor, yet unexplained.