From 96205bedb5214fd7103cc282222dfad616363656 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Mon, 14 Jan 2008 09:17:47 +0000 Subject: [PATCH] ext/lame/gstlame.c: Correctly set number of channels when using mono-encoding mode and fix the duration calculation o... Original commit message from CVS: Patch by: Mark Nauwelaerts * ext/lame/gstlame.c: (gst_lame_sink_setcaps), (gst_lame_sink_event): Correctly set number of channels when using mono-encoding mode and fix the duration calculation of the EOS buffer. --- ChangeLog | 9 +++++++++ ext/lame/gstlame.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 75d0a61..5e7a399 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2008-01-14 Sebastian Dröge + Patch by: Mark Nauwelaerts + + * ext/lame/gstlame.c: (gst_lame_sink_setcaps), + (gst_lame_sink_event): + Correctly set number of channels when using mono-encoding mode + and fix the duration calculation of the EOS buffer. + +2008-01-14 Sebastian Dröge + * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_handle_first_frame): Guard against 0 values in the Xing header as frame count and diff --git a/ext/lame/gstlame.c b/ext/lame/gstlame.c index a341ef5..cff4add 100644 --- a/ext/lame/gstlame.c +++ b/ext/lame/gstlame.c @@ -550,7 +550,7 @@ gst_lame_sink_setcaps (GstPad * pad, GstCaps * caps) gst_caps_new_simple ("audio/mpeg", "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 3, - "channels", G_TYPE_INT, lame->num_channels, + "channels", G_TYPE_INT, lame->mode == MONO ? 1 : lame->num_channels, "rate", G_TYPE_INT, out_samplerate, NULL); /* and use these caps */ @@ -974,8 +974,8 @@ gst_lame_sink_event (GstPad * pad, GstEvent * event) if (size > 0 && lame->last_flow == GST_FLOW_OK) { gint64 duration; - duration = gst_util_uint64_scale_int (size, GST_SECOND, - 2 * lame->samplerate * lame->num_channels); + duration = gst_util_uint64_scale_int (size, 8 * GST_SECOND, + 1000 * lame->bitrate); if (lame->last_ts == GST_CLOCK_TIME_NONE) { lame->last_ts = lame->eos_ts; -- 2.7.4