gstdevice.inc 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. {/* GStreamer
  2. * Copyright (C) 2012 Olivier Crete <[email protected]>
  3. *
  4. * gstdevice.c: Device discovery
  5. *
  6. * This library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Library General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2 of the License, or (at your option) any later version.
  10. *
  11. * This library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Library General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Library General Public
  17. * License along with this library; if not, write to the
  18. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  19. * Boston, MA 02111-1307, USA.
  20. */}
  21. Type
  22. P_GstDevice = ^T_GstDevice;
  23. P_GstDeviceClass = ^T_GstDeviceClass;
  24. PGstDevice_autoptr = ^TGstDevice_autoptr;
  25. PGstDevice_listautoptr = ^TGstDevice_listautoptr;
  26. PGstDevice_queueautoptr = ^TGstDevice_queueautoptr;
  27. PGstDevice_slistautoptr = ^TGstDevice_slistautoptr;
  28. PGstDevicePrivate = ^TGstDevicePrivate;
  29. {$IFDEF FPC}
  30. {$PACKRECORDS C}
  31. {$ENDIF}
  32. TGstDevicePrivate = record end;
  33. T_GstDevicePrivate = TGstDevicePrivate;
  34. T_GstDevice = record
  35. parent : TGstObject;
  36. priv : PGstDevicePrivate;
  37. _gst_reserved : array[0..3] of Tgpointer;
  38. end;
  39. PGstDevice = ^T_GstDevice;
  40. PPGstDevice = ^PGstDevice;
  41. T_GstDeviceClass = record
  42. parent_class : TGstObjectClass;
  43. create_element : function (device: PGstDevice; name:Pgchar):PGstElement;cdecl;
  44. reconfigure_element : function (device:PGstDevice; element:PGstElement):Tgboolean;cdecl;
  45. _gst_reserved : array[0..3] of Tgpointer;
  46. end;
  47. TGstDevice_autoptr = PGstDevice;
  48. TGstDevice_listautoptr = PGList;
  49. TGstDevice_slistautoptr = PGSList;
  50. TGstDevice_queueautoptr = PGQueue;
  51. function gst_device_get_type:TGType;cdecl;external gstreamerlib name 'gst_device_get_type';
  52. (* Const before type ignored *)
  53. function gst_device_create_element(device:PGstDevice; name:Pgchar):PGstElement;cdecl;external gstreamerlib name 'gst_device_create_element';
  54. function gst_device_get_caps(device:PGstDevice):PGstCaps;cdecl;external gstreamerlib name 'gst_device_get_caps';
  55. function gst_device_get_display_name(device:PGstDevice):Pgchar;cdecl;external gstreamerlib name 'gst_device_get_display_name';
  56. function gst_device_get_device_class(device:PGstDevice):Pgchar;cdecl;external gstreamerlib name 'gst_device_get_device_class';
  57. function gst_device_get_properties(device:PGstDevice):PGstStructure;cdecl;external gstreamerlib name 'gst_device_get_properties';
  58. function gst_device_reconfigure_element(device:PGstDevice; element:PGstElement):Tgboolean;cdecl;external gstreamerlib name 'gst_device_reconfigure_element';
  59. function gst_device_has_classesv(device:PGstDevice; classes:PPgchar):Tgboolean;cdecl;external gstreamerlib name 'gst_device_has_classesv';
  60. (* Const before type ignored *)
  61. function gst_device_has_classes(device:PGstDevice; classes:Pgchar):Tgboolean;cdecl;external gstreamerlib name 'gst_device_has_classes';