summaryrefslogtreecommitdiff
path: root/src/lib/decoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/decoder.cc')
-rw-r--r--src/lib/decoder.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc
index 38de4e3a1..9cbd93405 100644
--- a/src/lib/decoder.cc
+++ b/src/lib/decoder.cc
@@ -25,7 +25,7 @@
#include <stdint.h>
extern "C" {
#include <libavfilter/avfiltergraph.h>
-#include <libavfilter/vsrc_buffer.h>
+#include <libavfilter/buffersrc.h>
#ifndef DVDOMATIC_FFMPEG_0_8_3
#include <libavfilter/avcodec.h>
#include <libavfilter/buffersink.h>
@@ -242,16 +242,20 @@ Decoder::process_video (AVFrame* frame)
#else
- if (av_vsrc_buffer_add_frame (_buffer_src_context, frame, 0) < 0) {
+ if (av_buffersrc_write_frame (_buffer_src_context, frame) < 0) {
throw DecodeError ("could not push buffer into filter chain.");
}
#endif
+#ifdef DVDOMATIC_FFMPEG_0_8_3
while (avfilter_poll_frame (_buffer_sink_context->inputs[0])) {
+#else
+ while (av_buffersink_read (_buffer_sink_context, 0)) {
+#endif
#ifdef DVDOMATIC_FFMPEG_0_8_3
-
+
int r = avfilter_request_frame (_buffer_sink_context->inputs[0]);
if (r < 0) {
throw DecodeError ("could not request filtered frame");