From 44837797ae5516bcd8bcae869c65a52d650e1eeb Mon Sep 17 00:00:00 2001 From: Ilya Konstantinov Date: Thu, 9 Apr 2015 07:56:48 +0300 Subject: gst: improve error when agent/stream/component is unset https://bugs.freedesktop.org/show_bug.cgi?id=89962 --- gst/gstnicesink.c | 12 ++++++++++++ gst/gstnicesrc.c | 14 +++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gst/gstnicesink.c b/gst/gstnicesink.c index 49161c2..abbc039 100644 --- a/gst/gstnicesink.c +++ b/gst/gstnicesink.c @@ -555,6 +555,18 @@ gst_nice_sink_change_state (GstElement * element, GstStateChange transition) "Trying to start Nice sink without an agent set"); return GST_STATE_CHANGE_FAILURE; } + else if (sink->stream_id == 0) + { + GST_ERROR_OBJECT (element, + "Trying to start Nice sink without a stream set"); + return GST_STATE_CHANGE_FAILURE; + } + else if (sink->component_id == 0) + { + GST_ERROR_OBJECT (element, + "Trying to start Nice sink without a component set"); + return GST_STATE_CHANGE_FAILURE; + } break; case GST_STATE_CHANGE_READY_TO_PAUSED: case GST_STATE_CHANGE_PAUSED_TO_PLAYING: diff --git a/gst/gstnicesrc.c b/gst/gstnicesrc.c index a113406..f1e17c5 100644 --- a/gst/gstnicesrc.c +++ b/gst/gstnicesrc.c @@ -403,12 +403,24 @@ gst_nice_src_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_NULL_TO_READY: - if (src->agent == NULL || src->stream_id == 0 || src->component_id == 0) + if (src->agent == NULL) { GST_ERROR_OBJECT (element, "Trying to start Nice source without an agent set"); return GST_STATE_CHANGE_FAILURE; } + else if (src->stream_id == 0) + { + GST_ERROR_OBJECT (element, + "Trying to start Nice source without a stream set"); + return GST_STATE_CHANGE_FAILURE; + } + else if (src->component_id == 0) + { + GST_ERROR_OBJECT (element, + "Trying to start Nice source without a component set"); + return GST_STATE_CHANGE_FAILURE; + } else { nice_agent_attach_recv (src->agent, src->stream_id, src->component_id, -- cgit v1.2.1