ports/109379: ffmpeg-devel can't dynamically link to faad2

Michael Johnson ahze at ahze.net
Mon Apr 2 21:19:03 UTC 2007


On 4/2/07, Michael Johnson <ahze at ahze.net> wrote:
>
>
>
> On 4/2/07, Bill Fenner <fenner at research.att.com> wrote:
> >
> > The following reply was made to PR ports/109379; it has been noted by
> > GNATS.
> >
> > From: Bill Fenner <fenner at research.att.com>
> > To: ahze at FreeBSD.org
> > Cc: freebsd-gnats-submit at FreeBSD.org, freebsd-multimedia at FreeBSD.org
> > Subject: Re: ports/109379: ffmpeg-devel can't dynamically link to faad2
> > Date: Mon, 2 Apr 2007 10:14:51 -0700
> >
> > While faad 2.5,1 includes API compatability,
> > as I stated in the description of the problem,
> > the linkage that ffmpeg uses is not able to
> > use that API compatability.  This is because
> > the faad API compatability is performed with
> > #defines, and the ffmpeg linkage happens with
> > fancy macros that put together the function
> > names in a way that doesn't allow the #defines
> > to work.
> >
> > (The dfaac() macro in libavcodec/faad.c
> > uses "faacDec" ## a to put symbols together
> > to get, e.g. faacDecGetErrorMessage, into
> > strings, which it then looks up in the shared
> > library with dlsym(), which never gives the
> > "compatability API" a chance to get in the
> > middle).
> >
> > Were you able to get the steps in "how-to-repeat:"
> > to work, or did you just close the PR because
> > you think it is supposed to work?  I think it is
> > supposed to work too, but that doesn't mean it does.
> >
> > I spent an hour rebuilding faad (of which I already
> > had 2.5,1 installed) and ffmpeg-devel (which I upgraded
> > from ffmpeg-devel-0.4.9.c.2006032300_4 to
> > ffmpeg-devel-0.4.9.c.2006032300_5) to make sure that
> > the bug was still there.
>
>
> okay, you're right. I'll fix.
>


Fixed


frogbits% pkg_info -I ffmpeg\* faad\*
> > faad2-2.5,1         MPEG-2 and MPEG-4 AAC audio decoder
> > ffmpeg-devel-0.4.9.c.2006032300_5 Hyper fast realtime audio/video
> > encoder/converter, streamin
> > frogbits% ffmpeg -i Diego-2.mp4 /tmp/foo.mpeg
> > FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
> >    configuration:  --cc=cc --prefix=/usr/local --make=gmake
> > --disable-debug --enable-memalign-hack --enable-shared
> > --source-path=/usr/ports/multimedia/ffmpeg-devel/work/FFMpeg-2006032300
> > --enable-a52 --enable-dts --enable-faac --enable-faad --enable-faadbin
> > --enable-gpl --enable-libgsm --enable-mp3lame --enable-libogg --enable-pp
> > --enable-pthreads --enable-vorbis --enable-x264 --enable-xvid
> >    libavutil version: 49.0.0
> >    libavcodec version: 51.8.0
> >    libavformat version: 50.4.0
> >    built on Apr  2 2007 10:02:29, gcc: 3.4.4 [FreeBSD] 20050518
> >
> > Seems that stream 0 comes from film source: 24000.00 (24000/1) -> 23.98(24000/1001)
> > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Diego-2.mp4':
> >    Duration: 00:42:45.1, start: 0.000000, bitrate: 1129 kb/s
> >    Stream #0.0(eng), 23.98 fps(r): Video: mpeg4, yuv420p, 640x480
> >    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo
> > Output #0, mpeg, to '/tmp/foo.mpeg':
> >    Stream #0.0, 23.98 fps(c): Video: mpeg1video, yuv420p, 640x480,
> > q=2-31, 200 kb/s
> >    Stream #0.1: Audio: mp2, 44100 Hz, stereo, 64 kb/s
> > Stream mapping:
> >    Stream #0.0 -> #0.0
> >    Stream #0.1 -> #0.1
> > [aac @ 0x28356028]FAAD library: cannot resolve faacDecGetErrorMessage in
> > libfaad.so.0!
> > Error while opening codec for input stream #0.1
> >
> >
> >    Bill
> > _______________________________________________
> > freebsd-multimedia at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> > To unsubscribe, send any mail to "
> > freebsd-multimedia-unsubscribe at freebsd.org"
> >
>
>


More information about the freebsd-multimedia mailing list