set correct buffer durations in mp3parse, set default_duration in matroskamux for...
authorArwed v. Merkatz <v.merkatz@gmx.net>
Mon, 6 Dec 2004 19:32:33 +0000 (19:32 +0000)
committerArwed v. Merkatz <v.merkatz@gmx.net>
Mon, 6 Dec 2004 19:32:33 +0000 (19:32 +0000)
Original commit message from CVS:
set correct buffer durations in mp3parse, set default_duration in matroskamux for mpeg1 audio

ChangeLog
gst/mpegaudioparse/gstmpegaudioparse.c

index d04f64d..12c053a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-12-06  Arwed v. Merkatz <v.merkatz@gmx.net>
+
+       * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
+         set BUFFER_DURATION to correct values (mpeg1 audio frame length is fixed)
+       * gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link):
+         set default_duration for mpeg1 audio
+
 2004-12-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
 
        * ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_close_audio):
index 98fce11..8e77aca 100644 (file)
@@ -417,9 +417,11 @@ gst_mp3parse_chain (GstPad * pad, GstData * _data)
             mp3parse->in_flush = FALSE;
           }
           GST_BUFFER_TIMESTAMP (outbuf) = last_ts;
-          GST_BUFFER_DURATION (outbuf) =
-              8 * (GST_SECOND / 1000) * GST_BUFFER_SIZE (outbuf) /
-              mp3parse->bit_rate;
+          if (mp3parse->layer == 1) {
+            GST_BUFFER_DURATION (outbuf) = 384 * GST_SECOND / mp3parse->rate;
+          } else {
+            GST_BUFFER_DURATION (outbuf) = 1152 * GST_SECOND / mp3parse->rate;
+          }
 
           if (GST_PAD_CAPS (mp3parse->srcpad) != NULL) {
             gst_pad_push (mp3parse->srcpad, GST_DATA (outbuf));