summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2014-06-13 10:04:47 +0100
committerTim-Philipp Müller <tim@centricular.com>2014-06-27 20:18:12 +0100
commit022b418b6962b209d581ba1ef92ec82eed26d8d0 (patch)
tree1a654b07d009000c073ac9adf4fba337b4db32b4
parent8dc801ba63d168eaf802be4d59fb2edaa28b4bfe (diff)
downloadgstreamer-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.c12
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:
{