gststreams.inc 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. {
  2. /* GStreamer
  3. * Copyright (C) 2015 Centricular Ltd
  4. * @author: Edward Hervey <[email protected]>
  5. * @author: Jan Schmidt <[email protected]>
  6. *
  7. * gststreams.h : Header for GstStream subsystem
  8. *
  9. * This library is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU Library General Public
  11. * License as published by the Free Software Foundation; either
  12. * version 2 of the License, or (at your option) any later version.
  13. *
  14. * This library is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  17. * Library General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Library General Public
  20. * License along with this library; if not, write to the
  21. * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  22. * Boston, MA 02110-1301, USA.
  23. */
  24. }
  25. Type
  26. PGstStream = ^TGstStream;
  27. PPGstStream = ^PGstStream;
  28. PGstStream_autoptr = ^TGstStream_autoptr;
  29. PGstStream_listautoptr = ^TGstStream_listautoptr;
  30. PGstStream_queueautoptr = ^TGstStream_queueautoptr;
  31. PGstStream_slistautoptr = ^TGstStream_slistautoptr;
  32. {$IFDEF FPC}
  33. {$PACKRECORDS C}
  34. {$ENDIF}
  35. PGstStreamType = ^TGstStreamType;
  36. TGstStreamType = (
  37. GST_STREAM_TYPE_UNKNOWN := 1 shl 0,
  38. GST_STREAM_TYPE_AUDIO := 1 shl 1,
  39. GST_STREAM_TYPE_VIDEO := 1 shl 2,
  40. GST_STREAM_TYPE_CONTAINER := 1 shl 3,
  41. GST_STREAM_TYPE_TEXT := 1 shl 4
  42. );
  43. TGstStreamPrivate = record end;
  44. T_GstStreamPrivate = TGstStreamPrivate;
  45. PGstStreamPrivate = ^TGstStreamPrivate;
  46. (* Const before type ignored *)
  47. P_GstStream = ^T_GstStream;
  48. T_GstStream = record
  49. object_ : TGstObject;
  50. stream_id : Pgchar;
  51. priv : PGstStreamPrivate;
  52. _gst_reserved : array[0..(GST_PADDING)-1] of Tgpointer;
  53. end;
  54. TGstStream = T_GstStream ;
  55. P_GstStreamClass = ^T_GstStreamClass;
  56. T_GstStreamClass = record
  57. parent_class : TGstObjectClass;
  58. _gst_reserved : array[0..(GST_PADDING)-1] of Tgpointer;
  59. end;
  60. TGstStreamClass = T_GstStreamClass;
  61. TGstStream_autoptr = PGstStream;
  62. TGstStream_listautoptr = PGList;
  63. TGstStream_slistautoptr = PGSList;
  64. TGstStream_queueautoptr = PGQueue;
  65. (* Const before type ignored *)
  66. function gst_stream_new(stream_id:Pgchar; caps:PGstCaps; _type:TGstStreamType; flags:TGstStreamFlags):PGstStream;cdecl;external gstreamerlib name 'gst_stream_new';
  67. (* Const before type ignored *)
  68. function gst_stream_get_stream_id(stream:PGstStream):Pgchar;cdecl;external gstreamerlib name 'gst_stream_get_stream_id';
  69. procedure gst_stream_set_stream_flags(stream:PGstStream; flags:TGstStreamFlags);cdecl;external gstreamerlib name 'gst_stream_set_stream_flags';
  70. function gst_stream_get_stream_flags(stream:PGstStream):TGstStreamFlags;cdecl;external gstreamerlib name 'gst_stream_get_stream_flags';
  71. procedure gst_stream_set_stream_type(stream:PGstStream; stream_type:TGstStreamType);cdecl;external gstreamerlib name 'gst_stream_set_stream_type';
  72. function gst_stream_get_stream_type(stream:PGstStream):TGstStreamType;cdecl;external gstreamerlib name 'gst_stream_get_stream_type';
  73. procedure gst_stream_set_tags(stream:PGstStream; tags:PGstTagList);cdecl;external gstreamerlib name 'gst_stream_set_tags';
  74. function gst_stream_get_tags(stream:PGstStream):PGstTagList;cdecl;external gstreamerlib name 'gst_stream_get_tags';
  75. procedure gst_stream_set_caps(stream:PGstStream; caps:PGstCaps);cdecl;external gstreamerlib name 'gst_stream_set_caps';
  76. function gst_stream_get_caps(stream:PGstStream):PGstCaps;cdecl;external gstreamerlib name 'gst_stream_get_caps';
  77. (* Const before type ignored *)
  78. function gst_stream_type_get_name(stype:TGstStreamType):Pgchar;cdecl;external gstreamerlib name 'gst_stream_type_get_name';