[MPlayer-cvslog] r34632 - trunk/stream/stream_ffmpeg.c

Diego Biurrun diego at biurrun.de
Fri Feb 10 15:18:08 CET 2012


On Fri, Feb 10, 2012 at 12:47:02PM +0100, Ingo Brückl wrote:
> reimar wrote on Sat, 28 Jan 2012 14:47:01 +0100 (CET):
> 
> > Log:
> > Some hacks to allow stream_ffmpeg to compile against newer FFmpeg.
> 
> > Keep the old code so that it is still possible to compile
> > against older FFmpeg without using internal API.
> 
> > +++ trunk/stream/stream_ffmpeg.c        Sat Jan 28 14:47:01 2012 (r34632)
> > @@ -26,6 +26,16 @@
> >  #include "m_struct.h"
> >  #include "av_helpers.h"
> >
> > +#ifndef URL_RDONLY
> > +#include "libavformat/url.h"
> > +#define url_read_complete ffurl_read_complete
> > +#define url_write ffurl_write
> > +#define url_seek ffurl_seek
> > +#define url_filesize ffurl_size
> > +#define url_close ffurl_close
> > +#define url_open(c, n, f) ffurl_open(c, n, f, NULL, NULL)
> > +#endif
> 
> I have problems with shared ffmpeg (just cloned and compiled):
> 
>   LD      mplayer
>   stream/stream_ffmpeg.o: In function `open_f':
>   stream_ffmpeg.c:(.text+0x12d): undefined reference to `ffurl_size'
>   stream/stream_ffmpeg.o: In function `control':
>   stream_ffmpeg.c:(.text+0x2a4): undefined reference to `ffurl_size'
>   stream/stream_ffmpeg.o: In function `fill_buffer':
>   stream_ffmpeg.c:(.text+0x31e): undefined reference to `ffurl_read_complete'
>   stream/stream_ffmpeg.o: In function `seek':
>   stream_ffmpeg.c:(.text+0x35d): undefined reference to `ffurl_seek'
>   make: *** [mplayer] Error 1
> 
> Is
> 
>   diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v
>   index 6949884..e2fb65a 100644
>   --- a/libavformat/libavformat.v
>   +++ b/libavformat/libavformat.v
>   @@ -12,6 +12,9 @@ LIBAVFORMAT_$MAJOR {
>                    ffio_open_dyn_packet_buf;
>                    ffurl_close;
>                    ffurl_open;
>   +                ffurl_read_complete;
>   +                ffurl_seek;
>   +                ffurl_size;
>                    ffurl_write;
>                    url_open;
>                    url_close;
> 
> the right way to fix it (and does it have a chance to get committed)?
> (I know, wrong mailing list to ask, but before I embarrass myself on
> ffmpeg-user...)

The right way is to fix MPlayer not to misuse internal API, not export
more symbols from libavformat.

Diego


More information about the MPlayer-cvslog mailing list