[MPlayer-cvslog] r34632 - trunk/stream/stream_ffmpeg.c
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Fri Feb 10 19:44:24 CET 2012
On 10 Feb 2012, at 15:18, Diego Biurrun <diego at biurrun.de> wrote:
> 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.
There is no suitable alternative to the (only now) internal API.
FFmpeg should be easy enough to convince to expose the low-level API again.
Libav probably not since they drove removing the old API without replacement.
More information about the MPlayer-cvslog
mailing list