GST_DEBUG_OBJECT (src, "Creating subbuffer from cached buffer: offset %"
G_GUINT64_FORMAT " length %u", offset, size);
- buf = gst_buffer_create_sub (src->cache,
+ buf = gst_buffer_copy_region (src->cache, GST_BUFFER_COPY_ALL,
offset - GST_BUFFER_OFFSET (src->cache), size);
GST_BUFFER_OFFSET (buf) = offset;
"cached buffer: offset %" G_GUINT64_FORMAT " length %u", offset,
size);
- buf = gst_buffer_create_sub (src->cache, 0, MIN (size, read));
+ buf =
+ gst_buffer_copy_region (src->cache, GST_BUFFER_COPY_ALL, 0, MIN (size,
+ read));
GST_BUFFER_OFFSET (buf) = offset;
GST_BUFFER_OFFSET_END (buf) = offset + MIN (size, read);
GstBuffer *out;
/* now output the raw vorbis header packets */
- out = gst_buffer_create_sub (buffer, offs, sizes[i]);
+ out = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, offs, sizes[i]);
gst_buffer_set_caps (out, outcaps);
gst_pad_push (ogg->srcpad, out);
GST_LOG_OBJECT (ogm, "[0x%02x] samples: %d, hdrbytes: %d, datasize: %d",
data[0], xsize, len, size - len - 1);
- sbuf = gst_buffer_create_sub (buf, len + 1, size - len - 1);
+ sbuf =
+ gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, len + 1,
+ size - len - 1);
if (GST_BUFFER_OFFSET_END_IS_VALID (buf))
ogm->next_granulepos = GST_BUFFER_OFFSET_END (buf);
/* make sure we don't read too much */
psize = MIN (psize, left);
- buf = gst_buffer_create_sub (buffer, offset, psize);
+ buf =
+ gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, offset, psize);
/* first buffer is a discont buffer */
if (offset == 2)
return GST_FLOW_OK;
}
buffer = gst_buffer_make_writable (buffer);
- gst_buffer_trim (buffer, diff_bytes, size - diff_bytes);
+ gst_buffer_resize (buffer, diff_bytes, size - diff_bytes);
GST_BUFFER_TIMESTAMP (buffer) += diff;
if (GST_BUFFER_DURATION_IS_VALID (buffer))
/* Get a writable buffer and apply all changes */
GST_DEBUG ("trim %" G_GSIZE_FORMAT " size %" G_GSIZE_FORMAT, trim, size);
- ret = gst_buffer_create_sub (buffer, trim, size);
+ ret = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, trim, size);
gst_buffer_unref (buffer);
GST_DEBUG ("timestamp %" GST_TIME_FORMAT, GST_TIME_ARGS (timestamp));
}
if (size)
- *chunk_data = gst_buffer_create_sub (buf, offset + 8, size);
+ *chunk_data =
+ gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, offset + 8, size);
else
*chunk_data = NULL;
strf->size = size;
}
if (sizeof (gst_riff_strf_vids) < size) {
- *data = gst_buffer_create_sub (buf, sizeof (gst_riff_strf_vids),
- size - sizeof (gst_riff_strf_vids));
+ *data =
+ gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL,
+ sizeof (gst_riff_strf_vids), size - sizeof (gst_riff_strf_vids));
}
gst_buffer_unref (buf);
len = bsize - 2 - sizeof (gst_riff_strf_auds);
}
if (len)
- *data = gst_buffer_create_sub (buf, sizeof (gst_riff_strf_auds) + 2, len);
+ *data = gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL,
+ sizeof (gst_riff_strf_auds) + 2, len);
}
/* debug */
if (len != -1 && len < plen)
plen = len;
- return gst_buffer_create_sub (rtp->buffer, poffset, plen);
+ return gst_buffer_copy_region (rtp->buffer, GST_BUFFER_COPY_ALL, poffset,
+ plen);
/* ERRORS */
wrong_offset:
G_GINT64_FORMAT " to %d offset %" G_GINT64_FORMAT,
bsize, boffset, out_size, out_offset);
- sub = gst_buffer_create_sub (buf, trim_start, out_size);
+ sub =
+ gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, trim_start,
+ out_size);
g_return_val_if_fail (sub != NULL, FALSE);
gst_buffer_unref (buf);
*buf_ref = buf = sub;
truncsize = truncsamples * audiorate->bytes_per_sample;
leftsize = in_size - truncsize;
- trunc = gst_buffer_create_sub (buf, truncsize, leftsize);
+ trunc =
+ gst_buffer_copy_region (buf, GST_BUFFER_COPY_ALL, truncsize,
+ leftsize);
gst_buffer_unref (buf);
buf = trunc;