Re: [Audacity-devel] ffmpeg
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Gale A. <ga...@au...> - 2010-04-04 12:09:13
|
Hi LRN, #ifdef kind of looks the safest and least susceptible to human nature, but not very extensible because we have to do more of the same every time there is some new change (until we decide there is some new minimum version required). Would package maintainers realise SVN of the library had updated and caused a problem, or know the versions that work unless we tell them? Where do we note the recommended version so that they always see it? Just to note, Henri's e-mail was to feedback@, so private. We don't strictly speaking have permission to publish his message on the internet. His e-mail address will be obfuscated, and most people probably won't mind, but nonetheless we should make the effort to generalise any input from feedback@ before posting it to -devel so the user can't recognise it as theirs. Thanks Gale | From LRN <lr...@gm...> | Sat, 03 Apr 2010 20:30:36 +0400 | Subject: [Audacity-devel] ffmpeg > On 03.04.2010 17:11, Gale Andrews wrote: > > Hi LRN, > > > > It seems we have the same problem on OpenSuse 11.2 x64 and possibly > > on Arch: > > http://forum.audacityteam.org/viewtopic.php?f=18&t=28048 > > > > so I think we will need a bit more code to work with latest FFmpeg. > > > > > I'm starting to think that it would be better to change FFmpeg version > differentiation from compile-time to runtime. As long as the function > that is responsible for reporting libav* version does not change, i > think i can make it determine the library version at runtime, import > appropriate functions from the library and use them accordingly. > The real problem are headers. You can only compile Audacity against one > set of headers, and if headers for two versions are incompatible, you > might get nasty hard-to-debug runtime errors. > Part of the problem is that this is not our problem. It is perfectly > normal for software to depend on a particular version of a library, and > most of the time nothing really forces people to update. Sometimes there > is even something that forces people NOT to update to the latest version > (because, for example, it might not be available on some rarely updated > systems, such as embedded devices). Why package maintainers for Audacity > can't put "recommends: libav* >= x.xx.xx <= y.yy.yy" into dependency > list? AFAIK, most package managers will allow users to simultaneously > install different versions of the same library. Might have something to > do with the way we grok libav* at runtime rather than link it like all > normal people do (i know, i know, licensing issues, etc). > So...back to your original proposition. What will it be: > 1) More inflexible #ifdef magic > 2) Potentially dangerous runtime detection > 3) Bashing package maintainer's head against a wall > 4) Your own answer. > > Gale > > > > > > > > | From LRN <lr...@gm...> > > | Sun, 28 Mar 2010 18:04:13 +0400 > > | Subject: ffmpeg > > > >> On 28.03.2010 17:34, Gale Andrews wrote: > >> > >>> | From DELBOS Henri <hen...@fr...> > >>> | Sun, 28 Mar 2010 11:34:40 +0200 > >>> | Subject: ffmpeg > >>> > >>> > >>>> I use the packaged version of Audacity supplied by Debian 1.3.11-2 (testing) > >>>> Joined copy messages and log. > >>>> > >>>> > >>> Thanks. I'm not an expert here, so I'm Cc'ing to LRN to see > >>> what makes of the "undefined symbol" error in the log. > >>> > >>> > >>> > >> I would say it's a version mismatch. There was an API change from > >> match_ext() to av_match_ext(). In somewhat older version of ffmpeg, in > >> both avformat.h and utils.c the code responsible for match_ext() is put > >> into "#if LIBAVFORMAT_VERSION_MAJOR < 53". I've just pulled fresh ffmpeg > >> from git and it doesn't have match_ext() at all (not even with the > >> condition), so your version of libavformat is indeed too new (or, if you > >> prefer, Audacity is built against avformat.h and against API that is too > >> old). > >> git log | grep match_ext > >> tells me that > >> > >> Author: stefano <stefano@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b> > >> Date: Mon Mar 8 23:51:53 2010 +0000 > >> > >> Remove definition of match_ext(), which is declared under #ifdef > >> AV_HAVE_AVCONFIG and so not publicly declared, and currently unused. > >> > >> git-svn-id: file:///var/local/repositories/ffmpeg/trunk@22353 > >> 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b > >> > >> Which means that your libavformat is at least as new as 8 March 2010, > >> while Audacity's code is written to be built against either ffmpeg 0.5 > >> (spring 2009) or ffmpeg-post-0.5 (summer/autumn 2009). > >> Actually, i've made it ffmpeg-post-0.5-only compatible in the first > >> place, but some people complained that the newest ffmpeg they have from > >> packages is 0.5, so i had to add some backward compatibility. > >> > >> The question is: what do we do? Possible solutions are: > >> 1) You can just install older version alongside the newer one. If this > >> is supported in Debian, that is. > >> > >> 2) I can write some more #ifdef'ed code in Audacity (which is somewhat > >> difficult at the moment, because Audacity is in pre-release-freeze at > >> the moment) and let it be compiled against newer versions of ffmpeg. > >> Then package maintainer can update the package in Debian testing to > >> match current version of ffmpeg in Debian testing (out of curiosity - do > >> they really have ffmpeg packages in Debian repository? i always thought > >> that ffmpeg is only available from 3rd-party repositories). > >> > >> > >>> > >>> Gale > >>> > >>> > >>> > >>> > >>>> Le 26/03/2010 21:42, Gale Andrews a écrit : > >>>> > >>>> > >>>>> | From DELBOS Henri<hen...@fr...> > >>>>> | Fri, 26 Mar 2010 17:10:06 +0100 > >>>>> | Subject: ffmpeg > >>>>> > >>>>> > >>>>> > >>>>>> I 'got on the site in manual (french one) > >>>>>> > >>>>>> I read: > >>>>>> > >>>>>> 1. Click "Find Library". > >>>>>> 2. If a "Success" message indicates Audacity has now automatically > >>>>>> detected the library and asks if you want to detect them manually, > >>>>>> click "No", then OK to close Preferences. > >>>>>> 3. If the "Locate FFmpeg" dialog appears, click "Browse...". > >>>>>> 4. Navigate to the avformat library, and select it. It may have > >>>>>> different names, such as "avformat-52.dll" on Windows, > >>>>>> "libavformat-52.dylib" on Mac or "libavformat.so.52" on Linux. > >>>>>> 5. Click "Open" then "OK", and "OK" again to close Preferences > >>>>>> > >>>>>> I'am on GNU/Linux amd64 and I have libavformat.so.52.56.1 > >>>>>> Is it too new ? > >>>>>> > >>>>>> > >>>>>> > >>>>> As far as I understand it, the FFmpeg major version has to be 0.5 or > >>>>> greater. What does Synaptic say? Did you compile Audacity from our > >>>>> source tarball (if so with what ffmpeg options), or is this a packaged > >>>>> version of Audacity supplied by Debian? > >>>>> > >>>>> Please also let us see the output from Help> Show Log in Audacity. > >>>>> > >>>>> > >>>>> > >>>>> Gale > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>> Le 26/03/2010 12:27, Gale Andrews a �crit : > >>>>>> > >>>>>> > >>>>>> > >>>>>>> | From DELBOS Henri > >>>>>>> | Mon, 22 Mar 2010 14:00:35 +0100 > >>>>>>> | Subject: ffmpeg > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> GNU/Linux Debian: 2.6.33-rc7 > >>>>>>>> > >>>>>>>> /usr/lib64/libavformat.so.52.56.1 > >>>>>>>> > >>>>>>>> Audacity 1.3.11 beta (unicode) > >>>>>>>> La librairie ffmpeg est d?tect?e, mais ne se valide pas et je reste > >>>>>>>> toujours avec le message "librairie ffmpeg absente" > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> Pour Audacity 1.3.8 ou ult?rieure sur Linux, une FFmpeg librairie ou forfait > >>>>>>> apr?s 0.5 est exigent: > >>>>>>> http://manual.audacityteam.org/index.php?title=FAQ:Installation_and_Plug-Ins#linff > >>>>>>> > >>>>>>> Plus d'aide: > >>>>>>> http://forum.audacityteam.org/viewforum.php?f=18 > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> Gale > >>>>>>> Audacity Team > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>> > >>> > > > > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel |