From: Andy Wingo Date: Wed, 25 Feb 2004 13:25:44 +0000 (+0000) Subject: gst/interleave/interleave.c (interleave_buffered_loop): Always push only when channel... X-Git-Tag: 1.19.3~511^2~14605 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cd8976a9eb8ba82d86cf07cce2f024bbbe0c9f65;p=platform%2Fupstream%2Fgstreamer.git gst/interleave/interleave.c (interleave_buffered_loop): Always push only when channel->buffer is NULL. Prevents segfa... Original commit message from CVS: 2004-02-25 Andy Wingo * gst/interleave/interleave.c (interleave_buffered_loop): Always push only when channel->buffer is NULL. Prevents segfaults doing the state change after a nonlocal exit, like a scheme exception. * gst/audioconvert/gstaudioconvert.c (gst_audio_convert_getcaps): Handle the case where the intersected caps is empty. --- diff --git a/ChangeLog b/ChangeLog index 04f6706..0230c5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-02-25 Andy Wingo + + * gst/interleave/interleave.c (interleave_buffered_loop): Always + push only when channel->buffer is NULL. Prevents segfaults doing + the state change after a nonlocal exit, like a scheme exception. + + * gst/audioconvert/gstaudioconvert.c (gst_audio_convert_getcaps): + Handle the case where the intersected caps is empty. + 2004-02-25 Thomas Vander Stichele * gst/law/mulaw-decode.c: (mulawdec_link): diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c index 41faf57..b354f43 100644 --- a/gst/audioconvert/gstaudioconvert.c +++ b/gst/audioconvert/gstaudioconvert.c @@ -293,12 +293,6 @@ gst_audio_convert_chain_int2float (GstPad *pad, GstData *data) /* we know we're negotiated, because it's the link function that set the custom chain handler */ - /* FIXME: this runs into scheduling problems if the next element is loop-based - * (the bufpen fills up until infinity because we push multiple buffers per - * chain, in the normal situation). The fix is either to make the opt - * scheduler choose the loop group as its entry, or to make this a loop - * plugin. But I want to commit, will fix this later. */ - /** * Theory of operation: * - convert the format (endianness, signedness, width, depth) to @@ -397,7 +391,7 @@ gst_audio_convert_getcaps (GstPad *pad) GstCaps *othercaps, *caps; const GstCaps *templcaps; gboolean has_float = FALSE, has_int = FALSE; - int i; + int i, size; g_return_val_if_fail(GST_IS_PAD(pad), NULL); g_return_val_if_fail(GST_IS_AUDIO_CONVERT(GST_OBJECT_PARENT (pad)), NULL); @@ -409,7 +403,9 @@ gst_audio_convert_getcaps (GstPad *pad) templcaps = gst_pad_get_pad_template_caps (pad); othercaps = gst_pad_get_allowed_caps (otherpad); - for (i=0;i