ffdec: Only set get_buffer() function for video
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 18 Jan 2012 09:05:09 +0000 (10:05 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 18 Jan 2012 09:11:49 +0000 (10:11 +0100)
Fixes bug #666435.

ext/ffmpeg/gstffmpegdec.c

index db02a69..fa2e2f4 100644 (file)
@@ -766,9 +766,11 @@ gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps)
   }
 
   /* set buffer functions */
-  ffmpegdec->context->get_buffer = gst_ffmpegdec_get_buffer;
-  ffmpegdec->context->release_buffer = gst_ffmpegdec_release_buffer;
-  ffmpegdec->context->draw_horiz_band = NULL;
+  if (oclass->in_plugin->type == AVMEDIA_TYPE_VIDEO) {
+    ffmpegdec->context->get_buffer = gst_ffmpegdec_get_buffer;
+    ffmpegdec->context->release_buffer = gst_ffmpegdec_release_buffer;
+    ffmpegdec->context->draw_horiz_band = NULL;
+  }
 
   /* default is to let format decide if it needs a parser */
   ffmpegdec->turnoff_parser = FALSE;