summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/gconf/gstswitchsink.c11
-rw-r--r--gst/autodetect/gstautoaudiosink.c10
3 files changed, 13 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 121a7fb3..3f2af10d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-17 Tim-Philipp Müller <tim at centricular dot net>
+
+ * ext/gconf/gstswitchsink.c:
+ * gst/autodetect/gstautoaudiosink.c:
+ Use new gst_bus_pop_filtered().
+
2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
* sys/v4l2/gstv4l2src.c:
diff --git a/ext/gconf/gstswitchsink.c b/ext/gconf/gstswitchsink.c
index bc09f942..d8da2ae0 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 c3dc052b..8ab5f407 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);