298
300
GType gst_buffer_get_type (void);
301
GstBuffer * gst_buffer_new (void);
302
GstBuffer * gst_buffer_new_and_alloc (guint size);
303
GstBuffer * gst_buffer_try_new_and_alloc (guint size);
303
GstBuffer * gst_buffer_new (void) G_GNUC_MALLOC;
304
GstBuffer * gst_buffer_new_and_alloc (guint size) G_GNUC_MALLOC;
305
GstBuffer * gst_buffer_try_new_and_alloc (guint size) G_GNUC_MALLOC;
306
308
* gst_buffer_set_data:
392
394
* @GST_BUFFER_COPY_TIMESTAMPS: flag indicating that buffer timestamp, duration,
393
395
* offset and offset_end should be copied
394
396
* @GST_BUFFER_COPY_CAPS: flag indicating that buffer caps should be copied
397
* @GST_BUFFER_COPY_QDATA: flag indicating that buffer qdata should be copied
396
400
* A set of flags that can be provided to the gst_buffer_copy_metadata()
397
401
* function to specify which metadata fields should be copied.
402
406
GST_BUFFER_COPY_FLAGS = (1 << 0),
403
407
GST_BUFFER_COPY_TIMESTAMPS = (1 << 1),
404
GST_BUFFER_COPY_CAPS = (1 << 2)
408
GST_BUFFER_COPY_CAPS = (1 << 2),
409
GST_BUFFER_COPY_QDATA = (1 << 3)
405
410
} GstBufferCopyFlags;
415
#define GST_BUFFER_COPY_ALL (GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_CAPS)
420
#define GST_BUFFER_COPY_ALL ((GstBufferCopyFlags) (GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_CAPS | GST_BUFFER_COPY_QDATA))
417
422
/* copies metadata into newly allocated buffer */
418
423
void gst_buffer_copy_metadata (GstBuffer *dest, const GstBuffer *src,
446
451
gboolean gst_buffer_is_metadata_writable (GstBuffer *buf);
447
452
GstBuffer* gst_buffer_make_metadata_writable (GstBuffer *buf);
454
/* per-buffer user data */
456
void gst_buffer_set_qdata (GstBuffer * buffer,
458
GstStructure * data);
460
const GstStructure * gst_buffer_get_qdata (GstBuffer * buffer,
450
466
* gst_buffer_replace:
451
467
* @obuf: (inout) (transfer full): pointer to a pointer to a #GstBuffer to be
461
477
* Either @nbuf or the #GstBuffer pointed to by @obuf may be NULL.
463
#define gst_buffer_replace(obuf,nbuf) \
465
GstBuffer **___obufaddr = (GstBuffer **)(obuf); \
466
gst_mini_object_replace ((GstMiniObject **)___obufaddr, \
467
GST_MINI_OBJECT_CAST (nbuf)); \
479
#ifdef _FOOL_GTK_DOC_
480
G_INLINE_FUNC void gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf);
484
gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf)
486
gst_mini_object_replace ((GstMiniObject **) obuf, (GstMiniObject *) nbuf);
470
489
GstCaps* gst_buffer_get_caps (GstBuffer *buffer);
471
490
void gst_buffer_set_caps (GstBuffer *buffer, GstCaps *caps);
473
492
/* creating a subbuffer */
474
GstBuffer* gst_buffer_create_sub (GstBuffer *parent, guint offset, guint size);
493
GstBuffer* gst_buffer_create_sub (GstBuffer *parent, guint offset, guint size) G_GNUC_MALLOC;
476
495
/* span, two buffers, intelligently */
477
496
gboolean gst_buffer_is_span_fast (GstBuffer *buf1, GstBuffer *buf2);
478
GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2, guint32 len);
497
GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2, guint32 len) G_GNUC_MALLOC;
481
500
* gst_value_set_buffer: