From e8f897794b73fbeb1de52a380e7387b1abd762c6 Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Thu, 12 Aug 2004 16:12:00 +0000 Subject: [PATCH] ext/lame/gstlame.c: made source pad link function check if sinkpad is ok..fixes the problem where core fixates the ou... Original commit message from CVS: 2004-08-12 Zaheer Abbas Merali * ext/lame/gstlame.c: (gst_lame_src_link): made source pad link function check if sinkpad is ok..fixes the problem where core fixates the output rate of lame stupidly --- ChangeLog | 6 ++++++ ext/lame/gstlame.c | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 32fd81d..4ff6cc6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-08-12 Zaheer Abbas Merali + + * ext/lame/gstlame.c: (gst_lame_src_link): + made source pad link function check if sinkpad is ok..fixes the problem + where core fixates the output rate of lame stupidly + 2004-08-12 Thomas Vander Stichele * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_src_link), (gst_v4lsrc_fixate): diff --git a/ext/lame/gstlame.c b/ext/lame/gstlame.c index ca06874..29d260a 100644 --- a/ext/lame/gstlame.c +++ b/ext/lame/gstlame.c @@ -353,7 +353,7 @@ gst_lame_src_link (GstPad * pad, const GstCaps * caps) GstLame *lame; gint out_samplerate; GstStructure *structure; - GstCaps *othercaps, *channelcaps; + GstCaps *othercaps, *channelcaps, *ratecaps; GstPadLinkReturn result; lame = GST_LAME (gst_pad_get_parent (pad)); @@ -363,6 +363,16 @@ gst_lame_src_link (GstPad * pad, const GstCaps * caps) !gst_structure_get_int (structure, "channels", &lame->num_channels)) g_return_val_if_reached (GST_PAD_LINK_REFUSED); + /* try sample rate */ + ratecaps = + gst_caps_new_simple ("audio/x-raw-int", + "channels", G_TYPE_INT, lame->num_channels, + "rate", G_TYPE_INT, out_samplerate, NULL); + result = gst_pad_try_set_caps (lame->srcpad, ratecaps); + gst_caps_free (ratecaps); + if (GST_PAD_LINK_FAILED (result)) + return result; + if (lame_set_out_samplerate (lame->lgf, out_samplerate) != 0) return GST_PAD_LINK_REFUSED; -- 2.7.4