gst/audioconvert/gstaudioconvert.c: Post errors.
authorWim Taymans <wim.taymans@gmail.com>
Fri, 2 Dec 2005 10:17:35 +0000 (10:17 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 2 Dec 2005 10:17:35 +0000 (10:17 +0000)
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_transform):
Post errors.

ChangeLog
gst/audioconvert/gstaudioconvert.c

index a8cf083..09c01ea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-02  Wim Taymans  <wim@fluendo.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+       (gst_audio_convert_transform):
+       Post errors.
+
 === release 0.9.7 ===
 
 2005-12-01   <thomas (at) apestaart (dot) org>
index 303fa88..6e92ef2 100644 (file)
@@ -478,17 +478,34 @@ gst_audio_convert_transform (GstBaseTransform * base, GstBuffer * inbuf,
   /* and convert the samples */
   if (!(res = audio_convert_convert (&this->ctx, src, dst,
               samples, gst_buffer_is_writable (inbuf))))
-    goto error;
+    goto convert_error;
+
+  GST_BUFFER_SIZE (outbuf) = outsize;
 
   return GST_FLOW_OK;
 
   /* ERRORS */
 error:
   {
+    GST_ELEMENT_ERROR (this, STREAM, NOT_IMPLEMENTED,
+        ("cannot get input/output sizes for %d samples", samples),
+        ("cannot get input/output sizes for %d samples", samples));
     return GST_FLOW_ERROR;
   }
 wrong_size:
   {
+    GST_ELEMENT_ERROR (this, STREAM, NOT_IMPLEMENTED,
+        ("input/output buffers are of wrong size in: %d < %d or out: %d < %d",
+            GST_BUFFER_SIZE (inbuf), insize, GST_BUFFER_SIZE (outbuf), outsize),
+        ("input/output buffers are of wrong size in: %d < %d or out: %d < %d",
+            GST_BUFFER_SIZE (inbuf), insize, GST_BUFFER_SIZE (outbuf),
+            outsize));
+    return GST_FLOW_ERROR;
+  }
+convert_error:
+  {
+    GST_ELEMENT_ERROR (this, STREAM, NOT_IMPLEMENTED,
+        ("error while converting"), ("error while converting"));
     return GST_FLOW_ERROR;
   }
 }