diff options
author | Steve Baker <steve@stevebaker.org> | 2002-05-15 19:08:49 +0000 |
---|---|---|
committer | Steve Baker <steve@stevebaker.org> | 2002-05-15 19:08:49 +0000 |
commit | 163076dd9e52834c5afeccb77e419b3215ae8aeb (patch) | |
tree | ee5d009c9a63b3fc668d99f8f0476c6a358a744d | |
parent | c622ee22a845296ab4454fc3ad8173f015148380 (diff) |
use new bytestream api
Original commit message from CVS:
use new bytestream api
-rw-r--r-- | ext/ladspa/gstladspa.c | 5 | ||||
-rw-r--r-- | gst/flx/gstflxdec.c | 5 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 9 |
3 files changed, 11 insertions, 8 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); diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c index 66079ab3..1354139d 100644 --- a/gst/flx/gstflxdec.c +++ b/gst/flx/gstflxdec.c @@ -435,11 +435,12 @@ static GstBuffer* flx_get_data(GstFlxDec *flxdec, gulong size) { GstBuffer *retbuf; + guint32 got_bytes; g_return_val_if_fail (flxdec != NULL, NULL); - retbuf = gst_bytestream_read (flxdec->bs, size); - if (!retbuf) { + got_bytes = gst_bytestream_read (flxdec->bs, &retbuf, size); + if (got_bytes < size) { GstEvent *event; guint32 remaining; diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 31c3f2da..968ed1ab 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -362,7 +362,7 @@ gst_qtp_read_bytes_atom_head(GstQTDemux * qtdemux,GstQtpAtom * atom) /* FIXME this can't be right, rewrite with _read */ do { /* do ... while (event()) is necessary for bytestream events */ if (!amh) { - if ((amh = (GstQtpAtomMinHeader*) gst_bytestream_peek_bytes (bs, 8))) { + if (gst_bytestream_peek_bytes (bs, (guint8**)&amh, 8) == 8) { atom->size = GUINT32_FROM_BE(amh->size); atom->type = amh->type; /* don't need to turn this around magicly FIXME this can depend on endiannes */ atom->start = qtdemux->bs_pos; @@ -372,7 +372,7 @@ gst_qtp_read_bytes_atom_head(GstQTDemux * qtdemux,GstQtpAtom * atom) } if (amh) { if (atom->size == 1) { /* need to peek extended size field */ - if ((esize = (guint64*) gst_bytestream_peek_bytes (bs, 8))) { + if (gst_bytestream_peek_bytes (bs, (guint8**)&esize, 8) == 8) { atom->size = GUINT64_FROM_BE(*esize); gst_bytestream_flush (bs, 8); qtdemux->bs_pos += 8; @@ -391,8 +391,9 @@ gst_qtp_read_bytes(GstQTDemux * qtdemux, void * buffer, size_t size) { void * data; GstByteStream * bs = qtdemux->bs; + do { - if ((data = gst_bytestream_peek_bytes (bs,size))) { + if (gst_bytestream_peek_bytes (bs, (guint8**)&data, size) == size) { memcpy(buffer,data,size); gst_bytestream_flush(bs,size); qtdemux->bs_pos += size; @@ -407,7 +408,7 @@ gst_qtp_read(GstQTDemux * qtdemux, size_t size) GstBuffer * buf; GstByteStream * bs = qtdemux->bs; do { - if ((buf = gst_bytestream_read (bs,size))) { + if (gst_bytestream_read (bs, &buf, size) == size) { qtdemux->bs_pos += size; return buf; } |