gst.pp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. {* GStreamer
  2. * Copyright (C) 1999,2000 Erik Walthinsen <[email protected]>
  3. * 2000 Wim Taymans <[email protected]>
  4. *
  5. * gst.h: Main header for GStreamer, apps should include this
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Library General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Library General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Library General Public
  18. * License along with this library; if not, write to the
  19. * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  20. * Boston, MA 02110-1301, USA.
  21. *}
  22. unit gst;
  23. {$mode objfpc}
  24. {$h+}
  25. interface
  26. uses glib2;
  27. const
  28. gstreamerlib = 'libgstreamer-1.0'; {Setup as you need}
  29. Const
  30. GST_PADDING = 4;
  31. GST_OBJECT_FLAG_LAST = (1 shl 4);
  32. { Pointers to basic pascal types, inserted by h2pas conversion program.}
  33. Type
  34. PLongint = ^Longint;
  35. PSmallInt = ^SmallInt;
  36. PByte = ^Byte;
  37. PWord = ^Word;
  38. PDWord = ^DWord;
  39. PDouble = ^Double;
  40. {$IFDEF FPC}
  41. {$PACKRECORDS C}
  42. {$ENDIF}
  43. // {$i glib-compat.h>
  44. {$i gstaliases.inc}
  45. {$i gstenum.inc}
  46. {$i gstrec.inc}
  47. {$i gstenumtypes.inc}
  48. {$i gstversion.inc}
  49. // needed in gstcaps
  50. {$i gstminiobject.inc}
  51. // needed in gstcaps.inc
  52. {$i gstcapsfeatures.inc}
  53. // needed in gststructure
  54. {$i gstclock.inc}
  55. // needed in gststructure
  56. {$i gstdatetime.inc}
  57. // needed in gstcaps.inc
  58. {$i gststructure.inc}
  59. // needed in gstvalue
  60. {$i gstcaps.inc}
  61. // needed in gstminiobject
  62. {$i gstvalue.inc}
  63. // needed in gstbuffer
  64. {$i gstmeta.inc}
  65. // Needed in format.inc
  66. {$i gstiterator.inc}
  67. // needed in gstbufferpool.inc
  68. {$i gstformat.inc}
  69. // needed in gstmessage.inc
  70. {$i gstcontext.inc}
  71. // needed in gstelement.inc
  72. {$i gstbus.inc}
  73. // needed in gstevent.inc
  74. {$i gstsegment.inc}
  75. // needed in gstsample
  76. {$i gstbufferlist.inc}
  77. // needed in gsttaglist.inc
  78. {$i gstsample.inc}
  79. // needed in gststreams.inc
  80. {$i gsttaglist.inc}
  81. // needed in gstevent.inc
  82. {$i gststreams.inc}
  83. // needed in gstevent.inc
  84. {$i gststreamcollection.inc}
  85. // needed in gstevent.inc
  86. {$i gsttoc.inc}
  87. // needed in gstpad.inc
  88. {$i gstevent.inc}
  89. // needed in gstelementfactory.inc
  90. {$i gstplugin.inc}
  91. // needed in gstelementfactory.inc
  92. {$i gsturi.inc}
  93. // needed in gstelementfactory.inc
  94. {$i gstpluginfeature.inc}
  95. // needed in gstelement.inc
  96. {$i gstelementfactory.inc}
  97. // needed in gstallocator.inc
  98. {$i gstmemory.inc}
  99. // needed in gstquery.inc
  100. {$i gstallocator.inc}
  101. // needed in gstquery.inc
  102. {$i gstquery.inc}
  103. // needed in gsttask.inc
  104. {$i gsttaskpool.inc}
  105. // needed in gstpad.inc
  106. {$i gsttask.inc}
  107. // needed in gstpad.inc
  108. {$i gstpadtemplate.inc}
  109. // needed in gstelement.inc
  110. {$i gstpad.inc}
  111. // needed in gstdevice.inc
  112. {$i gstelement.inc}
  113. // needed in gstmessage.inc
  114. {$i gstdevice.inc}
  115. // needed in gstevent
  116. {$i gstmessage.inc}
  117. // needed in gstutils
  118. {$i gstbufferpool.inc}
  119. {$i gstbuffer.inc}
  120. // needed in gstutils.h
  121. {$i gstbin.inc}
  122. // needed in gstutils.h
  123. {$i gstparse.inc}
  124. // needed in gstprotection
  125. {$i gstutils.inc}
  126. // needed in gstobject
  127. {$i gstprotection.inc}
  128. // needed in gstobject.inc
  129. {$i gstcontrolbinding.inc}
  130. {$i gstobject.inc}
  131. {$i gstatomicqueue.inc}
  132. {$i gstchildproxy.inc}
  133. {$i gstcontrolsource.inc}
  134. {$i gstdebugutils.inc}
  135. {$i gstdevicemonitor.inc}
  136. {$i gstdeviceprovider.inc}
  137. {$i gstdeviceproviderfactory.inc}
  138. {$i gstdynamictypefactory.inc}
  139. {$i gstelementmetadata.inc}
  140. {$i gsterror.inc}
  141. {$i gstghostpad.inc}
  142. {$i gstinfo.inc}
  143. {$i gstparamspecs.inc}
  144. {$i gstpipeline.inc}
  145. {$i gstpoll.inc}
  146. {$i gstpreset.inc}
  147. {$i gstregistry.inc}
  148. {$i gstpromise.inc}
  149. {$i gstsystemclock.inc}
  150. {$i gsttagsetter.inc}
  151. {$i gsttocsetter.inc}
  152. {$i gsttracer.inc}
  153. {$i gsttracerfactory.inc}
  154. {$i gsttracerrecord.inc}
  155. {$i gsttypefind.inc}
  156. {$i gsttypefindfactory.inc}
  157. procedure gst_init(argc:Plongint; argv:PPPchar);cdecl;external gstreamerlib name 'gst_init';
  158. function gst_init_check(argc:Plongint; argv:PPPchar; err:PPGError):Tgboolean;cdecl;external gstreamerlib name 'gst_init_check';
  159. function gst_is_initialized:Tgboolean;cdecl;external gstreamerlib name 'gst_is_initialized';
  160. function gst_init_get_option_group:PGOptionGroup;cdecl;external gstreamerlib name 'gst_init_get_option_group';
  161. procedure gst_deinit;cdecl;external gstreamerlib name 'gst_deinit';
  162. procedure gst_version(major:Pguint; minor:Pguint; micro:Pguint; nano:Pguint);cdecl;external gstreamerlib name 'gst_version';
  163. function gst_version_string:Pgchar;cdecl;external gstreamerlib name 'gst_version_string';
  164. function gst_segtrap_is_enabled:Tgboolean;cdecl;external gstreamerlib name 'gst_segtrap_is_enabled';
  165. procedure gst_segtrap_set_enabled(enabled:Tgboolean);cdecl;external gstreamerlib name 'gst_segtrap_set_enabled';
  166. function gst_registry_fork_is_enabled:Tgboolean;cdecl;external gstreamerlib name 'gst_registry_fork_is_enabled';
  167. procedure gst_registry_fork_set_enabled(enabled:Tgboolean);cdecl;external gstreamerlib name 'gst_registry_fork_set_enabled';
  168. function gst_update_registry:Tgboolean;cdecl;external gstreamerlib name 'gst_update_registry';
  169. function gst_get_main_executable_path:Pgchar;cdecl;external gstreamerlib name 'gst_get_main_executable_path';
  170. implementation
  171. {$i gstbin_impl.inc}
  172. {$i gstmessage_impl.inc}
  173. end.