diff --git a/ChangeLog b/ChangeLog index 121a7fb30c..3f2af10d75 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-10-17 Tim-Philipp Müller + + * ext/gconf/gstswitchsink.c: + * gst/autodetect/gstautoaudiosink.c: + Use new gst_bus_pop_filtered(). + 2007-10-13 Tim-Philipp Müller * sys/v4l2/gstv4l2src.c: diff --git a/ext/gconf/gstswitchsink.c b/ext/gconf/gstswitchsink.c index bc09f9426a..d8da2ae01a 100644 --- a/ext/gconf/gstswitchsink.c +++ b/ext/gconf/gstswitchsink.c @@ -165,13 +165,10 @@ gst_switch_commit_new_kid (GstSwitchSink * sink) /* check if child posted an error message and if so re-post it on our bus * so that the application gets to see a decent error and not our generic * fallback error message which is completely indecipherable to the user */ - while ((msg = gst_bus_pop (GST_ELEMENT_BUS (new_kid)))) { - if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) { - GST_INFO_OBJECT (sink, "Forwarding kid error: %" GST_PTR_FORMAT, msg); - gst_element_post_message (GST_ELEMENT (sink), msg); - break; - } - gst_message_unref (msg); + msg = gst_bus_pop_filtered (GST_ELEMENT_BUS (new_kid), GST_MESSAGE_ERROR); + if (msg) { + GST_INFO_OBJECT (sink, "Forwarding kid error: %" GST_PTR_FORMAT, msg); + gst_element_post_message (GST_ELEMENT (sink), msg); } /* FIXME: need a translated error message that tells the user to check * her GConf audio/video settings */ diff --git a/gst/autodetect/gstautoaudiosink.c b/gst/autodetect/gstautoaudiosink.c index c3dc052b6b..8ab5f407e5 100644 --- a/gst/autodetect/gstautoaudiosink.c +++ b/gst/autodetect/gstautoaudiosink.c @@ -235,13 +235,9 @@ gst_auto_audio_sink_find_best (GstAutoAudioSink * sink) } /* collect all error messages */ - while ((message = gst_bus_pop (bus))) { - if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ERROR) { - GST_DEBUG_OBJECT (sink, "error message %" GST_PTR_FORMAT, message); - errors = g_slist_append (errors, message); - } else { - gst_message_unref (message); - } + while ((message = gst_bus_pop_filtered (bus, GST_MESSAGE_ERROR))) { + GST_DEBUG_OBJECT (sink, "error message %" GST_PTR_FORMAT, message); + errors = g_slist_append (errors, message); } gst_element_set_state (el, GST_STATE_NULL);