gstdeviceprovider.inc 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. {
  2. /* GStreamer
  3. * Copyright (C) 2012 Olivier Crete <[email protected]>
  4. *
  5. * gstdeviceprovider.h: Device probing and monitoring
  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., 59 Temple Place - Suite 330,
  20. * Boston, MA 02111-1307, USA.
  21. */
  22. }
  23. Type
  24. P_GstDeviceProvider = ^T_GstDeviceProvider;
  25. P_GstDeviceProviderClass = ^T_GstDeviceProviderClass;
  26. PGstDeviceProvider = ^TGstDeviceProvider;
  27. PGstDeviceProvider_autoptr = ^TGstDeviceProvider_autoptr;
  28. PGstDeviceProvider_listautoptr = ^TGstDeviceProvider_listautoptr;
  29. PGstDeviceProvider_queueautoptr = ^TGstDeviceProvider_queueautoptr;
  30. PGstDeviceProvider_slistautoptr = ^TGstDeviceProvider_slistautoptr;
  31. PGstDeviceProviderClass = ^TGstDeviceProviderClass;
  32. PGstDeviceProviderFactory = ^TGstDeviceProviderFactory;
  33. PGstDeviceProviderPrivate = ^TGstDeviceProviderPrivate;
  34. T_GstDeviceProviderFactory = record end;
  35. TGstDeviceProviderFactory = T_GstDeviceProviderFactory ;
  36. T_GstDeviceProviderFactoryClass = record end;
  37. TGstDeviceProviderFactoryClass = T_GstDeviceProviderFactoryClass;
  38. T_GstDeviceProviderPrivate = record end;
  39. TGstDeviceProviderPrivate = T_GstDeviceProviderPrivate;
  40. T_GstDeviceProvider = record
  41. parent : TGstObject;
  42. devices : PGList;
  43. priv : PGstDeviceProviderPrivate;
  44. _gst_reserved : array[0..3] of Tgpointer;
  45. end;
  46. TGstDeviceProvider = T_GstDeviceProvider;
  47. T_GstDeviceProviderClass = record
  48. parent_class : TGstObjectClass;
  49. factory : PGstDeviceProviderFactory;
  50. probe : function (provider:PGstDeviceProvider):PGList;cdecl;
  51. start : function (provider:PGstDeviceProvider):Tgboolean;cdecl;
  52. stop : procedure (provider:PGstDeviceProvider);cdecl;
  53. metadata : Tgpointer;
  54. _gst_reserved : array[0..3] of Tgpointer;
  55. end;
  56. TGstDeviceProviderClass = T_GstDeviceProviderClass;
  57. TGstDeviceProvider_autoptr = PGstDeviceProvider;
  58. TGstDeviceProvider_listautoptr = PGList;
  59. TGstDeviceProvider_slistautoptr = PGSList;
  60. TGstDeviceProvider_queueautoptr = PGQueue;
  61. function gst_device_provider_get_type:TGType;cdecl;external gstreamerlib name 'gst_device_provider_get_type';
  62. function gst_device_provider_get_devices(provider:PGstDeviceProvider):PGList;cdecl;external gstreamerlib name 'gst_device_provider_get_devices';
  63. function gst_device_provider_start(provider:PGstDeviceProvider):Tgboolean;cdecl;external gstreamerlib name 'gst_device_provider_start';
  64. procedure gst_device_provider_stop(provider:PGstDeviceProvider);cdecl;external gstreamerlib name 'gst_device_provider_stop';
  65. function gst_device_provider_can_monitor(provider:PGstDeviceProvider):Tgboolean;cdecl;external gstreamerlib name 'gst_device_provider_can_monitor';
  66. function gst_device_provider_get_bus(provider:PGstDeviceProvider):PGstBus;cdecl;external gstreamerlib name 'gst_device_provider_get_bus';
  67. procedure gst_device_provider_device_add(provider:PGstDeviceProvider; device:PGstDevice);cdecl;external gstreamerlib name 'gst_device_provider_device_add';
  68. procedure gst_device_provider_device_remove(provider:PGstDeviceProvider; device:PGstDevice);cdecl;external gstreamerlib name 'gst_device_provider_device_remove';
  69. function gst_device_provider_get_hidden_providers(provider:PGstDeviceProvider):PPgchar;cdecl;external gstreamerlib name 'gst_device_provider_get_hidden_providers';
  70. (* Const before type ignored *)
  71. procedure gst_device_provider_hide_provider(provider:PGstDeviceProvider; name:Pgchar);cdecl;external gstreamerlib name 'gst_device_provider_hide_provider';
  72. (* Const before type ignored *)
  73. procedure gst_device_provider_unhide_provider(provider:PGstDeviceProvider; name:Pgchar);cdecl;external gstreamerlib name 'gst_device_provider_unhide_provider';
  74. (* Const before type ignored *)
  75. (* Const before type ignored *)
  76. function gst_device_provider_get_metadata(provider:PGstDeviceProvider; key:Pgchar):Pgchar;cdecl;external gstreamerlib name 'gst_device_provider_get_metadata';
  77. (* Const before type ignored *)
  78. (* Const before type ignored *)
  79. (* Const before type ignored *)
  80. (* Const before type ignored *)
  81. procedure gst_device_provider_class_set_metadata(klass:PGstDeviceProviderClass; longname:Pgchar; classification:Pgchar; description:Pgchar; author:Pgchar);cdecl;external gstreamerlib name 'gst_device_provider_class_set_metadata';
  82. (* Const before type ignored *)
  83. (* Const before type ignored *)
  84. (* Const before type ignored *)
  85. (* Const before type ignored *)
  86. procedure gst_device_provider_class_set_static_metadata(klass:PGstDeviceProviderClass; longname:Pgchar; classification:Pgchar; description:Pgchar; author:Pgchar);cdecl;external gstreamerlib name 'gst_device_provider_class_set_static_metadata';
  87. (* Const before type ignored *)
  88. (* Const before type ignored *)
  89. procedure gst_device_provider_class_add_metadata(klass:PGstDeviceProviderClass; key:Pgchar; value:Pgchar);cdecl;external gstreamerlib name 'gst_device_provider_class_add_metadata';
  90. (* Const before type ignored *)
  91. (* Const before type ignored *)
  92. procedure gst_device_provider_class_add_static_metadata(klass:PGstDeviceProviderClass; key:Pgchar; value:Pgchar);cdecl;external gstreamerlib name 'gst_device_provider_class_add_static_metadata';
  93. (* Const before type ignored *)
  94. (* Const before type ignored *)
  95. function gst_device_provider_class_get_metadata(klass:PGstDeviceProviderClass; key:Pgchar):Pgchar;cdecl;external gstreamerlib name 'gst_device_provider_class_get_metadata';
  96. procedure gst_device_provider_device_changed(provider:PGstDeviceProvider; device:PGstDevice; changed_device:PGstDevice);cdecl;external gstreamerlib name 'gst_device_provider_device_changed';
  97. function gst_device_provider_get_factory(provider:PGstDeviceProvider):PGstDeviceProviderFactory;cdecl;external gstreamerlib name 'gst_device_provider_get_factory';