summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2010-01-29 13:56:05 (GMT)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2010-01-30 15:41:32 (GMT)
commit16601b09fe8704ba0f80465fe788a36d17caff91 (patch)
tree99bdc330fa25f22b8c891b57198a573382354d31
parent74ccf8d7b9a83e4171d1743a97897ba69d42111e (diff)
playbin2: when no uri is set, post an error message
When no uri is set, don't just return STATE_CHANGE_FAILURE from the state change function, but actually post an error message.
-rw-r--r--gst/playback/gstplaybin2.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index 10b477b..c143c51 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -2473,8 +2473,8 @@ _playsink_sink_event_probe_cb (GstPad * pad, GstEvent * event,
if (format != GST_FORMAT_TIME)
data->group->selector[data->type].group_start_accum = GST_CLOCK_TIME_NONE;
- else if (!GST_CLOCK_TIME_IS_VALID (data->group->selector[data->
- type].group_start_accum))
+ else if (!GST_CLOCK_TIME_IS_VALID (data->group->selector[data->type].
+ group_start_accum))
data->group->selector[data->type].group_start_accum = segment->accum;
} else if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) {
gst_segment_init (&data->playbin->segments[index], GST_FORMAT_UNDEFINED);
@@ -3484,6 +3484,8 @@ setup_next_source (GstPlayBin * playbin, GstState target)
no_next_group:
{
GST_DEBUG_OBJECT (playbin, "no next group");
+ if (target == GST_STATE_READY && new_group && new_group->uri == NULL)
+ GST_ELEMENT_ERROR (playbin, RESOURCE, NOT_FOUND, ("No URI set"), (NULL));
GST_PLAY_BIN_UNLOCK (playbin);
return FALSE;
}