123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- {* GStreamer
- * Copyright (C) 1999,2000 Erik Walthinsen <[email protected]>
- * 2000 Wim Taymans <[email protected]>
- *
- * gstbuffer.h: Header for GstBuffer object
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *}
- Type
- P_GstBuffer = ^T_GstBuffer;
- P_GstParentBufferMeta = ^T_GstParentBufferMeta;
- P_GstReferenceTimestampMeta = ^T_GstReferenceTimestampMeta;
- PGBytes = ^TGBytes;
- Pgpointer = ^Tgpointer;
- Pgsize = ^Tgsize;
- PGstBuffer_autoptr = ^TGstBuffer_autoptr;
- PGstBuffer_listautoptr = ^TGstBuffer_listautoptr;
- PGstBuffer_queueautoptr = ^TGstBuffer_queueautoptr;
- PGstBuffer_slistautoptr = ^TGstBuffer_slistautoptr;
- PGstBufferCopyFlags = ^TGstBufferCopyFlags;
- PGstBufferFlags = ^TGstBufferFlags;
- PGstBufferPool_autoptr = ^TGstBufferPool_autoptr;
- PGstBufferPool_listautoptr = ^TGstBufferPool_listautoptr;
- PGstBufferPool_queueautoptr = ^TGstBufferPool_queueautoptr;
- PGstBufferPool_slistautoptr = ^TGstBufferPool_slistautoptr;
- PGstParentBufferMeta = ^TGstParentBufferMeta;
- PGstReferenceTimestampMeta = ^TGstReferenceTimestampMeta;
- {$IFDEF FPC}
- {$PACKRECORDS C}
- {$ENDIF}
- TGstBufferCopyFlags = (
- GST_BUFFER_COPY_NONE := 0,
- GST_BUFFER_COPY_FLAGS := 1 shl 0,
- GST_BUFFER_COPY_TIMESTAMPS := 1 shl 1,
- GST_BUFFER_COPY_META := 1 shl 2,
- GST_BUFFER_COPY_MEMORY := 1 shl 3,
- GST_BUFFER_COPY_MERGE := 1 shl 4,
- GST_BUFFER_COPY_DEEP_ := 1 shl 5
- );
- TGstBufferFlags = (
- GST_BUFFER_FLAG_LIVE := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 0,
- GST_BUFFER_FLAG_DECODE_ONLY := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 1,
- GST_BUFFER_FLAG_DISCONT := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 2,
- GST_BUFFER_FLAG_RESYNC := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 3,
- GST_BUFFER_FLAG_CORRUPTED := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 4,
- GST_BUFFER_FLAG_MARKER := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 5,
- GST_BUFFER_FLAG_HEADER := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 6,
- GST_BUFFER_FLAG_GAP := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 7,
- GST_BUFFER_FLAG_DROPPABLE := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 8,
- GST_BUFFER_FLAG_DELTA_UNIT := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 9,
- GST_BUFFER_FLAG_TAG_MEMORY := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 10,
- GST_BUFFER_FLAG_SYNC_AFTER := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 11,
- GST_BUFFER_FLAG_NON_DROPPABLE := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 12,
- GST_BUFFER_FLAG_LAST := ord(GST_MINI_OBJECT_FLAG_LAST ) shl 16
- );
- // T_GstBuffer moved to gstrec.inc
- T_GstParentBufferMeta = record
- parent : TGstMeta;
- buffer : PGstBuffer;
- end;
- TGstParentBufferMeta = T_GstParentBufferMeta;
- T_GstReferenceTimestampMeta = record
- parent : TGstMeta;
- reference : PGstCaps;
- timestamp : TGstClockTime;
- duration : TGstClockTime;
- end;
- TGstReferenceTimestampMeta = T_GstReferenceTimestampMeta;
- TGstBuffer_autoptr = PGstBuffer;
- TGstBuffer_listautoptr = PGList;
- TGstBuffer_slistautoptr = PGSList;
- TGstBuffer_queueautoptr = PGQueue;
- TGstBufferPool_autoptr = PGstBufferPool;
- TGstBufferPool_listautoptr = PGList;
- TGstBufferPool_slistautoptr = PGSList;
- TGstBufferPool_queueautoptr = PGQueue;
- function gst_buffer_get_type:TGType;cdecl;external gstreamerlib name 'gst_buffer_get_type';
- function gst_buffer_get_max_memory:Tguint;cdecl;external gstreamerlib name 'gst_buffer_get_max_memory';
- function gst_buffer_new:PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_new';
- function gst_buffer_new_allocate(allocator:PGstAllocator; size:Tgsize; params:PGstAllocationParams):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_new_allocate';
- function gst_buffer_new_wrapped_full(flags:TGstMemoryFlags; data:Tgpointer; maxsize:Tgsize; offset:Tgsize; size:Tgsize;
- user_data:Tgpointer; notify:TGDestroyNotify):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_new_wrapped_full';
- function gst_buffer_new_wrapped(data:Tgpointer; size:Tgsize):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_new_wrapped';
- function gst_buffer_new_wrapped_bytes(bytes:PGBytes):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_new_wrapped_bytes';
- function gst_buffer_n_memory(buffer:PGstBuffer):Tguint;cdecl;external gstreamerlib name 'gst_buffer_n_memory';
- procedure gst_buffer_insert_memory(buffer:PGstBuffer; idx:Tgint; mem:PGstMemory);cdecl;external gstreamerlib name 'gst_buffer_insert_memory';
- procedure gst_buffer_replace_memory_range(buffer:PGstBuffer; idx:Tguint; length:Tgint; mem:PGstMemory);cdecl;external gstreamerlib name 'gst_buffer_replace_memory_range';
- function gst_buffer_peek_memory(buffer:PGstBuffer; idx:Tguint):PGstMemory;cdecl;external gstreamerlib name 'gst_buffer_peek_memory';
- function gst_buffer_get_memory_range(buffer:PGstBuffer; idx:Tguint; length:Tgint):PGstMemory;cdecl;external gstreamerlib name 'gst_buffer_get_memory_range';
- procedure gst_buffer_remove_memory_range(buffer:PGstBuffer; idx:Tguint; length:Tgint);cdecl;external gstreamerlib name 'gst_buffer_remove_memory_range';
- procedure gst_buffer_prepend_memory(buffer:PGstBuffer; mem:PGstMemory);cdecl;external gstreamerlib name 'gst_buffer_prepend_memory';
- procedure gst_buffer_append_memory(buffer:PGstBuffer; mem:PGstMemory);cdecl;external gstreamerlib name 'gst_buffer_append_memory';
- procedure gst_buffer_replace_memory(buffer:PGstBuffer; idx:Tguint; mem:PGstMemory);cdecl;external gstreamerlib name 'gst_buffer_replace_memory';
- procedure gst_buffer_replace_all_memory(buffer:PGstBuffer; mem:PGstMemory);cdecl;external gstreamerlib name 'gst_buffer_replace_all_memory';
- function gst_buffer_get_memory(buffer:PGstBuffer; idx:Tguint):PGstMemory;cdecl;external gstreamerlib name 'gst_buffer_get_memory';
- function gst_buffer_get_all_memory(buffer:PGstBuffer):PGstMemory;cdecl;external gstreamerlib name 'gst_buffer_get_all_memory';
- procedure gst_buffer_remove_memory(buffer:PGstBuffer; idx:Tguint);cdecl;external gstreamerlib name 'gst_buffer_remove_memory';
- procedure gst_buffer_remove_all_memory(buffer:PGstBuffer);cdecl;external gstreamerlib name 'gst_buffer_remove_all_memory';
- function gst_buffer_find_memory(buffer:PGstBuffer; offset:Tgsize; size:Tgsize; idx:Pguint; length:Pguint;
- skip:Pgsize):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_find_memory';
- function gst_buffer_is_memory_range_writable(buffer:PGstBuffer; idx:Tguint; length:Tgint):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_is_memory_range_writable';
- function gst_buffer_is_all_memory_writable(buffer:PGstBuffer):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_is_all_memory_writable';
- function gst_buffer_fill(buffer:PGstBuffer; offset:Tgsize; src:Tgconstpointer; size:Tgsize):Tgsize;cdecl;external gstreamerlib name 'gst_buffer_fill';
- function gst_buffer_extract(buffer:PGstBuffer; offset:Tgsize; dest:Tgpointer; size:Tgsize):Tgsize;cdecl;external gstreamerlib name 'gst_buffer_extract';
- function gst_buffer_memcmp(buffer:PGstBuffer; offset:Tgsize; mem:Tgconstpointer; size:Tgsize):Tgint;cdecl;external gstreamerlib name 'gst_buffer_memcmp';
- function gst_buffer_memset(buffer:PGstBuffer; offset:Tgsize; val:Tguint8; size:Tgsize):Tgsize;cdecl;external gstreamerlib name 'gst_buffer_memset';
- function gst_buffer_get_sizes_range(buffer:PGstBuffer; idx:Tguint; length:Tgint; offset:Pgsize; maxsize:Pgsize):Tgsize;cdecl;external gstreamerlib name 'gst_buffer_get_sizes_range';
- function gst_buffer_resize_range(buffer:PGstBuffer; idx:Tguint; length:Tgint; offset:Tgssize; size:Tgssize):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_resize_range';
- function gst_buffer_get_sizes(buffer:PGstBuffer; offset:Pgsize; maxsize:Pgsize):Tgsize;cdecl;external gstreamerlib name 'gst_buffer_get_sizes';
- function gst_buffer_get_size(buffer:PGstBuffer):Tgsize;cdecl;external gstreamerlib name 'gst_buffer_get_size';
- procedure gst_buffer_resize(buffer:PGstBuffer; offset:Tgssize; size:Tgssize);cdecl;external gstreamerlib name 'gst_buffer_resize';
- procedure gst_buffer_set_size(buffer:PGstBuffer; size:Tgssize);cdecl;external gstreamerlib name 'gst_buffer_set_size';
- function gst_buffer_map_range(buffer:PGstBuffer; idx:Tguint; length:Tgint; info:PGstMapInfo; flags:TGstMapFlags):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_map_range';
- function gst_buffer_map(buffer:PGstBuffer; info:PGstMapInfo; flags:TGstMapFlags):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_map';
- procedure gst_buffer_unmap(buffer:PGstBuffer; info:PGstMapInfo);cdecl;external gstreamerlib name 'gst_buffer_unmap';
- procedure gst_buffer_extract_dup(buffer:PGstBuffer; offset:Tgsize; size:Tgsize; dest:Pgpointer; dest_size:Pgsize);cdecl;external gstreamerlib name 'gst_buffer_extract_dup';
- function gst_buffer_get_flags(buffer:PGstBuffer):TGstBufferFlags;cdecl;external gstreamerlib name 'gst_buffer_get_flags';
- function gst_buffer_has_flags(buffer:PGstBuffer; flags:TGstBufferFlags):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_has_flags';
- function gst_buffer_set_flags(buffer:PGstBuffer; flags:TGstBufferFlags):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_set_flags';
- function gst_buffer_unset_flags(buffer:PGstBuffer; flags:TGstBufferFlags):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_unset_flags';
- {
-
- static inline GstBuffer *
- gst_buffer_ref (GstBuffer * buf)
-
- return (GstBuffer *) gst_mini_object_ref (((GstMiniObject*)(buf)));
-
- # 441 "gstbuffer.h"
- static inline void
- gst_buffer_unref (GstBuffer * buf)
-
- gst_mini_object_unref (((GstMiniObject*)(buf)));
-
- # 460 "gstbuffer.h"
- static inline void
- gst_clear_buffer (GstBuffer ** buf_ptr)
-
- do _Static_assert (sizeof *(((GstMiniObject **) buf_ptr)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__((((GstMiniObject **) buf_ptr))) _pp = (((GstMiniObject **) buf_ptr)); __typeof__(*(((GstMiniObject **) buf_ptr))) _ptr = *_pp; *_pp =
- # 463 "gstbuffer.h" 3 4
- ((void *)0)
- # 463 "gstbuffer.h"
- ; if (_ptr) (gst_mini_object_unref) (_ptr); while (0) ;
-
- # 479 "gstbuffer.h"
- static inline GstBuffer *
- gst_buffer_copy (const GstBuffer * buf)
-
- return (((GstBuffer *)(gst_mini_object_copy (((const GstMiniObject*)(buf))))));
-
-
- }
- (* Const before type ignored *)
- function gst_buffer_copy_deep(buf:PGstBuffer):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_copy_deep';
- function gst_buffer_copy_into(dest:PGstBuffer; src:PGstBuffer; flags:TGstBufferCopyFlags; offset:Tgsize; size:Tgsize):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_copy_into';
- {
- static inline gboolean
- gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf)
-
- return gst_mini_object_replace ((GstMiniObject **) obuf, (GstMiniObject *) nbuf);
-
-
- }
- function gst_buffer_copy_region(parent:PGstBuffer; flags:TGstBufferCopyFlags; offset:Tgsize; size:Tgsize):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_copy_region';
- function gst_buffer_append_region(buf1:PGstBuffer; buf2:PGstBuffer; offset:Tgssize; size:Tgssize):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_append_region';
- function gst_buffer_append(buf1:PGstBuffer; buf2:PGstBuffer):PGstBuffer;cdecl;external gstreamerlib name 'gst_buffer_append';
- type
- TGstBufferForeachMetaFunc = function (buffer:PGstBuffer; meta:PPGstMeta; user_data:Tgpointer):Tgboolean;cdecl;
- function gst_buffer_get_meta(buffer:PGstBuffer; api:TGType):PGstMeta;cdecl;external gstreamerlib name 'gst_buffer_get_meta';
- function gst_buffer_get_n_meta(buffer:PGstBuffer; api_type:TGType):Tguint;cdecl;external gstreamerlib name 'gst_buffer_get_n_meta';
- (* Const before type ignored *)
- function gst_buffer_add_meta(buffer:PGstBuffer; info:PGstMetaInfo; params:Tgpointer):PGstMeta;cdecl;external gstreamerlib name 'gst_buffer_add_meta';
- function gst_buffer_remove_meta(buffer:PGstBuffer; meta:PGstMeta):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_remove_meta';
- function gst_buffer_iterate_meta(buffer:PGstBuffer; state:Pgpointer):PGstMeta;cdecl;external gstreamerlib name 'gst_buffer_iterate_meta';
- function gst_buffer_iterate_meta_filtered(buffer:PGstBuffer; state:Pgpointer; meta_api_type:TGType):PGstMeta;cdecl;external gstreamerlib name 'gst_buffer_iterate_meta_filtered';
- function gst_buffer_foreach_meta(buffer:PGstBuffer; func:TGstBufferForeachMetaFunc; user_data:Tgpointer):Tgboolean;cdecl;external gstreamerlib name 'gst_buffer_foreach_meta';
- function gst_parent_buffer_meta_api_get_type:TGType;cdecl;external gstreamerlib name 'gst_parent_buffer_meta_api_get_type';
- (* Const before type ignored *)
- function gst_parent_buffer_meta_get_info:PGstMetaInfo;cdecl;external gstreamerlib name 'gst_parent_buffer_meta_get_info';
- function gst_buffer_add_parent_buffer_meta(buffer:PGstBuffer; ref:PGstBuffer):PGstParentBufferMeta;cdecl;external gstreamerlib name 'gst_buffer_add_parent_buffer_meta';
- function gst_reference_timestamp_meta_api_get_type:TGType;cdecl;external gstreamerlib name 'gst_reference_timestamp_meta_api_get_type';
- (* Const before type ignored *)
- function gst_reference_timestamp_meta_get_info:PGstMetaInfo;cdecl;external gstreamerlib name 'gst_reference_timestamp_meta_get_info';
- function gst_buffer_add_reference_timestamp_meta(buffer:PGstBuffer; reference:PGstCaps; timestamp:TGstClockTime; duration:TGstClockTime):PGstReferenceTimestampMeta;cdecl;external gstreamerlib name 'gst_buffer_add_reference_timestamp_meta';
- function gst_buffer_get_reference_timestamp_meta(buffer:PGstBuffer; reference:PGstCaps):PGstReferenceTimestampMeta;cdecl;external gstreamerlib name 'gst_buffer_get_reference_timestamp_meta';
|