diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gst/playback/gstplaybin2.c | 11 |
2 files changed, 13 insertions, 4 deletions
@@ -1,5 +1,11 @@ 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk> + * gst/playback/gstplaybin2.c: (deactivate_group): + don't try to unlink the selector sinkpad when we don't have it yet. This + can happen if an error occured before the group was complete. + +2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk> + * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data), (gst_rtp_buffer_set_packet_len), (gst_rtp_buffer_get_packet_len), (gst_rtp_buffer_get_header_len), (gst_rtp_buffer_get_version), diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c index a81e7fcb..1b33f822 100644 --- a/gst/playback/gstplaybin2.c +++ b/gst/playback/gstplaybin2.c @@ -2110,11 +2110,14 @@ deactivate_group (GstPlayBin * playbin, GstSourceGroup * group) continue; GST_DEBUG_OBJECT (playbin, "unlinking selector %s", select->media); - gst_pad_unlink (select->srcpad, select->sinkpad); - /* release back */ - gst_play_sink_release_pad (playbin->playsink, select->sinkpad); - select->sinkpad = NULL; + if (select->sinkpad) { + gst_pad_unlink (select->srcpad, select->sinkpad); + + /* release back */ + gst_play_sink_release_pad (playbin->playsink, select->sinkpad); + select->sinkpad = NULL; + } gst_object_unref (select->srcpad); select->srcpad = NULL; |