gio: map GIO NO_SPACE error to NO_SPACE_LEFT
authorJonathan Matthew <jonathan@d14n.org>
Mon, 31 May 2010 09:28:45 +0000 (19:28 +1000)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 31 May 2010 13:57:28 +0000 (15:57 +0200)
Fixes bug #620140.

ext/gio/gstgiobasesink.c

index a2b34c3..40a64eb 100644 (file)
@@ -298,8 +298,13 @@ gst_gio_base_sink_render (GstBaseSink * base_sink, GstBuffer * buffer)
     GstFlowReturn ret;
 
     if (!gst_gio_error (sink, "g_output_stream_write", &err, &ret)) {
-      GST_ELEMENT_ERROR (sink, RESOURCE, WRITE, (NULL),
-          ("Could not write to stream: %s", err->message));
+      if (GST_GIO_ERROR_MATCHES (err, NO_SPACE)) {
+        GST_ELEMENT_ERROR (sink, RESOURCE, NO_SPACE_LEFT, (NULL),
+            ("Could not write to stream: %s", err->message));
+      } else {
+        GST_ELEMENT_ERROR (sink, RESOURCE, WRITE, (NULL),
+            ("Could not write to stream: %s", err->message));
+      }
       g_clear_error (&err);
     }