Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > d9b1249c4f7d9d151244479d37177eb3 > files > 3

gstreamer1.0-libav-1.1-0.f42ff3194110b8d2f16b234470e4cce1e4c13de7.1.mga3.src.rpm

diff -up gst-libav-f42ff3194110b8d2f16b234470e4cce1e4c13de7/ext/libav/gstavaudenc.c.crash gst-libav-f42ff3194110b8d2f16b234470e4cce1e4c13de7/ext/libav/gstavaudenc.c
--- gst-libav-f42ff3194110b8d2f16b234470e4cce1e4c13de7/ext/libav/gstavaudenc.c.crash	2013-02-12 11:22:11.000000000 +0100
+++ gst-libav-f42ff3194110b8d2f16b234470e4cce1e4c13de7/ext/libav/gstavaudenc.c	2013-02-24 21:23:17.524265041 +0100
@@ -268,13 +268,17 @@ gst_ffmpegaudenc_set_format (GstAudioEnc
   ffmpegaudenc->context->scenechange_threshold = 0;
   ffmpegaudenc->context->inter_threshold = 0;
 
-  /* fetch pix_fmt and so on */
+  /* fetch sample_fmt and so on */
+  /* hack: set context->codec so gst_ffmpeg_audioinfo_to_context() works */
+  ffmpegaudenc->context->codec = oclass->in_plugin;
   gst_ffmpeg_audioinfo_to_context (info, ffmpegaudenc->context);
   if (!ffmpegaudenc->context->time_base.den) {
     ffmpegaudenc->context->time_base.den = GST_AUDIO_INFO_RATE (info);
     ffmpegaudenc->context->time_base.num = 1;
     ffmpegaudenc->context->ticks_per_frame = 1;
   }
+  /* hack: now set context->codec to NULL, which we hope was the original value */
+  ffmpegaudenc->context->codec = NULL;
 
   if (ffmpegaudenc->context->channel_layout) {
     gst_ffmpeg_channel_layout_to_gst (ffmpegaudenc->context->channel_layout,