~ubuntu-branches/ubuntu/saucy/gstreamer0.10/saucy

« back to all changes in this revision

Viewing changes to gst/gstbuffer.h

  • Committer: Package Import Robot
  • Author(s): Sebastian Dröge
  • Date: 2011-12-11 18:52:12 UTC
  • mfrom: (32.1.14 experimental)
  • Revision ID: package-import@ubuntu.com-20111211185212-3k215ps4qtyz2qa5
Tags: 0.10.35.2-1
* New upstream pre-release:
  + debian/control.in:
    - Build-depend on GLib >= 2.24.
  + debian/patches/99_ltmain_as-needed.patch:
    - Refreshed to apply cleanly again.
  + debian/libgstreamer.symbols:
    - Update symbols file with new API.
* debian/rules:
  + Remove all dependency_libs from the .la files (Closes: #633319).
* debian/control.in:
  + Put GI package into section introspection.
* debian/compat,
  debian/control.in,
  debian/gir1.2-gstreamer.install,
  debian/libgstreamer-dev.install,
  debian/libgstreamer.install,
  debian/patches/79_multiarch-backwards-compat.patch,
  debian/patches/80_ia32-hack.patch,
  debian/rules:
  + Transition package to multi-arch (Closes: #647481).
    Patch taken from the Ubuntu package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
 
33
33
typedef struct _GstBuffer GstBuffer;
34
34
typedef struct _GstBufferClass GstBufferClass;
 
35
typedef struct _GstBufferPrivate GstBufferPrivate;
35
36
 
36
37
/**
37
38
 * GST_BUFFER_TRACE_NAME:
288
289
  GstBuffer             *parent;
289
290
 
290
291
  /*< private >*/
291
 
  gpointer _gst_reserved[GST_PADDING - 2];
 
292
  GstBufferPrivate      *priv;
 
293
  gpointer _gst_reserved[GST_PADDING - 3];
292
294
};
293
295
 
294
296
struct _GstBufferClass {
298
300
GType       gst_buffer_get_type (void);
299
301
 
300
302
/* allocation */
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;
304
306
 
305
307
/**
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
 
398
 *    (Since 0.10.36)
395
399
 *
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.
401
405
typedef enum {
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;
406
411
 
407
412
/**
412
417
 *
413
418
 * Since: 0.10.13
414
419
 */
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))
416
421
 
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);
448
453
 
 
454
/* per-buffer user data */
 
455
 
 
456
void                  gst_buffer_set_qdata (GstBuffer     * buffer,
 
457
                                            GQuark          quark,
 
458
                                            GstStructure  * data);
 
459
 
 
460
const GstStructure *  gst_buffer_get_qdata (GstBuffer     * buffer,
 
461
                                            GQuark          quark);
 
462
 
 
463
 
 
464
 
449
465
/**
450
466
 * gst_buffer_replace:
451
467
 * @obuf: (inout) (transfer full): pointer to a pointer to a #GstBuffer to be
460
476
 *
461
477
 * Either @nbuf or the #GstBuffer pointed to by @obuf may be NULL.
462
478
 */
463
 
#define         gst_buffer_replace(obuf,nbuf) \
464
 
G_STMT_START {                                                                \
465
 
  GstBuffer **___obufaddr = (GstBuffer **)(obuf);         \
466
 
  gst_mini_object_replace ((GstMiniObject **)___obufaddr, \
467
 
      GST_MINI_OBJECT_CAST (nbuf));                       \
468
 
} G_STMT_END
 
479
#ifdef _FOOL_GTK_DOC_
 
480
G_INLINE_FUNC void gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf);
 
481
#endif
 
482
 
 
483
static inline void
 
484
gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf)
 
485
{
 
486
  gst_mini_object_replace ((GstMiniObject **) obuf, (GstMiniObject *) nbuf);
 
487
}
469
488
 
470
489
GstCaps*        gst_buffer_get_caps             (GstBuffer *buffer);
471
490
void            gst_buffer_set_caps             (GstBuffer *buffer, GstCaps *caps);
472
491
 
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;
475
494
 
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;
479
498
 
480
499
/**
481
500
 * gst_value_set_buffer: