From 79cf59b7dda4ef3453aa42a39b1859ea804e0cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 13 Jun 2014 10:04:47 +0100 Subject: [PATCH] tcpclientsrc: return FLUSHING when select() is canceled https://bugzilla.gnome.org/show_bug.cgi?id=731567 --- gst/tcp/gsttcpclientsrc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gst/tcp/gsttcpclientsrc.c b/gst/tcp/gsttcpclientsrc.c index d3668b9f7f..633665bfbf 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: {