[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