summaryrefslogtreecommitdiffstats
path: root/ext/ladspa/gstladspa.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ladspa/gstladspa.c')
-rw-r--r--ext/ladspa/gstladspa.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c
index 4ad7d3fd..0e75c41d 100644
--- a/ext/ladspa/gstladspa.c
+++ b/ext/ladspa/gstladspa.c
@@ -716,6 +716,7 @@ gst_ladspa_loop(GstElement *element)
guint num_processed, num_to_process;
GstEvent *event = NULL;
guint32 waiting;
+ guint32 got_bytes;
LADSPA_Data **data_in, **data_out;
GstBuffer **buffers_in, **buffers_out;
GstBufferPool *bufpool;
@@ -750,9 +751,9 @@ gst_ladspa_loop(GstElement *element)
/* first get all the necessary data from the input ports */
for (i=0 ; i<numsinkpads ; i++){
GST_DEBUG (0, "pulling %u bytes through channel %d'sbytestream", bufferbytesize, i);
- buffers_in[i] = gst_bytestream_read (bytestreams[i], bufferbytesize);
+ got_bytes = gst_bytestream_read (bytestreams[i], buffers_in + i, bufferbytesize);
- if (buffers_in[i] == NULL) {
+ if (got_bytes != bufferbytesize) {
/* we need to check for an event. */
gst_bytestream_get_status (bytestreams[i], &waiting, &event);