added sanity checks to make sure _push and _pull don't get called on pads of the...
authorErik Walthinsen <omega@temple-baptist.org>
Wed, 30 May 2001 20:13:34 +0000 (20:13 +0000)
committerErik Walthinsen <omega@temple-baptist.org>
Wed, 30 May 2001 20:13:34 +0000 (20:13 +0000)
Original commit message from CVS:
added sanity checks to make sure _push and _pull don't get called on pads of the wrong direction

gst/gstpad.c

index 56dea947407adb7dd423c84990160dd069856c50..4489d21f468cc0a921b5863536deba3af84d90ba 100644 (file)
@@ -1455,7 +1455,8 @@ gst_pad_push (GstPad *pad, GstBuffer *buf)
 
   GST_DEBUG_ENTER ("(%s:%s)", GST_DEBUG_PAD_NAME (pad));
 
-  g_return_if_fail (peer != NULL);  
+  g_return_if_fail (GST_PAD_DIRECTION (pad) != GST_PAD_SRC);
+  g_return_if_fail (peer != NULL);
   
   if (peer->pushfunc) {
     GST_DEBUG (GST_CAT_DATAFLOW, "calling pushfunc &%s of peer pad %s:%s\n",
@@ -1482,6 +1483,7 @@ gst_pad_pull (GstPad *pad)
   
   GST_DEBUG_ENTER("(%s:%s)",GST_DEBUG_PAD_NAME(pad));
 
+  g_return_val_if_fail (GST_PAD_DIRECTION (pad) != GST_PAD_SINK, NULL);
   g_return_val_if_fail (peer != NULL, NULL);
 
   if (peer->pullfunc) {
@@ -1515,6 +1517,7 @@ gst_pad_pullregion (GstPad *pad, GstRegionType type, guint64 offset, guint64 len
 {
   GstRealPad *peer = GST_RPAD_PEER(pad);
   
+  g_return_val_if_fail (GST_PAD_DIRECTION (pad) != GST_PAD_SINK, NULL);
   g_return_val_if_fail (peer != NULL, NULL);
 
   GST_DEBUG_ENTER("(%s:%s,%d,%lld,%lld)",GST_DEBUG_PAD_NAME(pad),type,offset,len);