multiudpsink: Return FLUSHING instead of ERROR on unlock
authorOlivier Crête <olivier.crete@collabora.com>
Tue, 7 Aug 2012 18:14:21 +0000 (11:14 -0700)
committerOlivier Crête <olivier.crete@collabora.com>
Tue, 7 Aug 2012 18:31:32 +0000 (11:31 -0700)
If the base class asks multiudpsink to unlock, then it should return
FLUSHING, not ERROR

gst/udp/gstmultiudpsink.c

index dee3459e7b5d1eec8131f2da2a1fdbba0dd455bd..8db4db9ddb45cbb70d125f2a9f488731157f30b5 100644 (file)
@@ -537,10 +537,16 @@ no_data:
   }
 send_error:
   {
+    GstFlowReturn res = GST_FLOW_ERROR;
+
     g_mutex_unlock (&sink->client_lock);
     GST_DEBUG ("got send error %s", err->message);
+
+    if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+      res = GST_FLOW_FLUSHING;
+
     g_clear_error (&err);
-    return GST_FLOW_ERROR;
+    return res;
   }
 }