1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 16:10:06 +02:00

76 Commits

Author SHA1 Message Date
Darrell Walisser
3d4a357f95 Update for FFmpeg 3.5 2018-01-26 19:18:25 -05:00
Paul Licameli
533ca24079 Raphaël Marinier: remove more unnecessary changes of format...
... A search of FFmpeg source code shows that the nonstandard %t format
occurs nowhere in it.
2018-01-24 14:06:09 -05:00
Raphaël Marinier
c6e1665b52 Simplification in av_log_wx_callback, because wxLogDebug is threadsafe. (#246)
wxLogDebug is threadsafe since wxWidgets 2.9.1 (releated in 2010)
according to
http://docs.wxwidgets.org/3.0/overview_log.html#overview_log_mt.

Note also that wxLogDebug could already have been called from multiple
threads even with EXPERIMENTAL_OD_FFMPEG unset. According to FFmpeg
doc, the logging callback can be called from multiple threads because
some codecs are multithreaded:
https://ffmpeg.org/doxygen/2.5/group__lavu__log.html#ga14034761faf581a8b9ed6ef19b313708
2018-01-24 13:22:26 -05:00
Paul Licameli
e82fcf9549 From Raphael Marinier: Fix Linux crash importing bad .wav file...
... A mistaken, unneeded change of a vsprintf format string caused a crashing
misinterpretation of a format argument; just writing errors to log.
2018-01-24 12:36:44 -05:00
Paul Licameli
58e4823f68 Bug1829, more: detect out-of-space when writing FFmpeg formats 2018-01-23 07:58:41 -05:00
Paul Licameli
38568f611d Bug1829, more: check all errors flushing and closing export files...
... MP3 export already did this, the other five needed work.
2018-01-22 16:48:20 -05:00
Paul Licameli
80a958f8a4 Rewrite empty prompts to ShuttleGUI functions as {} ...
... so we might more easily redefine the type of the function argument,
some other day (not this release)
2018-01-01 22:51:25 -05:00
Paul Licameli
7fd78183d2 Remove needless uses of wxString::c_str() in wxString::Format...
... and similar wx "variadics," which all treat wxString smartly enough that
you don't need this.

Don't need c_str either to convert wxString to const wxChar * because
wxString has a conversion operator that does the same.
2018-01-01 20:34:33 -05:00
Paul Licameli
ccb4bbac33 Translate "Message" as default title of message box...
... This required a sweeping change of all calls to wxMessageBox!  But it seems
safe to me, despite the great number of touched files.
2018-01-01 17:50:02 -05:00
Paul Licameli
4d978bcefb Use wxPrintf not printf 2017-12-16 11:54:32 -05:00
Paul Licameli
1a22a59ee9 Fix links to local help for buttons in Library preferences...
... There are four different code paths to test, for four different "Download"
buttons:

The two "Download" buttons in the Libraries preference dialog; and,
The Download button in each of the two dialog boxes that follow the two
"Locate..." buttons.

There are just two new help pages in a proper build of local help, each the
target of two buttons.

One of these pages is called "FAQ:Installing the FFmpeg-Import-Export Library"
rather than "FAQ:Installing the FFmpeg-Import/Export Library"

because there are some difficulties preventing links to pages with "/" in the
title, which I didn't try to fix.
2017-10-18 21:47:59 -04:00
James Crook
ce9938787c Use alpha or released or local manual for "help on selection".
Previously this was hard coded to use the online alphamanual.
Some other help-on-errors paths were hardcoded to use the online manual, and did not use local help even if available, so these were changed too.

Also two naming changes in the code:
ShowHelpDialog() became ShowHelp() because it typically shows the help in your browser, only showing the help in a dialog under certain circumstances.
The helpURL parameter became helpPage since it is usually a page name that is then elaborated into a url.
The Link() function became InnerLink().

Some careful http -> https changes made too.
2017-08-25 13:59:16 +01:00
James Crook
aee0c4cbc6 Fix for broken build (::None)
None clashed with something else under linux, probably a macro expansion.
2017-08-03 17:25:12 +01:00
Paul Licameli
5d48e96942 Where FileSelector was used, default to Documents not cwd; save prefs 2017-08-03 08:02:33 -04:00
Paul Licameli
53b9869268 Remove naked malloc (or similar) and free in: FFmpeg 2017-03-17 17:52:51 -04:00
Paul Licameli
5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
Paul Licameli
f993f1eadf Regularize casts as (int), so they are easier to find and review 2016-09-20 08:42:11 -04:00
Paul Licameli
fd2e36e0c8 Remove some naked new amd delete in: FFmpeg 2016-08-08 07:51:24 -04:00
Paul Licameli
84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli
24df87bb4c Fix resource leaks in the usage of the FFMPEG library with RAII objects...
... 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.
2016-04-13 20:31:54 -04:00
Paul Licameli
316ed3afc2 Fix another memory leak in FFmpeg import. 2016-04-13 00:22:39 -04:00
Paul Licameli
f00144e9a5 Sweep for filename copying: various 2016-04-10 22:26:28 -04:00
Paul Licameli
7c0073dd77 Unreported bug: memory and file handle leak when importing custom mpeg...
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.
2016-04-09 00:21:38 -04:00
Paul Licameli
7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -05:00
Paul Licameli
dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
James Crook
c865d0204e Path to FFmpeg installation was a 404.
I've changed the path, a '_' to a ':'.  May perhaps need to do more to have path right in manual too.
2015-09-02 20:09:40 +01:00
Paul Licameli
9c483e2e86 Add (redundant) #include "Experimental.h" in all .cpp files using the symbols 2015-08-31 17:56:10 -04:00
David Bailes
f458df1c7b Changes to a number of dialogs so that the NVDA screen reader can read the titles. Missed these in my last patch. The accessibility name of the dialog is set to the title. 2015-05-18 13:57:05 +01:00
lllucius
51d69fc34b Partial fix for bug #807
The value in audacity.cfg is now prepended to the PATH
variable instead of appending it, so that directory
should be searched first.

It doesn't do fallback searches if the first attempt
fails.
2014-12-28 10:12:43 +00:00
lllucius@gmail.com
40ec0eda12 Fix for bug #787
But, it made another issue visible...several exporters
fail silently and the user may thing the export was
successful when it was not.

Will be hitting that next.
2014-12-06 11:23:44 +00:00
RichardAsh1981@gmail.com
fd53865f1c Add header include needed when FFmpeg support is enabled 2014-06-26 19:40:35 +00:00
RichardAsh1981@gmail.com
d974754340 use HelpSystem for links to the manual in existing code 2014-06-25 10:12:19 +00:00
benjamin.drung@gmail.com
b8a464709d FFmpeg: Fall back to guessing avutil and avcodec filenames
When the avutil_version and avcodec_version symbols are not found, fall back to
guess the filenames of avutil and avcodec (as done in r13195 and previously).
2014-06-18 22:24:17 +00:00
benjamin.drung@gmail.com
cb39b48274 FFmpeg: Get non-monolithic libav* filenames from libavformat.
The non-monolithic libavformat is linked against libavcodec and libavutil.
Instead of (falsely) guessing the filenames of libavcodec and libavutil, get the
files that the libavformat library is linked against. This fixes wrong filename
guesses and avoids run-time issues by using incompatible libavcodec/libavutil
version with libavformat.
2014-06-10 21:34:15 +00:00
benjamin.drung@gmail.com
caf557a614 FFmpeg: Modify FFMPEG_INITALT to support loading from a different alternative library.
av_frame_alloc/av_frame_free are defined in avutil, but the deprecated
alternative functions avcodec_alloc_frame/avcodec_free_frame are defined in
avcodec instead. FFMPEG_INITALT needs to be enhanced to support different
library names.
2014-06-10 21:18:50 +00:00
benjamin.drung@gmail.com
149fcafc1c Replace tabs by spaces. 2014-06-05 22:04:22 +00:00
benjamin.drung@gmail.com
d921c4969b Fix dynamic FFmpeg import.
The symbols av_dict_get, av_dict_set, and av_get_bytes_per_sample are defined in
libavutil, but not in libavformat or libavcodec.
2014-06-03 20:16:55 +00:00
benjamin.drung@gmail.com
f36e961bb1 Remove unused FFmpeg function declarations. 2014-05-31 14:26:24 +00:00
benjamin.drung@gmail.com
4d4580a042 FFmpeg: Replace long deprecated functions by current ones. 2014-05-31 14:01:57 +00:00
benjamin.drung@gmail.com
3416b2a8c1 Drop compatibility for FFmpeg < 1.2 and libav < 0.8.
Dropping support for unsupported upstream FFmpeg/libav versions makes our code
simpler by removing preprocessor conditionals.
2014-05-31 13:23:00 +00:00
benjamin.drung@gmail.com
33b9e9336f FFmpeg: Replace deprecated av_close_input_file by avformat_close_input. 2014-05-29 15:50:47 +00:00
benjamin.drung@gmail.com
b556d83c54 Fix indentation (to multiple of three) and remove trailing spaces. 2014-05-27 22:06:58 +00:00
benjamin.drung@gmail.com
16f834f0c3 FFmpeg: raise log level to info
Log level info is the default in FFmpeg and its quite hidden anyway so users
should not see it anyway unless they look/search for it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-27 21:47:29 +00:00
benjamin.drung@gmail.com
463da8e816 Add support for libav 9. 2014-05-23 20:43:08 +00:00
benjamin.drung@gmail.com
7a47f6fedd Prefer newer av_get_bits_per_sample_fmt over av_get_bits_per_sample_format. 2014-05-23 20:37:54 +00:00
benjamin.drung@gmail.com
48240202ca planar s16&flt export support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:37:27 +00:00
benjamin.drung@gmail.com
6ac83ae299 remove unneeded probing code, ffmpeg does that already so no need to duplicate it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:32:14 +00:00
benjamin.drung@gmail.com
60fe57463e remove urlprotocol use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Benjamin Drung <bdrung@debian.org>
2014-05-23 20:31:34 +00:00