diff options
author | blake tregre <blake@oblong.com> | 2011-10-31 18:56:23 -0700 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2012-03-17 14:24:51 -0700 |
commit | e37ce96b2c2a231f82f570892607a0aeed1f4edf (patch) | |
tree | 2238f5e94caba3a6ed423d90b344000db7f96e59 /sys | |
parent | 7cd0ac046ab13bd839ad108e82922a7a92fbd263 (diff) | |
download | gstreamer-plugins-bad-e37ce96b2c2a231f82f570892607a0aeed1f4edf.tar.gz |
decklinksrc: handle flow return properly and provide better message
* sys/decklink/gstdecklinksrc.cpp:
Diffstat (limited to 'sys')
-rw-r--r-- | sys/decklink/gstdecklinksrc.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sys/decklink/gstdecklinksrc.cpp b/sys/decklink/gstdecklinksrc.cpp index a6c5d89f4..37a306ce1 100644 --- a/sys/decklink/gstdecklinksrc.cpp +++ b/sys/decklink/gstdecklinksrc.cpp @@ -1269,8 +1269,12 @@ gst_decklink_src_task (void *priv) gst_buffer_set_caps (buffer, decklinksrc->video_caps); ret = gst_pad_push (decklinksrc->videosrcpad, buffer); - if (ret != GST_FLOW_OK) { - GST_ELEMENT_ERROR (decklinksrc, CORE, NEGOTIATION, (NULL), (NULL)); + if (! (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED || + ret == GST_FLOW_WRONG_STATE)) { + GST_ELEMENT_ERROR (decklinksrc, STREAM, FAILED, + ("Internal data stream error."), + ("stream stopped, reason %s", + gst_flow_get_name (ret))); } if (gst_pad_is_linked (decklinksrc->audiosrcpad)) { @@ -1299,8 +1303,12 @@ gst_decklink_src_task (void *priv) gst_buffer_set_caps (audio_buffer, decklinksrc->audio_caps); ret = gst_pad_push (decklinksrc->audiosrcpad, audio_buffer); - if (ret != GST_FLOW_OK) { - GST_ELEMENT_ERROR (decklinksrc, CORE, NEGOTIATION, (NULL), (NULL)); + if (! (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED || + ret == GST_FLOW_WRONG_STATE)) { + GST_ELEMENT_ERROR (decklinksrc, STREAM, FAILED, + ("Internal data stream error."), + ("stream stopped, reason %s", + gst_flow_get_name (ret))); } } audio_frame->Release (); |