From: Tim-Philipp Müller Date: Wed, 26 Sep 2007 13:40:35 +0000 (+0000) Subject: ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_ca... X-Git-Tag: 1.19.3~505^2~1681 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6370d24f998dccb4574f04d9eb38ee31ee223459;p=platform%2Fupstream%2Fgstreamer.git ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL. Original commit message from CVS: * ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL. --- diff --git a/ChangeLog b/ChangeLog index 892739b..86bc96c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-09-26 Tim-Philipp Müller + + * ext/lame/gstlame.c: + Fix up case where there is no peer, in which case + _get_allowed_caps() will return NULL. + 2007-09-25 Tim-Philipp Müller * ext/lame/gstlame.c: diff --git a/ext/lame/gstlame.c b/ext/lame/gstlame.c index 7986721..a341ef5 100644 --- a/ext/lame/gstlame.c +++ b/ext/lame/gstlame.c @@ -1162,9 +1162,7 @@ gst_lame_setup (GstLame * lame) }G_STMT_END int retval; - GstCaps *src_caps; - GstStructure *structure; - gint samplerate; + GstCaps *allowed_caps; GST_DEBUG_OBJECT (lame, "starting setup"); @@ -1185,15 +1183,24 @@ gst_lame_setup (GstLame * lame) lame_set_in_samplerate (lame->lgf, lame->samplerate); /* let lame choose default samplerate unless outgoing sample rate is fixed */ - src_caps = gst_pad_get_allowed_caps (lame->srcpad); - structure = gst_caps_get_structure (src_caps, 0); + allowed_caps = gst_pad_get_allowed_caps (lame->srcpad); + + if (allowed_caps != NULL) { + GstStructure *structure; + gint samplerate; - if (gst_structure_get_int (structure, "rate", &samplerate)) { - GST_DEBUG_OBJECT (lame, "Setting sample rate to %d as fixed in src caps", - samplerate); - lame_set_out_samplerate (lame->lgf, samplerate); + structure = gst_caps_get_structure (allowed_caps, 0); + + if (gst_structure_get_int (structure, "rate", &samplerate)) { + GST_DEBUG_OBJECT (lame, "Setting sample rate to %d as fixed in src caps", + samplerate); + lame_set_out_samplerate (lame->lgf, samplerate); + } else { + GST_DEBUG_OBJECT (lame, "Letting lame choose sample rate"); + lame_set_out_samplerate (lame->lgf, 0); + } } else { - GST_DEBUG_OBJECT (lame, "Letting lame choose sample rate"); + GST_DEBUG_OBJECT (lame, "No peer yet, letting lame choose sample rate"); lame_set_out_samplerate (lame->lgf, 0); }