gstpipeline.inc 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. {
  2. /* GStreamer
  3. * Copyright (C) 1999,2000 Erik Walthinsen <[email protected]>
  4. * 2000 Wim Taymans <[email protected]>
  5. *
  6. * gstpipeline.h: Header for GstPipeline element
  7. *
  8. * This library is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU Library General Public
  10. * License as published by the Free Software Foundation; either
  11. * version 2 of the License, or (at your option) any later version.
  12. *
  13. * This library is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. * Library General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Library General Public
  19. * License along with this library; if not, write to the
  20. * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  21. * Boston, MA 02110-1301, USA.
  22. */
  23. }
  24. Type
  25. P_GstPipeline = ^T_GstPipeline;
  26. P_GstPipelineClass = ^T_GstPipelineClass;
  27. PGstPipeline = ^TGstPipeline;
  28. PGstPipeline_autoptr = ^TGstPipeline_autoptr;
  29. PGstPipeline_listautoptr = ^TGstPipeline_listautoptr;
  30. PGstPipeline_queueautoptr = ^TGstPipeline_queueautoptr;
  31. PGstPipeline_slistautoptr = ^TGstPipeline_slistautoptr;
  32. PGstPipelineFlags = ^TGstPipelineFlags;
  33. PGstPipelinePrivate = ^TGstPipelinePrivate;
  34. TGstPipelinePrivate = record end;
  35. T_GstPipelinePrivate = TGstPipelinePrivate;
  36. TGstPipelineFlags = (
  37. GST_PIPELINE_FLAG_FIXED_CLOCK := Ord(GST_BIN_FLAG_LAST) shl 0,
  38. GST_PIPELINE_FLAG_LAST := Ord(GST_BIN_FLAG_LAST) shl 4
  39. );
  40. T_GstPipeline = record
  41. bin : TGstBin;
  42. fixed_clock : PGstClock;
  43. stream_time : TGstClockTime;
  44. delay : TGstClockTime;
  45. priv : PGstPipelinePrivate;
  46. _gst_reserved : array[0..3] of Tgpointer;
  47. end;
  48. TGstPipeline = T_GstPipeline;
  49. T_GstPipelineClass = record
  50. parent_class : TGstBinClass;
  51. _gst_reserved : array[0..3] of Tgpointer;
  52. end;
  53. TGstPipelineClass = T_GstPipelineClass;
  54. TGstPipeline_autoptr = PGstPipeline;
  55. TGstPipeline_listautoptr = PGList;
  56. TGstPipeline_slistautoptr = PGSList;
  57. TGstPipeline_queueautoptr = PGQueue;
  58. function gst_pipeline_get_type:TGType;cdecl;external gstreamerlib name 'gst_pipeline_get_type';
  59. (* Const before type ignored *)
  60. function gst_pipeline_new(name:Pgchar):PGstElement;cdecl;external gstreamerlib name 'gst_pipeline_new';
  61. function gst_pipeline_get_bus(pipeline:PGstPipeline):PGstBus;cdecl;external gstreamerlib name 'gst_pipeline_get_bus';
  62. procedure gst_pipeline_use_clock(pipeline:PGstPipeline; clock:PGstClock);cdecl;external gstreamerlib name 'gst_pipeline_use_clock';
  63. function gst_pipeline_set_clock(pipeline:PGstPipeline; clock:PGstClock):Tgboolean;cdecl;external gstreamerlib name 'gst_pipeline_set_clock';
  64. function gst_pipeline_get_clock(pipeline:PGstPipeline):PGstClock;cdecl;external gstreamerlib name 'gst_pipeline_get_clock';
  65. function gst_pipeline_get_pipeline_clock(pipeline:PGstPipeline):PGstClock;cdecl;external gstreamerlib name 'gst_pipeline_get_pipeline_clock';
  66. procedure gst_pipeline_auto_clock(pipeline:PGstPipeline);cdecl;external gstreamerlib name 'gst_pipeline_auto_clock';
  67. procedure gst_pipeline_set_delay(pipeline:PGstPipeline; delay:TGstClockTime);cdecl;external gstreamerlib name 'gst_pipeline_set_delay';
  68. function gst_pipeline_get_delay(pipeline:PGstPipeline):TGstClockTime;cdecl;external gstreamerlib name 'gst_pipeline_get_delay';
  69. procedure gst_pipeline_set_latency(pipeline:PGstPipeline; latency:TGstClockTime);cdecl;external gstreamerlib name 'gst_pipeline_set_latency';
  70. function gst_pipeline_get_latency(pipeline:PGstPipeline):TGstClockTime;cdecl;external gstreamerlib name 'gst_pipeline_get_latency';
  71. procedure gst_pipeline_set_auto_flush_bus(pipeline:PGstPipeline; auto_flush:Tgboolean);cdecl;external gstreamerlib name 'gst_pipeline_set_auto_flush_bus';
  72. function gst_pipeline_get_auto_flush_bus(pipeline:PGstPipeline):Tgboolean;cdecl;external gstreamerlib name 'gst_pipeline_get_auto_flush_bus';