decoder/ffmpeg: use AVIOContext instead of ByteIOContext

This commit is contained in:
Max Kellermann 2011-05-09 21:16:43 +02:00
parent 56257f072b
commit 76fcf25898
2 changed files with 10 additions and 0 deletions

2
NEWS
View File

@ -1,6 +1,8 @@
ver 0.16.7 (2011/??/??)
* input:
- ffmpeg: support libavformat 0.7
* decoder:
- ffmpeg: support libavformat 0.7
* output:
- httpd: fix excessive buffering
- openal: force 16 bit playback, as 8 bit doesn't work

View File

@ -126,11 +126,19 @@ mpd_ffmpeg_stream_open(struct decoder *decoder, struct input_stream *input)
struct mpd_ffmpeg_stream *stream = g_new(struct mpd_ffmpeg_stream, 1);
stream->decoder = decoder;
stream->input = input;
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52,101,0)
stream->io = avio_alloc_context(stream->buffer, sizeof(stream->buffer),
false, stream,
mpd_ffmpeg_stream_read, NULL,
input->seekable
? mpd_ffmpeg_stream_seek : NULL);
#else
stream->io = av_alloc_put_byte(stream->buffer, sizeof(stream->buffer),
false, stream,
mpd_ffmpeg_stream_read, NULL,
input->seekable
? mpd_ffmpeg_stream_seek : NULL);
#endif
if (stream->io == NULL) {
g_free(stream);
return NULL;