diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2014-06-13 10:04:47 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-06-27 20:18:12 +0100 |
commit | 022b418b6962b209d581ba1ef92ec82eed26d8d0 (patch) | |
tree | 1a654b07d009000c073ac9adf4fba337b4db32b4 | |
parent | 8dc801ba63d168eaf802be4d59fb2edaa28b4bfe (diff) | |
download | gstreamer-plugins-base-022b418b6962b209d581ba1ef92ec82eed26d8d0.tar.gz |
tcpclientsrc: return FLUSHING when select() is canceled
https://bugzilla.gnome.org/show_bug.cgi?id=731567
-rw-r--r-- | gst/tcp/gsttcpclientsrc.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gst/tcp/gsttcpclientsrc.c b/gst/tcp/gsttcpclientsrc.c index d3668b9f7..633665bfb 100644 --- a/gst/tcp/gsttcpclientsrc.c +++ b/gst/tcp/gsttcpclientsrc.c @@ -276,10 +276,16 @@ done: select_error: { - GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), - ("Select failed: %s", err->message)); + if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { + GST_DEBUG_OBJECT (src, "Cancelled"); + ret = GST_FLOW_FLUSHING; + } else { + GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), + ("Select failed: %s", err->message)); + ret = GST_FLOW_ERROR; + } g_clear_error (&err); - return GST_FLOW_ERROR; + return ret; } get_available_error: { |