aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/ffmpeg_decoder_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-05-09 21:16:43 +0200
committerMax Kellermann <max@duempel.org>2011-05-09 21:23:58 +0200
commitc74edd0e339a81d55003ac4f8690eb4bd384fc6f (patch)
treebb5e1aa15debfec8e0d08b44dd5873dbc956cb50 /src/decoder/ffmpeg_decoder_plugin.c
parent98acf3f281ffc1221605d4a4b05c020a6d2c0568 (diff)
downloadmpd-c74edd0e339a81d55003ac4f8690eb4bd384fc6f.tar.gz
mpd-c74edd0e339a81d55003ac4f8690eb4bd384fc6f.tar.xz
mpd-c74edd0e339a81d55003ac4f8690eb4bd384fc6f.zip
decoder/ffmpeg: use AVIOContext instead of ByteIOContext
Diffstat (limited to '')
-rw-r--r--src/decoder/ffmpeg_decoder_plugin.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/decoder/ffmpeg_decoder_plugin.c b/src/decoder/ffmpeg_decoder_plugin.c
index c0bb8d6d5..068f64b83 100644
--- a/src/decoder/ffmpeg_decoder_plugin.c
+++ b/src/decoder/ffmpeg_decoder_plugin.c
@@ -75,7 +75,11 @@ struct mpd_ffmpeg_stream {
struct decoder *decoder;
struct input_stream *input;
+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(52,101,0)
+ AVIOContext *io;
+#else
ByteIOContext *io;
+#endif
unsigned char buffer[8192];
};
@@ -108,11 +112,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;