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;
/* 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);
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;
/* 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;
}
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;
{
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;
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;
}