avimux: set audio header rate according to calculated bps in stop_file
authorMark Nauwelaerts <mnauw@users.sourceforge.net>
Sun, 1 May 2016 13:09:27 +0000 (15:09 +0200)
committerMark Nauwelaerts <mnauw@users.sourceforge.net>
Sun, 1 May 2016 13:14:00 +0000 (15:14 +0200)
... now that set_fields is no longer called there by
e538608b3f90539003de21c1db238f3c9b946e30

gst/avi/gstavimux.c

index ed78c1f..6dc767f 100644 (file)
@@ -1830,6 +1830,9 @@ gst_avi_mux_stop_file (GstAviMux * avimux)
         audpad->auds.blockalign = audpad->max_audio_chunk;
       if (audpad->auds.blockalign == 0)
         audpad->auds.blockalign = 1;
+      /* note that hdr.rate is actually used by demux in cbr case */
+      if (avipad->hdr.scale <= 1)
+        avipad->hdr.rate = audpad->auds.av_bps / audpad->auds.blockalign;
       avimux->avi_hdr.max_bps += audpad->auds.av_bps;
       avipad->hdr.length = gst_util_uint64_scale (audpad->audio_time,
           avipad->hdr.rate, avipad->hdr.scale * GST_SECOND);