mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-14 05:12:09 +00:00
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 <manauw at syknet dot be> * 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.
This commit is contained in:
parent
ead8e9facf
commit
0e62059993
1 changed files with 3 additions and 3 deletions
|
@ -550,7 +550,7 @@ gst_lame_sink_setcaps (GstPad * pad, GstCaps * caps)
|
||||||
gst_caps_new_simple ("audio/mpeg",
|
gst_caps_new_simple ("audio/mpeg",
|
||||||
"mpegversion", G_TYPE_INT, 1,
|
"mpegversion", G_TYPE_INT, 1,
|
||||||
"layer", G_TYPE_INT, 3,
|
"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);
|
"rate", G_TYPE_INT, out_samplerate, NULL);
|
||||||
|
|
||||||
/* and use these caps */
|
/* 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) {
|
if (size > 0 && lame->last_flow == GST_FLOW_OK) {
|
||||||
gint64 duration;
|
gint64 duration;
|
||||||
|
|
||||||
duration = gst_util_uint64_scale_int (size, GST_SECOND,
|
duration = gst_util_uint64_scale_int (size, 8 * GST_SECOND,
|
||||||
2 * lame->samplerate * lame->num_channels);
|
1000 * lame->bitrate);
|
||||||
|
|
||||||
if (lame->last_ts == GST_CLOCK_TIME_NONE) {
|
if (lame->last_ts == GST_CLOCK_TIME_NONE) {
|
||||||
lame->last_ts = lame->eos_ts;
|
lame->last_ts = lame->eos_ts;
|
||||||
|
|
Loading…
Reference in a new issue