diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2008-11-25 16:26:16 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-11-25 16:26:16 +0000 |
commit | c25b0fcb9272712c67adc5d3855aa583b35c42d5 (patch) | |
tree | c89dd35d041d0019c3a82442ab381f3130543f3b /gst/autodetect/gstautoaudiosink.c | |
parent | 6ab4698b95bed4ca4032b791d84f26fd2e11224a (diff) |
gst/autodetect/: Post an error when we can't set the internal ghostpad target.
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_detect):
* gst/autodetect/gstautoaudiosrc.c: (gst_auto_audio_src_detect):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_reset),
(gst_auto_video_sink_detect):
* gst/autodetect/gstautovideosrc.c: (gst_auto_video_src_detect):
Post an error when we can't set the internal ghostpad target.
Diffstat (limited to 'gst/autodetect/gstautoaudiosink.c')
-rw-r--r-- | gst/autodetect/gstautoaudiosink.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gst/autodetect/gstautoaudiosink.c b/gst/autodetect/gstautoaudiosink.c index e3785390..4ed1ba9e 100644 --- a/gst/autodetect/gstautoaudiosink.c +++ b/gst/autodetect/gstautoaudiosink.c @@ -361,7 +361,9 @@ gst_auto_audio_sink_detect (GstAutoAudioSink * sink) /* attach ghost pad */ GST_DEBUG_OBJECT (sink, "Re-assigning ghostpad"); targetpad = gst_element_get_static_pad (sink->kid, "sink"); - gst_ghost_pad_set_target (GST_GHOST_PAD (sink->pad), targetpad); + if (!gst_ghost_pad_set_target (GST_GHOST_PAD (sink->pad), targetpad)) + goto target_failed; + gst_object_unref (targetpad); GST_DEBUG_OBJECT (sink, "done changing auto audio sink"); @@ -374,6 +376,13 @@ no_sink: ("Failed to find a supported audio sink")); return FALSE; } +target_failed: + { + GST_ELEMENT_ERROR (sink, LIBRARY, INIT, (NULL), + ("Failed to set target pad")); + gst_object_unref (targetpad); + return FALSE; + } } static GstStateChangeReturn |