Input and output samplerate are *not* necessarily the same in lame. This fixes the output caps

Original commit message from CVS:
Input and output samplerate are *not* necessarily the same in lame. This fixes the output caps
This commit is contained in:
Ronald S. Bultje 2003-09-30 19:48:39 +00:00
parent e68dbca275
commit dfcb09811b

View file

@ -351,6 +351,7 @@ static GstPadLinkReturn
gst_lame_sinkconnect (GstPad *pad, GstCaps *caps) gst_lame_sinkconnect (GstPad *pad, GstCaps *caps)
{ {
GstLame *lame; GstLame *lame;
gint out_samplerate;
lame = GST_LAME (gst_pad_get_parent (pad)); lame = GST_LAME (gst_pad_get_parent (pad));
@ -369,12 +370,13 @@ gst_lame_sinkconnect (GstPad *pad, GstCaps *caps)
return GST_PAD_LINK_REFUSED; return GST_PAD_LINK_REFUSED;
} }
out_samplerate = lame_get_out_samplerate (lame->lgf);
caps = GST_CAPS_NEW ("lame_src_caps", caps = GST_CAPS_NEW ("lame_src_caps",
"audio/mpeg", "audio/mpeg",
"mpegversion", GST_PROPS_INT (1), "mpegversion", GST_PROPS_INT (1),
"layer", GST_PROPS_INT (3), "layer", GST_PROPS_INT (3),
"channels", GST_PROPS_INT (lame->num_channels), "channels", GST_PROPS_INT (lame->num_channels),
"rate", GST_PROPS_INT (lame->samplerate)); "rate", GST_PROPS_INT (out_samplerate));
return gst_pad_try_set_caps (lame->srcpad, caps); return gst_pad_try_set_caps (lame->srcpad, caps);
} }