gstcontrolbinding.inc 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. {* GStreamer
  2. *
  3. * Copyright (C) 2011 Stefan Sauer <[email protected]>
  4. *
  5. * gstcontrolbinding.h: Attachment for control sources
  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. Type
  23. P_GstControlBinding = ^T_GstControlBinding;
  24. P_GstControlBindingClass = ^T_GstControlBindingClass;
  25. PGParamSpec = ^TGParamSpec;
  26. PGstControlBinding = ^TGstControlBinding;
  27. PGstControlBinding_autoptr = ^TGstControlBinding_autoptr;
  28. PGstControlBinding_listautoptr = ^TGstControlBinding_listautoptr;
  29. PGstControlBinding_queueautoptr = ^TGstControlBinding_queueautoptr;
  30. PGstControlBinding_slistautoptr = ^TGstControlBinding_slistautoptr;
  31. PGstControlBindingPrivate = ^TGstControlBindingPrivate;
  32. TGstControlBindingConvert = procedure (binding:PGstControlBinding; src_value:Tgdouble; dest_value:PGValue);cdecl;
  33. TGstControlBindingPrivate = record end;
  34. T_GstControlBinding = record
  35. parent : TGstObject;
  36. name : Pgchar;
  37. pspec : PGParamSpec;
  38. object_ : PGstObject;
  39. disabled : Tgboolean;
  40. ABI : record
  41. case longint of
  42. 0 : ( abi : record
  43. priv : PGstControlBindingPrivate;
  44. end );
  45. 1 : ( _gst_reserved : array[0..3] of Tgpointer );
  46. end;
  47. end;
  48. TGstControlBinding = T_GstControlBinding;
  49. T_GstControlBindingClass = record
  50. parent_class : TGstObjectClass;
  51. sync_values : function (binding:PGstControlBinding; object_:PGstObject; timestamp:TGstClockTime; last_sync:TGstClockTime):Tgboolean;cdecl;
  52. get_value : function (binding:PGstControlBinding; timestamp:TGstClockTime):PGValue;cdecl;
  53. get_value_array : function (binding:PGstControlBinding; timestamp:TGstClockTime; interval:TGstClockTime; n_values:Tguint; values:Tgpointer):Tgboolean;cdecl;
  54. get_g_value_array : function (binding:PGstControlBinding; timestamp:TGstClockTime; interval:TGstClockTime; n_values:Tguint; values:PGValue):Tgboolean;cdecl;
  55. _gst_reserved : array[0..3] of Tgpointer;
  56. end;
  57. TGstControlBinding_autoptr = PGstControlBinding;
  58. TGstControlBinding_listautoptr = PGList;
  59. TGstControlBinding_slistautoptr = PGSList;
  60. TGstControlBinding_queueautoptr = PGQueue;
  61. function gst_control_binding_get_type:TGType;cdecl;external gstreamerlib name 'gst_control_binding_get_type';
  62. function gst_control_binding_sync_values(binding:PGstControlBinding; object_:PGstObject; timestamp:TGstClockTime; last_sync:TGstClockTime):Tgboolean;cdecl;external gstreamerlib name 'gst_control_binding_sync_values';
  63. function gst_control_binding_get_value(binding:PGstControlBinding; timestamp:TGstClockTime):PGValue;cdecl;external gstreamerlib name 'gst_control_binding_get_value';
  64. function gst_control_binding_get_value_array(binding:PGstControlBinding; timestamp:TGstClockTime; interval:TGstClockTime; n_values:Tguint; values:Tgpointer):Tgboolean;cdecl;external gstreamerlib name 'gst_control_binding_get_value_array';
  65. function gst_control_binding_get_g_value_array(binding:PGstControlBinding; timestamp:TGstClockTime; interval:TGstClockTime; n_values:Tguint; values:PGValue):Tgboolean;cdecl;external gstreamerlib name 'gst_control_binding_get_g_value_array';
  66. procedure gst_control_binding_set_disabled(binding:PGstControlBinding; disabled:Tgboolean);cdecl;external gstreamerlib name 'gst_control_binding_set_disabled';
  67. function gst_control_binding_is_disabled(binding:PGstControlBinding):Tgboolean;cdecl;external gstreamerlib name 'gst_control_binding_is_disabled';