;; Apply gst_signals.defs.patch after regenerating.

;; From GstBus

(define-signal message
  (of-object "GstBus")
  (return-type "void")
  (when "last")
  (parameters
    '("GstMessage*" "p0")
  )
)

(define-signal sync-message
  (of-object "GstBus")
  (return-type "void")
  (when "last")
  (parameters
    '("GstMessage*" "p0")
  )
)

;; From GstBin

(define-signal element-added
  (of-object "GstBin")
  (return-type "void")
  (when "first")
  (parameters
    '("GstElement*" "p0")
  )
)

(define-signal element-removed
  (of-object "GstBin")
  (return-type "void")
  (when "first")
  (parameters
    '("GstElement*" "p0")
  )
)

(define-signal do-latency
  (of-object "GstBin")
  (return-type "gboolean")
  (when "last")
)

(define-property async-handling
  (of-object "GstBin")
  (prop-type "GParamBoolean")
  (docs "The bin will handle Asynchronous state changes")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property message-forward
  (of-object "GstBin")
  (prop-type "GParamBoolean")
  (docs "Forwards all children messages")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBuffer

;; From GstCaps

;; From GstChildProxy

(define-signal child-added
  (of-object "GstChildProxy")
  (return-type "void")
  (when "first")
  (parameters
    '("GstObject*" "p0")
  )
)

(define-signal child-removed
  (of-object "GstChildProxy")
  (return-type "void")
  (when "first")
  (parameters
    '("GstObject*" "p0")
  )
)

;; From GstClock

(define-property stats
  (of-object "GstClock")
  (prop-type "GParamBoolean")
  (docs "Enable clock stats (unimplemented)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property window-size
  (of-object "GstClock")
  (prop-type "GParamInt")
  (docs "The size of the window used to calculate rate and offset")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property window-threshold
  (of-object "GstClock")
  (prop-type "GParamInt")
  (docs "The threshold to start calculating rate and offset")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timeout
  (of-object "GstClock")
  (prop-type "GParamUInt64")
  (docs "The amount of time, in nanoseconds, to sample master and slave clocks")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstElement

(define-signal pad-added
  (of-object "GstElement")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-signal pad-removed
  (of-object "GstElement")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-signal no-more-pads
  (of-object "GstElement")
  (return-type "void")
  (when "last")
)

;; From GstElementFactory

;; From GstEvent

;; From GstFormat

;; From GError

;; From GstGhostPad

;; From GstImplementsInterface

;; From GstIndex

(define-signal entry-added
  (of-object "GstIndex")
  (return-type "void")
  (when "last")
  (parameters
    '("GstIndexEntry*" "p0")
  )
)

(define-property resolver
  (of-object "GstIndex")
  (prop-type "GParamEnum")
  (docs "Select a predefined object to string mapper")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstIndexFactory

;; From GstMessage

;; From GstMiniObject

;; From GstObject

(define-signal parent-set
  (of-object "GstObject")
  (return-type "void")
  (when "last")
  (parameters
    '("GstObject*" "p0")
  )
)

(define-signal parent-unset
  (of-object "GstObject")
  (return-type "void")
  (when "last")
  (parameters
    '("GstObject*" "p0")
  )
)

(define-signal object-saved
  (of-object "GstObject")
  (return-type "void")
  (when "last")
  (parameters
    '("GstXmlNodePtr" "p0")
  )
)

(define-signal deep-notify
  (of-object "GstObject")
  (return-type "void")
  (when "first")
  (parameters
    '("GstObject*" "p0")
    '("GParamSpec*" "p1")
  )
)

(define-property name
  (of-object "GstObject")
  (prop-type "GParamString")
  (docs "The name of the object")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstPad

(define-signal linked
  (of-object "GstPad")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-signal unlinked
  (of-object "GstPad")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-signal request-link
  (of-object "GstPad")
  (return-type "void")
  (when "last")
)

(define-signal have-data
  (of-object "GstPad")
  (return-type "gboolean")
  (when "last")
  (parameters
    '("GstMiniObject*" "p0")
  )
)

(define-property caps
  (of-object "GstPad")
  (prop-type "GParamBoxed")
  (docs "The capabilities of the pad")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property direction
  (of-object "GstPad")
  (prop-type "GParamEnum")
  (docs "The direction of the pad")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

(define-property template
  (of-object "GstPad")
  (prop-type "GParamObject")
  (docs "The GstPadTemplate of this pad")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstPadTemplate

(define-signal pad-created
  (of-object "GstPadTemplate")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-property name-template
  (of-object "GstPadTemplate")
  (prop-type "GParamString")
  (docs "The name template of the pad template")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

(define-property direction
  (of-object "GstPadTemplate")
  (prop-type "GParamEnum")
  (docs "The direction of the pad described by the pad template")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

(define-property presence
  (of-object "GstPadTemplate")
  (prop-type "GParamEnum")
  (docs "When the pad described by the pad template will become available")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

(define-property caps
  (of-object "GstPadTemplate")
  (prop-type "GParamBoxed")
  (docs "The capabilities of the pad described by the pad template")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

;; From GstPipeline

(define-property delay
  (of-object "GstPipeline")
  (prop-type "GParamUInt64")
  (docs "Expected delay needed for elements to spin up to PLAYING in nanoseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property auto-flush-bus
  (of-object "GstPipeline")
  (prop-type "GParamBoolean")
  (docs "Whether to automatically flush the pipeline's bus when going from READY into NULL state")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstPlugin

;; From GstPluginFeature

;; From GstQuery

;; From GstRegistry

(define-signal plugin-added
  (of-object "GstRegistry")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPlugin*" "p0")
  )
)

(define-signal feature-added
  (of-object "GstRegistry")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPluginFeature*" "p0")
  )
)

;; From GstSegment

;; From GstStructure

;; From GstSystemClock

(define-property clock-type
  (of-object "GstSystemClock")
  (prop-type "GParamEnum")
  (docs "The type of underlying clock implementation used")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTagList

;; From GstTagSetter

;; From GstTask

;; From GstTypeFind

;; From GstTypeFindFactory

;; From GstURIHandler

(define-signal new-uri
  (of-object "GstURIHandler")
  (return-type "void")
  (when "last")
  (parameters
    '("const-gchar*" "p0")
  )
)

;; From GstXML

(define-signal object-loaded
  (of-object "GstXML")
  (return-type "void")
  (when "last")
  (parameters
    '("GstObject*" "p0")
    '("xmlNodePtr" "p1")
  )
)

;; From GstBaseSrc

(define-property blocksize
  (of-object "GstBaseSrc")
  (prop-type "GParamULong")
  (docs "Size in bytes to read per buffer (-1 = default)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property num-buffers
  (of-object "GstBaseSrc")
  (prop-type "GParamInt")
  (docs "Number of buffers to output before sending EOS (-1 = unlimited)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property typefind
  (of-object "GstBaseSrc")
  (prop-type "GParamBoolean")
  (docs "Run typefind before negotiating")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property do-timestamp
  (of-object "GstBaseSrc")
  (prop-type "GParamBoolean")
  (docs "Apply current stream time to buffers")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBaseSink

(define-property preroll-queue-len
  (of-object "GstBaseSink")
  (prop-type "GParamUInt")
  (docs "Number of buffers to queue during preroll")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sync
  (of-object "GstBaseSink")
  (prop-type "GParamBoolean")
  (docs "Sync on the clock")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-lateness
  (of-object "GstBaseSink")
  (prop-type "GParamInt64")
  (docs "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property qos
  (of-object "GstBaseSink")
  (prop-type "GParamBoolean")
  (docs "Generate Quality-of-Service events upstream")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property async
  (of-object "GstBaseSink")
  (prop-type "GParamBoolean")
  (docs "Go asynchronously to PAUSED")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ts-offset
  (of-object "GstBaseSink")
  (prop-type "GParamInt64")
  (docs "Timestamp offset in nanoseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property enable-last-buffer
  (of-object "GstBaseSink")
  (prop-type "GParamBoolean")
  (docs "Enable the last-buffer property")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property last-buffer
  (of-object "GstBaseSink")
  (prop-type "GParamSpecMiniObject")
  (docs "The last buffer received in the sink")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property blocksize
  (of-object "GstBaseSink")
  (prop-type "GParamUInt")
  (docs "Size in bytes to pull per buffer (0 = default)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property render-delay
  (of-object "GstBaseSink")
  (prop-type "GParamUInt64")
  (docs "Additional render delay of the sink in nanoseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property throttle-time
  (of-object "GstBaseSink")
  (prop-type "GParamUInt64")
  (docs "The time to keep between rendered buffers (unused)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBaseTransform

(define-property qos
  (of-object "GstBaseTransform")
  (prop-type "GParamBoolean")
  (docs "Handle Quality-of-Service events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstPushSrc

;; From GstAdapter

;; From GstCollectPads

;; From GstDataQueue

(define-signal empty
  (of-object "GstDataQueue")
  (return-type "void")
  (when "first")
)

(define-signal full
  (of-object "GstDataQueue")
  (return-type "void")
  (when "first")
)

(define-property current-level-visible
  (of-object "GstDataQueue")
  (prop-type "GParamUInt")
  (docs "Current number of visible items in the queue")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-level-bytes
  (of-object "GstDataQueue")
  (prop-type "GParamUInt")
  (docs "Current amount of data in the queue (bytes)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-level-time
  (of-object "GstDataQueue")
  (prop-type "GParamUInt64")
  (docs "Current amount of data in the queue (in ns)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstController

(define-property control-rate
  (of-object "GstController")
  (prop-type "GParamUInt64")
  (docs "Controlled properties will be updated at least every control-rate nanoseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstControlSource

;; From GstInterpolationControlSource

;; From GstLFOControlSource

(define-property waveform
  (of-object "GstLFOControlSource")
  (prop-type "GParamEnum")
  (docs "Waveform")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property frequency
  (of-object "GstLFOControlSource")
  (prop-type "GParamDouble")
  (docs "Frequency of the waveform")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timeshift
  (of-object "GstLFOControlSource")
  (prop-type "GParamUInt64")
  (docs "Timeshift of the waveform to the right")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property amplitude
  (of-object "GstLFOControlSource")
  (prop-type "GParamBoxed")
  (docs "Amplitude of the waveform")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property offset
  (of-object "GstLFOControlSource")
  (prop-type "GParamBoxed")
  (docs "Offset of the waveform")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstNetClientClock

(define-property address
  (of-object "GstNetClientClock")
  (prop-type "GParamString")
  (docs "The address of the machine providing a time server, as a dotted quad (x.x.x.x)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property port
  (of-object "GstNetClientClock")
  (prop-type "GParamInt")
  (docs "The port on which the remote server is listening")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstNetTimeProvider

(define-property port
  (of-object "GstNetTimeProvider")
  (prop-type "GParamInt")
  (docs "The port to receive the packets from, 0=allocate")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property address
  (of-object "GstNetTimeProvider")
  (prop-type "GParamString")
  (docs "The address to bind on, as a dotted quad (x.x.x.x)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property clock
  (of-object "GstNetTimeProvider")
  (prop-type "GParamObject")
  (docs "The clock to export over the network")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property active
  (of-object "GstNetTimeProvider")
  (prop-type "GParamBoolean")
  (docs "TRUE if the clock will respond to queries over the network")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstNetTimeProvider

(define-property port
  (of-object "GstNetTimeProvider")
  (prop-type "GParamInt")
  (docs "The port to receive the packets from, 0=allocate")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property address
  (of-object "GstNetTimeProvider")
  (prop-type "GParamString")
  (docs "The address to bind on, as a dotted quad (x.x.x.x)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property clock
  (of-object "GstNetTimeProvider")
  (prop-type "GParamObject")
  (docs "The clock to export over the network")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property active
  (of-object "GstNetTimeProvider")
  (prop-type "GParamBoolean")
  (docs "TRUE if the clock will respond to queries over the network")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstCapsFilter

(define-property caps
  (of-object "GstCapsFilter")
  (prop-type "GParamBoxed")
  (docs "Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFakeSrc

(define-signal handoff
  (of-object "GstFakeSrc")
  (return-type "void")
  (when "last")
  (parameters
    '("GstBuffer*" "p0")
    '("GstPad*" "p1")
  )
)

(define-property data
  (of-object "GstFakeSrc")
  (prop-type "GParamEnum")
  (docs "Data allocation method")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sizetype
  (of-object "GstFakeSrc")
  (prop-type "GParamEnum")
  (docs "How to determine buffer sizes")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sizemin
  (of-object "GstFakeSrc")
  (prop-type "GParamInt")
  (docs "Minimum buffer size")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sizemax
  (of-object "GstFakeSrc")
  (prop-type "GParamInt")
  (docs "Maximum buffer size")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property filltype
  (of-object "GstFakeSrc")
  (prop-type "GParamEnum")
  (docs "How to fill the buffer, if at all")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property datarate
  (of-object "GstFakeSrc")
  (prop-type "GParamInt")
  (docs "Timestamps buffers with number of bytes per second (0 = none)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sync
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "Sync to the clock to the datarate")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property pattern
  (of-object "GstFakeSrc")
  (prop-type "GParamString")
  (docs "pattern")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property signal-handoffs
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "Send a signal before pushing the buffer")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property silent
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "Don't produce last_message events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property dump
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "Dump buffer contents to stdout")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property parentsize
  (of-object "GstFakeSrc")
  (prop-type "GParamInt")
  (docs "Size of parent buffer for sub-buffered allocation")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property last-message
  (of-object "GstFakeSrc")
  (prop-type "GParamString")
  (docs "The last status message")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property can-activate-pull
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "Can activate in pull mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property can-activate-push
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "Can activate in push mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property is-live
  (of-object "GstFakeSrc")
  (prop-type "GParamBoolean")
  (docs "True if the element cannot produce data in PAUSED")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property format
  (of-object "GstFakeSrc")
  (prop-type "GParamEnum")
  (docs "The format of the segment events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFakeSink

(define-signal handoff
  (of-object "GstFakeSink")
  (return-type "void")
  (when "last")
  (parameters
    '("GstBuffer*" "p0")
    '("GstPad*" "p1")
  )
)

(define-signal preroll-handoff
  (of-object "GstFakeSink")
  (return-type "void")
  (when "last")
  (parameters
    '("GstBuffer*" "p0")
    '("GstPad*" "p1")
  )
)

(define-property state-error
  (of-object "GstFakeSink")
  (prop-type "GParamEnum")
  (docs "Generate a state change error")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property silent
  (of-object "GstFakeSink")
  (prop-type "GParamBoolean")
  (docs "Don't produce last_message events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property dump
  (of-object "GstFakeSink")
  (prop-type "GParamBoolean")
  (docs "Dump buffer contents to stdout")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property signal-handoffs
  (of-object "GstFakeSink")
  (prop-type "GParamBoolean")
  (docs "Send a signal before unreffing the buffer")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property last-message
  (of-object "GstFakeSink")
  (prop-type "GParamString")
  (docs "The message describing current status")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property can-activate-push
  (of-object "GstFakeSink")
  (prop-type "GParamBoolean")
  (docs "Can activate in push mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property can-activate-pull
  (of-object "GstFakeSink")
  (prop-type "GParamBoolean")
  (docs "Can activate in pull mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property num-buffers
  (of-object "GstFakeSink")
  (prop-type "GParamInt")
  (docs "Number of buffers to accept going EOS")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFdSink

(define-property fd
  (of-object "GstFdSink")
  (prop-type "GParamInt")
  (docs "An open file descriptor to write to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFdSrc

(define-property fd
  (of-object "GstFdSrc")
  (prop-type "GParamInt")
  (docs "An open file descriptor to read from")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timeout
  (of-object "GstFdSrc")
  (prop-type "GParamUInt64")
  (docs "Post a message after timeout microseconds (0 = disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFileSrc

(define-property location
  (of-object "GstFileSrc")
  (prop-type "GParamString")
  (docs "Location of the file to read")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property fd
  (of-object "GstFileSrc")
  (prop-type "GParamInt")
  (docs "File-descriptor for the file being mmap()d")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property mmapsize
  (of-object "GstFileSrc")
  (prop-type "GParamULong")
  (docs "Size in bytes of mmap()d regions")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sequential
  (of-object "GstFileSrc")
  (prop-type "GParamBoolean")
  (docs "Whether to use madvise to hint to the kernel that access to mmap pages will be sequential")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property touch
  (of-object "GstFileSrc")
  (prop-type "GParamBoolean")
  (docs "Touch mmapped data regions to force them to be read from disk")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property use-mmap
  (of-object "GstFileSrc")
  (prop-type "GParamBoolean")
  (docs "Whether to use mmap() instead of read()")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFileSink

(define-property location
  (of-object "GstFileSink")
  (prop-type "GParamString")
  (docs "Location of the file to write")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffer-mode
  (of-object "GstFileSink")
  (prop-type "GParamEnum")
  (docs "The buffering mode to use")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffer-size
  (of-object "GstFileSink")
  (prop-type "GParamUInt")
  (docs "Size of buffer in number of bytes for line or full buffer-mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property append
  (of-object "GstFileSink")
  (prop-type "GParamBoolean")
  (docs "Append to an already existing file")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFunnel

;; From GstIdentity

(define-signal handoff
  (of-object "GstIdentity")
  (return-type "void")
  (when "last")
  (parameters
    '("GstBuffer*" "p0")
  )
)

(define-property sleep-time
  (of-object "GstIdentity")
  (prop-type "GParamUInt")
  (docs "Microseconds to sleep between processing")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property error-after
  (of-object "GstIdentity")
  (prop-type "GParamInt")
  (docs "Error after N buffers")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property drop-probability
  (of-object "GstIdentity")
  (prop-type "GParamFloat")
  (docs "The Probability a buffer is dropped")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property datarate
  (of-object "GstIdentity")
  (prop-type "GParamInt")
  (docs "(Re)timestamps buffers with number of bytes per second (0 = inactive)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property silent
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "silent")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property single-segment
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Timestamp buffers and eat newsegments so as to appear as one segment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property last-message
  (of-object "GstIdentity")
  (prop-type "GParamString")
  (docs "last-message")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property dump
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Dump buffer contents to stdout")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sync
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Synchronize to pipeline clock")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property check-perfect
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Verify that the stream is time- and data-contiguous. This only logs in the debug log.  This will be deprecated in favor of the check-imperfect-timestamp/offset properties.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property check-imperfect-timestamp
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Send element messages if timestamps and durations do not match up")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property check-imperfect-offset
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Send element messages if offset and offset_end do not match up")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property signal-handoffs
  (of-object "GstIdentity")
  (prop-type "GParamBoolean")
  (docs "Send a signal before pushing the buffer")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstInputSelector

(define-signal block
  (of-object "GstInputSelector")
  (return-type "gint64")
  (when "last")
)

(define-signal switch
  (of-object "GstInputSelector")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("gint64" "p1")
    '("gint64" "p2")
  )
)

(define-property n-pads
  (of-object "GstInputSelector")
  (prop-type "GParamUInt")
  (docs "The number of sink pads")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property active-pad
  (of-object "GstInputSelector")
  (prop-type "GParamObject")
  (docs "The currently active sink pad")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sync-streams
  (of-object "GstInputSelector")
  (prop-type "GParamBoolean")
  (docs "Synchronize inactive streams to the running time of the active stream")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstMultiQueue

(define-signal underrun
  (of-object "GstMultiQueue")
  (return-type "void")
  (when "first")
)

(define-signal overrun
  (of-object "GstMultiQueue")
  (return-type "void")
  (when "first")
)

(define-property extra-size-bytes
  (of-object "GstMultiQueue")
  (prop-type "GParamUInt")
  (docs "Amount of data the queues can grow if one of them is empty (bytes, 0=disable) (NOT IMPLEMENTED)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property extra-size-buffers
  (of-object "GstMultiQueue")
  (prop-type "GParamUInt")
  (docs "Amount of buffers the queues can grow if one of them is empty (0=disable) (NOT IMPLEMENTED)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property extra-size-time
  (of-object "GstMultiQueue")
  (prop-type "GParamUInt64")
  (docs "Amount of time the queues can grow if one of them is empty (in ns, 0=disable) (NOT IMPLEMENTED)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-bytes
  (of-object "GstMultiQueue")
  (prop-type "GParamUInt")
  (docs "Max. amount of data in the queue (bytes, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-buffers
  (of-object "GstMultiQueue")
  (prop-type "GParamUInt")
  (docs "Max. number of buffers in the queue (0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-time
  (of-object "GstMultiQueue")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the queue (in ns, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property use-buffering
  (of-object "GstMultiQueue")
  (prop-type "GParamBoolean")
  (docs "Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property low-percent
  (of-object "GstMultiQueue")
  (prop-type "GParamInt")
  (docs "Low threshold for buffering to start")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property high-percent
  (of-object "GstMultiQueue")
  (prop-type "GParamInt")
  (docs "High threshold for buffering to finish")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sync-by-running-time
  (of-object "GstMultiQueue")
  (prop-type "GParamBoolean")
  (docs "Synchronize deactivated or not-linked streams by running time")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstOutputSelector

(define-property active-pad
  (of-object "GstOutputSelector")
  (prop-type "GParamObject")
  (docs "Currently active src pad")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property resend-latest
  (of-object "GstOutputSelector")
  (prop-type "GParamBoolean")
  (docs "Resend latest buffer after a switch to a new pad")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property pad-negotiation-mode
  (of-object "GstOutputSelector")
  (prop-type "GParamEnum")
  (docs "The mode to be used for pad negotiation")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstQueue

(define-signal underrun
  (of-object "GstQueue")
  (return-type "void")
  (when "first")
)

(define-signal running
  (of-object "GstQueue")
  (return-type "void")
  (when "first")
)

(define-signal overrun
  (of-object "GstQueue")
  (return-type "void")
  (when "first")
)

(define-signal pushing
  (of-object "GstQueue")
  (return-type "void")
  (when "first")
)

(define-property current-level-buffers
  (of-object "GstQueue")
  (prop-type "GParamUInt")
  (docs "Current number of buffers in the queue")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-level-bytes
  (of-object "GstQueue")
  (prop-type "GParamUInt")
  (docs "Current amount of data in the queue (bytes)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-level-time
  (of-object "GstQueue")
  (prop-type "GParamUInt64")
  (docs "Current amount of data in the queue (in ns)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property max-size-buffers
  (of-object "GstQueue")
  (prop-type "GParamUInt")
  (docs "Max. number of buffers in the queue (0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-bytes
  (of-object "GstQueue")
  (prop-type "GParamUInt")
  (docs "Max. amount of data in the queue (bytes, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-time
  (of-object "GstQueue")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the queue (in ns, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-threshold-buffers
  (of-object "GstQueue")
  (prop-type "GParamUInt")
  (docs "Min. number of buffers in the queue to allow reading (0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-threshold-bytes
  (of-object "GstQueue")
  (prop-type "GParamUInt")
  (docs "Min. amount of data in the queue to allow reading (bytes, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-threshold-time
  (of-object "GstQueue")
  (prop-type "GParamUInt64")
  (docs "Min. amount of data in the queue to allow reading (in ns, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property leaky
  (of-object "GstQueue")
  (prop-type "GParamEnum")
  (docs "Where the queue leaks, if at all")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property silent
  (of-object "GstQueue")
  (prop-type "GParamBoolean")
  (docs "Don't emit queue signals")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstQueue2

(define-property current-level-buffers
  (of-object "GstQueue2")
  (prop-type "GParamUInt")
  (docs "Current number of buffers in the queue")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-level-bytes
  (of-object "GstQueue2")
  (prop-type "GParamUInt")
  (docs "Current amount of data in the queue (bytes)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-level-time
  (of-object "GstQueue2")
  (prop-type "GParamUInt64")
  (docs "Current amount of data in the queue (in ns)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property max-size-buffers
  (of-object "GstQueue2")
  (prop-type "GParamUInt")
  (docs "Max. number of buffers in the queue (0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-bytes
  (of-object "GstQueue2")
  (prop-type "GParamUInt")
  (docs "Max. amount of data in the queue (bytes, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-time
  (of-object "GstQueue2")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the queue (in ns, 0=disable)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property use-buffering
  (of-object "GstQueue2")
  (prop-type "GParamBoolean")
  (docs "Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property use-rate-estimate
  (of-object "GstQueue2")
  (prop-type "GParamBoolean")
  (docs "Estimate the bitrate of the stream to calculate time level")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property low-percent
  (of-object "GstQueue2")
  (prop-type "GParamInt")
  (docs "Low threshold for buffering to start. Only used if use-buffering is True")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property high-percent
  (of-object "GstQueue2")
  (prop-type "GParamInt")
  (docs "High threshold for buffering to finish. Only used if use-buffering is True")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property temp-template
  (of-object "GstQueue2")
  (prop-type "GParamString")
  (docs "File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property temp-location
  (of-object "GstQueue2")
  (prop-type "GParamString")
  (docs "Location to store temporary files in (Deprecated: Only read this property, use temp-template to configure the name template)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property temp-remove
  (of-object "GstQueue2")
  (prop-type "GParamBoolean")
  (docs "Remove the temp-location after use")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ring-buffer-max-size
  (of-object "GstQueue2")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the ring buffer (bytes, 0 = disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTee

(define-property num-src-pads
  (of-object "GstTee")
  (prop-type "GParamInt")
  (docs "The number of source pads")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property has-sink-loop
  (of-object "GstTee")
  (prop-type "GParamBoolean")
  (docs "If the element should spawn a thread (unimplemented and deprecated)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property has-chain
  (of-object "GstTee")
  (prop-type "GParamBoolean")
  (docs "If the element can operate in push mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property silent
  (of-object "GstTee")
  (prop-type "GParamBoolean")
  (docs "Don't produce last_message events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property last-message
  (of-object "GstTee")
  (prop-type "GParamString")
  (docs "The message describing current status")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property pull-mode
  (of-object "GstTee")
  (prop-type "GParamEnum")
  (docs "Behavior of tee in pull mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property alloc-pad
  (of-object "GstTee")
  (prop-type "GParamObject")
  (docs "The pad used for gst_pad_alloc_buffer")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTypeFindElement

(define-signal have-type
  (of-object "GstTypeFindElement")
  (return-type "void")
  (when "first")
  (parameters
    '("guint" "p0")
    '("GstCaps*" "p1")
  )
)

(define-property caps
  (of-object "GstTypeFindElement")
  (prop-type "GParamBoxed")
  (docs "detected capabilities in stream")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property minimum
  (of-object "GstTypeFindElement")
  (prop-type "GParamUInt")
  (docs "minimum probability required to accept caps")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property maximum
  (of-object "GstTypeFindElement")
  (prop-type "GParamUInt")
  (docs "probability to stop typefinding (deprecated; non-functional)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property force-caps
  (of-object "GstTypeFindElement")
  (prop-type "GParamBoxed")
  (docs "force caps without doing a typefind")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstValve

(define-property drop
  (of-object "GstValve")
  (prop-type "GParamBoolean")
  (docs "Whether to drop buffers and events or let them through")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAudioClock

;; From GstAudioFilter

;; From GstAudioSink

;; From GstAudioSrc

;; From GstBaseAudioSink

(define-property buffer-time
  (of-object "GstBaseAudioSink")
  (prop-type "GParamInt64")
  (docs "Size of audio buffer in microseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property latency-time
  (of-object "GstBaseAudioSink")
  (prop-type "GParamInt64")
  (docs "Audio latency in microseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property provide-clock
  (of-object "GstBaseAudioSink")
  (prop-type "GParamBoolean")
  (docs "Provide a clock to be used as the global pipeline clock")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property slave-method
  (of-object "GstBaseAudioSink")
  (prop-type "GParamEnum")
  (docs "Algorithm to use to match the rate of the masterclock")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property can-activate-pull
  (of-object "GstBaseAudioSink")
  (prop-type "GParamBoolean")
  (docs "Allow pull-based scheduling")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property alignment-threshold
  (of-object "GstBaseAudioSink")
  (prop-type "GParamUInt64")
  (docs "Timestamp alignment threshold in nanoseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property drift-tolerance
  (of-object "GstBaseAudioSink")
  (prop-type "GParamInt64")
  (docs "Tolerance for clock drift in microseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property discont-wait
  (of-object "GstBaseAudioSink")
  (prop-type "GParamUInt64")
  (docs "Window of time in nanoseconds to wait before creating a discontinuity")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBaseAudioSrc

(define-property buffer-time
  (of-object "GstBaseAudioSrc")
  (prop-type "GParamInt64")
  (docs "Size of audio buffer in microseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property latency-time
  (of-object "GstBaseAudioSrc")
  (prop-type "GParamInt64")
  (docs "Audio latency in microseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property actual-buffer-time
  (of-object "GstBaseAudioSrc")
  (prop-type "GParamInt64")
  (docs "Actual configured size of audio buffer in microseconds")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property actual-latency-time
  (of-object "GstBaseAudioSrc")
  (prop-type "GParamInt64")
  (docs "Actual configured audio latency in microseconds")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property provide-clock
  (of-object "GstBaseAudioSrc")
  (prop-type "GParamBoolean")
  (docs "Provide a clock to be used as the global pipeline clock")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property slave-method
  (of-object "GstBaseAudioSrc")
  (prop-type "GParamEnum")
  (docs "Algorithm to use to match the rate of the masterclock")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBaseRTPAudioPayload

(define-property buffer-list
  (of-object "GstBaseRTPAudioPayload")
  (prop-type "GParamBoolean")
  (docs "Use Buffer Lists")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBaseRTPDepayload

(define-property queue-delay
  (of-object "GstBaseRTPDepayload")
  (prop-type "GParamUInt")
  (docs "Amount of ms to queue/buffer, deprecated")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstBaseRTPPayload

(define-property mtu
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamUInt")
  (docs "Maximum size of one packet")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property pt
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamUInt")
  (docs "The payload type of the packets")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ssrc
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamUInt")
  (docs "The SSRC of the packets (default == random)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timestamp-offset
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamUInt")
  (docs "Offset to add to all outgoing timestamps (default = random)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property seqnum-offset
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamInt")
  (docs "Offset to add to all outgoing seqnum (-1 = random)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-ptime
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamInt64")
  (docs "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-ptime
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamInt64")
  (docs "Minimum duration of the packet data in ns (can't go above MTU)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timestamp
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamUInt")
  (docs "The RTP timestamp of the last processed packet")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property seqnum
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamUInt")
  (docs "The RTP sequence number of the last processed packet")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property perfect-rtptime
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamBoolean")
  (docs "Generate perfect RTP timestamps when possible")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ptime-multiple
  (of-object "GstBaseRTPPayload")
  (prop-type "GParamInt64")
  (docs "Force buffers to be multiples of this duration in ns (0 disables)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstCddaBaseSrc

(define-property mode
  (of-object "GstCddaBaseSrc")
  (prop-type "GParamEnum")
  (docs "Mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property device
  (of-object "GstCddaBaseSrc")
  (prop-type "GParamString")
  (docs "CD device location")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property track
  (of-object "GstCddaBaseSrc")
  (prop-type "GParamUInt")
  (docs "Track")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstDiscoverer

(define-signal finished
  (of-object "GstDiscoverer")
  (return-type "void")
  (when "last")
)

(define-signal starting
  (of-object "GstDiscoverer")
  (return-type "void")
  (when "last")
)

(define-signal discovered
  (of-object "GstDiscoverer")
  (return-type "void")
  (when "last")
  (parameters
    '("GstDiscovererInfo*" "p0")
    '("const-GError*" "p1")
  )
)

(define-property timeout
  (of-object "GstDiscoverer")
  (prop-type "GParamUInt64")
  (docs "Timeout")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstNetBuffer

;; From GstRingBuffer

;; From GstTagDemux

;; From GstVideoFilter

;; From GstVideoSink

(define-property show-preroll-frame
  (of-object "GstVideoSink")
  (prop-type "GParamBoolean")
  (docs "Whether to render video frames during preroll")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstColorBalance

(define-signal value-changed
  (of-object "GstColorBalance")
  (return-type "void")
  (when "last")
  (parameters
    '("GstColorBalanceChannel*" "p0")
    '("gint" "p1")
  )
)

;; From GstColorBalanceChannel

(define-signal value-changed
  (of-object "GstColorBalanceChannel")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

;; From GstMixer

(define-signal record-toggled
  (of-object "GstMixer")
  (return-type "void")
  (when "last")
  (parameters
    '("GstMixerTrack*" "p0")
    '("gboolean" "p1")
  )
)

(define-signal mute-toggled
  (of-object "GstMixer")
  (return-type "void")
  (when "last")
  (parameters
    '("GstMixerTrack*" "p0")
    '("gboolean" "p1")
  )
)

(define-signal volume-changed
  (of-object "GstMixer")
  (return-type "void")
  (when "last")
  (parameters
    '("GstMixerTrack*" "p0")
    '("gpointer" "p1")
  )
)

(define-signal option-changed
  (of-object "GstMixer")
  (return-type "void")
  (when "last")
  (parameters
    '("GstMixerOptions*" "p0")
    '("const-gchar*" "p1")
  )
)

;; From GstMixerTrack

(define-property label
  (of-object "GstMixerTrack")
  (prop-type "GParamString")
  (docs "The label assigned to the track (may be translated)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property untranslated-label
  (of-object "GstMixerTrack")
  (prop-type "GParamString")
  (docs "The untranslated label assigned to the track (since 0.10.13)")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

(define-property index
  (of-object "GstMixerTrack")
  (prop-type "GParamUInt")
  (docs "Track index")
  (readable #t)
  (writable #t)
  (construct-only #t)
)

(define-property min-volume
  (of-object "GstMixerTrack")
  (prop-type "GParamInt")
  (docs "The minimum possible volume level")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property max-volume
  (of-object "GstMixerTrack")
  (prop-type "GParamInt")
  (docs "The maximum possible volume level")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property flags
  (of-object "GstMixerTrack")
  (prop-type "GParamUInt")
  (docs "Flags indicating the type of mixer track")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property num-channels
  (of-object "GstMixerTrack")
  (prop-type "GParamInt")
  (docs "The number of channels contained within the track")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstMixerOptions

;; From GstNavigation

;; From GstPropertyProbe

(define-signal probe-needed
  (of-object "GstPropertyProbe")
  (return-type "void")
  (when "last")
  (parameters
    '("const-GParamSpec*" "p0")
  )
)

;; From GstStreamVolume

(define-property mute
  (of-object "GstStreamVolume")
  (prop-type "GParamBoolean")
  (docs "Mute the audio channel without changing the volume")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property volume
  (of-object "GstStreamVolume")
  (prop-type "GParamDouble")
  (docs "Linear volume factor, 1.0=100%")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTuner

(define-signal frequency-changed
  (of-object "GstTuner")
  (return-type "void")
  (when "last")
  (parameters
    '("GstTunerChannel*" "p0")
    '("gulong" "p1")
  )
)

(define-signal signal-changed
  (of-object "GstTuner")
  (return-type "void")
  (when "last")
  (parameters
    '("GstTunerChannel*" "p0")
    '("gint" "p1")
  )
)

(define-signal norm-changed
  (of-object "GstTuner")
  (return-type "void")
  (when "last")
  (parameters
    '("GstTunerNorm*" "p0")
  )
)

(define-signal channel-changed
  (of-object "GstTuner")
  (return-type "void")
  (when "last")
  (parameters
    '("GstTunerChannel*" "p0")
  )
)

;; From GstTunerChannel

(define-signal frequency-changed
  (of-object "GstTunerChannel")
  (return-type "void")
  (when "last")
  (parameters
    '("gulong" "p0")
  )
)

(define-signal signal-changed
  (of-object "GstTunerChannel")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

;; From GstTunerNorm

;; From GstVideoOrientation

;; From GstXOverlay

;; From GstAdder

(define-property caps
  (of-object "GstAdder")
  (prop-type "GParamBoxed")
  (docs "Set target format for mixing (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAlsaMixerElement

(define-property device
  (of-object "GstAlsaMixerElement")
  (prop-type "GParamString")
  (docs "ALSA device, as defined in an asound configuration file")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property device-name
  (of-object "GstAlsaMixerElement")
  (prop-type "GParamString")
  (docs "Human-readable name of the sound device")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstAlsaSink

(define-property device
  (of-object "GstAlsaSink")
  (prop-type "GParamString")
  (docs "ALSA device, as defined in an asound configuration file")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property device-name
  (of-object "GstAlsaSink")
  (prop-type "GParamString")
  (docs "Human-readable name of the sound device")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property card-name
  (of-object "GstAlsaSink")
  (prop-type "GParamString")
  (docs "Human-readable name of the sound card")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstAlsaSrc

(define-property device
  (of-object "GstAlsaSrc")
  (prop-type "GParamString")
  (docs "ALSA device, as defined in an asound configuration file")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property device-name
  (of-object "GstAlsaSrc")
  (prop-type "GParamString")
  (docs "Human-readable name of the sound device")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property card-name
  (of-object "GstAlsaSrc")
  (prop-type "GParamString")
  (docs "Human-readable name of the sound card")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstAppSrc

(define-signal need-data
  (of-object "GstAppSrc")
  (return-type "void")
  (when "last")
  (parameters
    '("guint" "p0")
  )
)

(define-signal enough-data
  (of-object "GstAppSrc")
  (return-type "void")
  (when "last")
)

(define-signal seek-data
  (of-object "GstAppSrc")
  (return-type "gboolean")
  (when "last")
  (parameters
    '("guint64" "p0")
  )
)

(define-signal push-buffer
  (of-object "GstAppSrc")
  (return-type "GstFlowReturn")
  (when "last")
  (parameters
    '("GstBuffer*" "p0")
  )
)

(define-signal end-of-stream
  (of-object "GstAppSrc")
  (return-type "GstFlowReturn")
  (when "last")
)

(define-property caps
  (of-object "GstAppSrc")
  (prop-type "GParamBoxed")
  (docs "The allowed caps for the src pad")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property size
  (of-object "GstAppSrc")
  (prop-type "GParamInt64")
  (docs "The size of the data stream in bytes (-1 if unknown)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property stream-type
  (of-object "GstAppSrc")
  (prop-type "GParamEnum")
  (docs "the type of the stream")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-bytes
  (of-object "GstAppSrc")
  (prop-type "GParamUInt64")
  (docs "The maximum number of bytes to queue internally (0 = unlimited)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property format
  (of-object "GstAppSrc")
  (prop-type "GParamEnum")
  (docs "The format of the segment events and seek")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property block
  (of-object "GstAppSrc")
  (prop-type "GParamBoolean")
  (docs "Block push-buffer when max-bytes are queued")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property is-live
  (of-object "GstAppSrc")
  (prop-type "GParamBoolean")
  (docs "Whether to act as a live source")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-latency
  (of-object "GstAppSrc")
  (prop-type "GParamInt64")
  (docs "The minimum latency (-1 = default)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-latency
  (of-object "GstAppSrc")
  (prop-type "GParamInt64")
  (docs "The maximum latency (-1 = unlimited)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property emit-signals
  (of-object "GstAppSrc")
  (prop-type "GParamBoolean")
  (docs "Emit need-data, enough-data and seek-data signals")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-percent
  (of-object "GstAppSrc")
  (prop-type "GParamUInt")
  (docs "Emit need-data when queued bytes drops below this percent of max-bytes")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAppSink

(define-signal eos
  (of-object "GstAppSink")
  (return-type "void")
  (when "last")
)

(define-signal new-preroll
  (of-object "GstAppSink")
  (return-type "void")
  (when "last")
)

(define-signal new-buffer
  (of-object "GstAppSink")
  (return-type "void")
  (when "last")
)

(define-signal new-buffer-list
  (of-object "GstAppSink")
  (return-type "void")
  (when "last")
)

(define-signal pull-preroll
  (of-object "GstAppSink")
  (return-type "GstBuffer*")
  (when "last")
)

(define-signal pull-buffer
  (of-object "GstAppSink")
  (return-type "GstBuffer*")
  (when "last")
)

(define-signal pull-buffer-list
  (of-object "GstAppSink")
  (return-type "GstBufferList*")
  (when "last")
)

(define-property caps
  (of-object "GstAppSink")
  (prop-type "GParamBoxed")
  (docs "The allowed caps for the sink pad")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property eos
  (of-object "GstAppSink")
  (prop-type "GParamBoolean")
  (docs "Check if the sink is EOS or not started")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property emit-signals
  (of-object "GstAppSink")
  (prop-type "GParamBoolean")
  (docs "Emit new-preroll, new-buffer and new-buffer-list signals")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-buffers
  (of-object "GstAppSink")
  (prop-type "GParamUInt")
  (docs "The maximum number of buffers to queue internally (0 = unlimited)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property drop
  (of-object "GstAppSink")
  (prop-type "GParamBoolean")
  (docs "Drop old buffers when the buffer queue is filled")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAudioConvert

(define-property dithering
  (of-object "GstAudioConvert")
  (prop-type "GParamEnum")
  (docs "Selects between different dithering methods.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property noise-shaping
  (of-object "GstAudioConvert")
  (prop-type "GParamEnum")
  (docs "Selects between different noise shaping methods.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAudioRate

(define-property in
  (of-object "GstAudioRate")
  (prop-type "GParamUInt64")
  (docs "Number of input samples")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property out
  (of-object "GstAudioRate")
  (prop-type "GParamUInt64")
  (docs "Number of output samples")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property add
  (of-object "GstAudioRate")
  (prop-type "GParamUInt64")
  (docs "Number of added samples")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property drop
  (of-object "GstAudioRate")
  (prop-type "GParamUInt64")
  (docs "Number of dropped samples")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property silent
  (of-object "GstAudioRate")
  (prop-type "GParamBoolean")
  (docs "Don't emit notify for dropped and duplicated frames")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property tolerance
  (of-object "GstAudioRate")
  (prop-type "GParamUInt64")
  (docs "Only act if timestamp jitter/imperfection exceeds indicated tolerance (ns)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property skip-to-first
  (of-object "GstAudioRate")
  (prop-type "GParamBoolean")
  (docs "Don't produce buffers before the first one we receive")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAudioResample

(define-property quality
  (of-object "GstAudioResample")
  (prop-type "GParamInt")
  (docs "Resample quality with 0 being the lowest and 10 being the best")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property filter-length
  (of-object "GstAudioResample")
  (prop-type "GParamInt")
  (docs "Length of the resample filter")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstAudioTestSrc

(define-property samplesperbuffer
  (of-object "GstAudioTestSrc")
  (prop-type "GParamInt")
  (docs "Number of samples in each outgoing buffer")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property wave
  (of-object "GstAudioTestSrc")
  (prop-type "GParamEnum")
  (docs "Oscillator waveform")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property freq
  (of-object "GstAudioTestSrc")
  (prop-type "GParamDouble")
  (docs "Frequency of test signal")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property volume
  (of-object "GstAudioTestSrc")
  (prop-type "GParamDouble")
  (docs "Volume of test signal")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property is-live
  (of-object "GstAudioTestSrc")
  (prop-type "GParamBoolean")
  (docs "Whether to act as a live source")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timestamp-offset
  (of-object "GstAudioTestSrc")
  (prop-type "GParamInt64")
  (docs "An offset added to timestamps set on buffers (in ns)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property can-activate-push
  (of-object "GstAudioTestSrc")
  (prop-type "GParamBoolean")
  (docs "Can activate in push mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property can-activate-pull
  (of-object "GstAudioTestSrc")
  (prop-type "GParamBoolean")
  (docs "Can activate in pull mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstCdParanoiaSrc

(define-signal transport-error
  (of-object "GstCdParanoiaSrc")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal uncorrected-error
  (of-object "GstCdParanoiaSrc")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-property read-speed
  (of-object "GstCdParanoiaSrc")
  (prop-type "GParamInt")
  (docs "Read from device at specified speed")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property paranoia-mode
  (of-object "GstCdParanoiaSrc")
  (prop-type "GParamFlags")
  (docs "Type of checking to perform")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property search-overlap
  (of-object "GstCdParanoiaSrc")
  (prop-type "GParamInt")
  (docs "Force minimum overlap search during verification to n sectors")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property generic-device
  (of-object "GstCdParanoiaSrc")
  (prop-type "GParamString")
  (docs "Use specified generic scsi device")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property cache-size
  (of-object "GstCdParanoiaSrc")
  (prop-type "GParamInt")
  (docs "Set CD cache size to n sectors (-1 = auto)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstClockOverlay

(define-property time-format
  (of-object "GstClockOverlay")
  (prop-type "GParamString")
  (docs "Format to use for time and date value, as in strftime.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstDecodeBin

(define-signal unknown-type
  (of-object "GstDecodeBin")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal new-decoded-pad
  (of-object "GstDecodeBin")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("gboolean" "p1")
  )
)

(define-signal removed-decoded-pad
  (of-object "GstDecodeBin")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-property sink-caps
  (of-object "GstDecodeBin")
  (prop-type "GParamBoxed")
  (docs "The caps of the input data. (NULL = use typefind element)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstDecodeBin2

(define-signal unknown-type
  (of-object "GstDecodeBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal autoplug-continue
  (of-object "GstDecodeBin2")
  (return-type "gboolean")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal autoplug-factories
  (of-object "GstDecodeBin2")
  (return-type "GValueArray*")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal autoplug-sort
  (of-object "GstDecodeBin2")
  (return-type "GValueArray*")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
    '("GValueArray*" "p2")
  )
)

(define-signal autoplug-select
  (of-object "GstDecodeBin2")
  (return-type "GstAutoplugSelectResult")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
    '("GstElementFactory*" "p2")
  )
)

(define-signal drained
  (of-object "GstDecodeBin2")
  (return-type "void")
  (when "last")
)

(define-signal new-decoded-pad
  (of-object "GstDecodeBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("gboolean" "p1")
  )
)

(define-signal removed-decoded-pad
  (of-object "GstDecodeBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
  )
)

(define-property caps
  (of-object "GstDecodeBin2")
  (prop-type "GParamBoxed")
  (docs "The caps on which to stop decoding.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property subtitle-encoding
  (of-object "GstDecodeBin2")
  (prop-type "GParamString")
  (docs "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sink-caps
  (of-object "GstDecodeBin2")
  (prop-type "GParamBoxed")
  (docs "The caps of the input data. (NULL = use typefind element)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property use-buffering
  (of-object "GstDecodeBin2")
  (prop-type "GParamBoolean")
  (docs "Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property low-percent
  (of-object "GstDecodeBin2")
  (prop-type "GParamInt")
  (docs "Low threshold for buffering to start")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property high-percent
  (of-object "GstDecodeBin2")
  (prop-type "GParamInt")
  (docs "High threshold for buffering to finish")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-bytes
  (of-object "GstDecodeBin2")
  (prop-type "GParamUInt")
  (docs "Max. amount of bytes in the queue (0=automatic)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-buffers
  (of-object "GstDecodeBin2")
  (prop-type "GParamUInt")
  (docs "Max. number of buffers in the queue (0=automatic)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-size-time
  (of-object "GstDecodeBin2")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the queue (in ns, 0=automatic)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property post-stream-topology
  (of-object "GstDecodeBin2")
  (prop-type "GParamBoolean")
  (docs "Post stream-topology messages")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property expose-all-streams
  (of-object "GstDecodeBin2")
  (prop-type "GParamBoolean")
  (docs "Expose all streams, including those of unknown type or that don't match the 'caps' property")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstFFMpegCsp

;; From GstGDPDepay

;; From GstGDPPay

(define-property crc-header
  (of-object "GstGDPPay")
  (prop-type "GParamBoolean")
  (docs "Calculate and store a CRC checksum on the header")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property crc-payload
  (of-object "GstGDPPay")
  (prop-type "GParamBoolean")
  (docs "Calculate and store a CRC checksum on the payload")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property version
  (of-object "GstGDPPay")
  (prop-type "GParamEnum")
  (docs "Version of the GStreamer Data Protocol")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstGioSink

(define-property location
  (of-object "GstGioSink")
  (prop-type "GParamString")
  (docs "URI location to write to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property file
  (of-object "GstGioSink")
  (prop-type "GParamObject")
  (docs "GFile to write to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstGioSrc

(define-property location
  (of-object "GstGioSrc")
  (prop-type "GParamString")
  (docs "URI location to read from")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property file
  (of-object "GstGioSrc")
  (prop-type "GParamObject")
  (docs "GFile to read from")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstGioStreamSink

(define-property stream
  (of-object "GstGioStreamSink")
  (prop-type "GParamObject")
  (docs "Stream to write to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstGioStreamSrc

(define-property stream
  (of-object "GstGioStreamSrc")
  (prop-type "GParamObject")
  (docs "Stream to read from")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstMultiFdSink

(define-signal add
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal add-full
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
    '("GstSyncMethod" "p1")
    '("GstTCPUnitType" "p2")
    '("guint64" "p3")
    '("GstTCPUnitType" "p4")
    '("guint64" "p5")
  )
)

(define-signal remove
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal remove-flush
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal clear
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
)

(define-signal get-stats
  (of-object "GstMultiFdSink")
  (return-type "GValueArray*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal client-added
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal client-removed
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
    '("GstClientStatus" "p1")
  )
)

(define-signal client-fd-removed
  (of-object "GstMultiFdSink")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-property protocol
  (of-object "GstMultiFdSink")
  (prop-type "GParamEnum")
  (docs "The protocol to wrap data in. GDP protocol here is deprecated. Please use gdppay element.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property mode
  (of-object "GstMultiFdSink")
  (prop-type "GParamEnum")
  (docs "The mode for selecting activity on the fds (deprecated)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffers-queued
  (of-object "GstMultiFdSink")
  (prop-type "GParamUInt")
  (docs "Number of buffers currently queued")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property unit-type
  (of-object "GstMultiFdSink")
  (prop-type "GParamEnum")
  (docs "The unit to measure the max/soft-max/queued properties")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property units-max
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt64")
  (docs "max number of units to queue (-1 = no limit)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property units-soft-max
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt64")
  (docs "Recover client when going over this limit (-1 = no limit)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffers-max
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt")
  (docs "max number of buffers to queue for a client (-1 = no limit)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffers-soft-max
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt")
  (docs "Recover client when going over this limit (-1 = no limit)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property time-min
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt64")
  (docs "min number of time to queue (-1 = as little as possible)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property bytes-min
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt")
  (docs "min number of bytes to queue (-1 = as little as possible)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffers-min
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt")
  (docs "min number of buffers to queue (-1 = as few as possible)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property recover-policy
  (of-object "GstMultiFdSink")
  (prop-type "GParamEnum")
  (docs "How to recover when client reaches the soft max")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timeout
  (of-object "GstMultiFdSink")
  (prop-type "GParamUInt64")
  (docs "Maximum inactivity timeout in nanoseconds for a client (0 = no limit)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sync-method
  (of-object "GstMultiFdSink")
  (prop-type "GParamEnum")
  (docs "How to sync new clients to the stream")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property bytes-to-serve
  (of-object "GstMultiFdSink")
  (prop-type "GParamUInt64")
  (docs "Number of bytes received to serve to clients")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property bytes-served
  (of-object "GstMultiFdSink")
  (prop-type "GParamUInt64")
  (docs "Total number of bytes send to all clients")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property burst-unit
  (of-object "GstMultiFdSink")
  (prop-type "GParamEnum")
  (docs "The format of the burst units (when sync-method is burst[[-with]-keyframe])")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property burst-value
  (of-object "GstMultiFdSink")
  (prop-type "GParamUInt64")
  (docs "The amount of burst expressed in burst-unit")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property qos-dscp
  (of-object "GstMultiFdSink")
  (prop-type "GParamInt")
  (docs "Quality of Service, differentiated services code point (-1 default)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property handle-read
  (of-object "GstMultiFdSink")
  (prop-type "GParamBoolean")
  (docs "Handle client reads and discard the data")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property resend-streamheader
  (of-object "GstMultiFdSink")
  (prop-type "GParamBoolean")
  (docs "Resend the streamheader if it changes in the caps")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property num-fds
  (of-object "GstMultiFdSink")
  (prop-type "GParamUInt")
  (docs "The current number of client file descriptors.")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstOggDemux

;; From GstOggMux

(define-property max-delay
  (of-object "GstOggMux")
  (prop-type "GParamUInt64")
  (docs "Maximum delay in multiplexing streams")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-page-delay
  (of-object "GstOggMux")
  (prop-type "GParamUInt64")
  (docs "Maximum delay for sending out a page")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-tolerance
  (of-object "GstOggMux")
  (prop-type "GParamUInt64")
  (docs "Maximum timestamp difference for maintaining perfect granules")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property skeleton
  (of-object "GstOggMux")
  (prop-type "GParamBoolean")
  (docs "Whether to include a Skeleton track")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstPlayBin

(define-property audio-sink
  (of-object "GstPlayBin")
  (prop-type "GParamObject")
  (docs "the audio output element to use (NULL = default sink)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property video-sink
  (of-object "GstPlayBin")
  (prop-type "GParamObject")
  (docs "the video output element to use (NULL = default sink)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property vis-plugin
  (of-object "GstPlayBin")
  (prop-type "GParamObject")
  (docs "the visualization element to use (NULL = none)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property volume
  (of-object "GstPlayBin")
  (prop-type "GParamDouble")
  (docs "volume")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property frame
  (of-object "GstPlayBin")
  (prop-type "GParamSpecMiniObject")
  (docs "The last frame (NULL = no video available)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property subtitle-font-desc
  (of-object "GstPlayBin")
  (prop-type "GParamString")
  (docs "Pango font description of font to be used for subtitle rendering")
  (readable #f)
  (writable #t)
  (construct-only #f)
)

;; From GstPlayBin2

(define-signal source-setup
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("GstElement*" "p0")
  )
)

(define-signal about-to-finish
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
)

(define-signal video-changed
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
)

(define-signal audio-changed
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
)

(define-signal text-changed
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
)

(define-signal video-tags-changed
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal audio-tags-changed
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal text-tags-changed
  (of-object "GstPlayBin2")
  (return-type "void")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal get-video-tags
  (of-object "GstPlayBin2")
  (return-type "GstTagList*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal get-audio-tags
  (of-object "GstPlayBin2")
  (return-type "GstTagList*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal get-text-tags
  (of-object "GstPlayBin2")
  (return-type "GstTagList*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal convert-frame
  (of-object "GstPlayBin2")
  (return-type "GstBuffer*")
  (when "last")
  (parameters
    '("GstCaps*" "p0")
  )
)

(define-signal get-video-pad
  (of-object "GstPlayBin2")
  (return-type "GstPad*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal get-audio-pad
  (of-object "GstPlayBin2")
  (return-type "GstPad*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-signal get-text-pad
  (of-object "GstPlayBin2")
  (return-type "GstPad*")
  (when "last")
  (parameters
    '("gint" "p0")
  )
)

(define-property uri
  (of-object "GstPlayBin2")
  (prop-type "GParamString")
  (docs "URI of the media to play")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property suburi
  (of-object "GstPlayBin2")
  (prop-type "GParamString")
  (docs "Optional URI of a subtitle")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property source
  (of-object "GstPlayBin2")
  (prop-type "GParamObject")
  (docs "Source element")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property flags
  (of-object "GstPlayBin2")
  (prop-type "GParamFlags")
  (docs "Flags to control behaviour")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property n-video
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Total number of video streams")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-video
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Currently playing video stream (-1 = auto)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property n-audio
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Total number of audio streams")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-audio
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Currently playing audio stream (-1 = auto)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property n-text
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Total number of text streams")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property current-text
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Currently playing text stream (-1 = auto)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property subtitle-encoding
  (of-object "GstPlayBin2")
  (prop-type "GParamString")
  (docs "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property audio-sink
  (of-object "GstPlayBin2")
  (prop-type "GParamObject")
  (docs "the audio output element to use (NULL = default sink)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property video-sink
  (of-object "GstPlayBin2")
  (prop-type "GParamObject")
  (docs "the video output element to use (NULL = default sink)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property vis-plugin
  (of-object "GstPlayBin2")
  (prop-type "GParamObject")
  (docs "the visualization element to use (NULL = default)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property text-sink
  (of-object "GstPlayBin2")
  (prop-type "GParamObject")
  (docs "the text output element to use (NULL = default textoverlay)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property volume
  (of-object "GstPlayBin2")
  (prop-type "GParamDouble")
  (docs "The audio volume, 1.0=100%")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property mute
  (of-object "GstPlayBin2")
  (prop-type "GParamBoolean")
  (docs "Mute the audio channel without changing the volume")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property frame
  (of-object "GstPlayBin2")
  (prop-type "GParamSpecMiniObject")
  (docs "The last frame (NULL = no video available)")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property subtitle-font-desc
  (of-object "GstPlayBin2")
  (prop-type "GParamString")
  (docs "Pango font description of font to be used for subtitle rendering")
  (readable #f)
  (writable #t)
  (construct-only #f)
)

(define-property connection-speed
  (of-object "GstPlayBin2")
  (prop-type "GParamUInt")
  (docs "Network connection speed in kbps (0 = unknown)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffer-size
  (of-object "GstPlayBin2")
  (prop-type "GParamInt")
  (docs "Buffer size when buffering network streams")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffer-duration
  (of-object "GstPlayBin2")
  (prop-type "GParamInt64")
  (docs "Buffer duration when buffering network streams")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property av-offset
  (of-object "GstPlayBin2")
  (prop-type "GParamInt64")
  (docs "The synchronisation offset between audio and video in nanoseconds")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ring-buffer-max-size
  (of-object "GstPlayBin2")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstSubtitleOverlay

(define-property silent
  (of-object "GstSubtitleOverlay")
  (prop-type "GParamBoolean")
  (docs "Whether to show subtitles")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property font-desc
  (of-object "GstSubtitleOverlay")
  (prop-type "GParamString")
  (docs "Pango font description of font to be used for subtitle rendering")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property subtitle-encoding
  (of-object "GstSubtitleOverlay")
  (prop-type "GParamString")
  (docs "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTCPClientSrc

(define-property host
  (of-object "GstTCPClientSrc")
  (prop-type "GParamString")
  (docs "The host IP address to receive packets from")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property port
  (of-object "GstTCPClientSrc")
  (prop-type "GParamInt")
  (docs "The port to receive packets from")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property protocol
  (of-object "GstTCPClientSrc")
  (prop-type "GParamEnum")
  (docs "The protocol to wrap data in")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTCPClientSink

(define-property host
  (of-object "GstTCPClientSink")
  (prop-type "GParamString")
  (docs "The host/IP to send the packets to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property port
  (of-object "GstTCPClientSink")
  (prop-type "GParamInt")
  (docs "The port to send the packets to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property protocol
  (of-object "GstTCPClientSink")
  (prop-type "GParamEnum")
  (docs "The protocol to wrap data in")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTCPServerSrc

(define-property host
  (of-object "GstTCPServerSrc")
  (prop-type "GParamString")
  (docs "The hostname to listen as")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property port
  (of-object "GstTCPServerSrc")
  (prop-type "GParamInt")
  (docs "The port to listen to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property protocol
  (of-object "GstTCPServerSrc")
  (prop-type "GParamEnum")
  (docs "The protocol to wrap data in")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTCPServerSink

(define-property host
  (of-object "GstTCPServerSink")
  (prop-type "GParamString")
  (docs "The host/IP to send the packets to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property port
  (of-object "GstTCPServerSink")
  (prop-type "GParamInt")
  (docs "The port to send the packets to")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTextOverlay

(define-property text
  (of-object "GstTextOverlay")
  (prop-type "GParamString")
  (docs "Text to be display.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property shaded-background
  (of-object "GstTextOverlay")
  (prop-type "GParamBoolean")
  (docs "Whether to shade the background under the text area")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property valign
  (of-object "GstTextOverlay")
  (prop-type "GParamString")
  (docs "Vertical alignment of the text (deprecated; use valignment)")
  (readable #f)
  (writable #t)
  (construct-only #f)
)

(define-property halign
  (of-object "GstTextOverlay")
  (prop-type "GParamString")
  (docs "Horizontal alignment of the text (deprecated; use halignment)")
  (readable #f)
  (writable #t)
  (construct-only #f)
)

(define-property halignment
  (of-object "GstTextOverlay")
  (prop-type "GParamEnum")
  (docs "Horizontal alignment of the text")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property valignment
  (of-object "GstTextOverlay")
  (prop-type "GParamEnum")
  (docs "Vertical alignment of the text")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property xpad
  (of-object "GstTextOverlay")
  (prop-type "GParamInt")
  (docs "Horizontal paddding when using left/right alignment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ypad
  (of-object "GstTextOverlay")
  (prop-type "GParamInt")
  (docs "Vertical padding when using top/bottom alignment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property deltax
  (of-object "GstTextOverlay")
  (prop-type "GParamInt")
  (docs "Shift X position to the left or to the right. Unit is pixels.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property deltay
  (of-object "GstTextOverlay")
  (prop-type "GParamInt")
  (docs "Shift Y position up or down. Unit is pixels.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property xpos
  (of-object "GstTextOverlay")
  (prop-type "GParamDouble")
  (docs "Horizontal position when using position alignment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ypos
  (of-object "GstTextOverlay")
  (prop-type "GParamDouble")
  (docs "Vertical position when using position alignment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property wrap-mode
  (of-object "GstTextOverlay")
  (prop-type "GParamEnum")
  (docs "Whether to wrap the text and if so how.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property font-desc
  (of-object "GstTextOverlay")
  (prop-type "GParamString")
  (docs "Pango font description of font to be used for rendering. See documentation of pango_font_description_from_string for syntax.")
  (readable #f)
  (writable #t)
  (construct-only #f)
)

(define-property silent
  (of-object "GstTextOverlay")
  (prop-type "GParamBoolean")
  (docs "Whether to render the text string")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property line-alignment
  (of-object "GstTextOverlay")
  (prop-type "GParamEnum")
  (docs "Alignment of text lines relative to each other.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property wait-text
  (of-object "GstTextOverlay")
  (prop-type "GParamBoolean")
  (docs "Whether to wait for subtitles")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property auto-resize
  (of-object "GstTextOverlay")
  (prop-type "GParamBoolean")
  (docs "Automatically adjust font size to screen-size.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property vertical-render
  (of-object "GstTextOverlay")
  (prop-type "GParamBoolean")
  (docs "Vertical Render.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property color
  (of-object "GstTextOverlay")
  (prop-type "GParamUInt")
  (docs "Color to use for text (big-endian ARGB).")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property shadow
  (of-object "GstTextOverlay")
  (prop-type "GParamBoolean")
  (docs "Whether to create a shadow of the letters under the text")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property outline-color
  (of-object "GstTextOverlay")
  (prop-type "GParamUInt")
  (docs "Color to use for outline the text (big-endian ARGB).")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTextRender

(define-property halignment
  (of-object "GstTextRender")
  (prop-type "GParamEnum")
  (docs "Horizontal alignment of the text")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property valignment
  (of-object "GstTextRender")
  (prop-type "GParamEnum")
  (docs "Vertical alignment of the text")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property line-alignment
  (of-object "GstTextRender")
  (prop-type "GParamEnum")
  (docs "Alignment of text lines relative to each other.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property xpad
  (of-object "GstTextRender")
  (prop-type "GParamInt")
  (docs "Horizontal paddding when using left/right alignment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ypad
  (of-object "GstTextRender")
  (prop-type "GParamInt")
  (docs "Vertical padding when using top/bottom alignment")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property font-desc
  (of-object "GstTextRender")
  (prop-type "GParamString")
  (docs "Pango font description of font to be used for rendering. See documentation of pango_font_description_from_string for syntax.")
  (readable #f)
  (writable #t)
  (construct-only #f)
)

;; From GstTheoraDec

(define-property crop
  (of-object "GstTheoraDec")
  (prop-type "GParamBoolean")
  (docs "Crop the image to the visible region")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTheoraEnc

(define-property center
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property border
  (of-object "GstTheoraEnc")
  (prop-type "GParamEnum")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property bitrate
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "Compressed video bitrate (kbps)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property quality
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "Video quality")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property quick
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property keyframe-auto
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "Automatic keyframe detection")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property keyframe-freq
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "Keyframe frequency")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property keyframe-force
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "Force keyframe every N frames")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property keyframe-threshold
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property keyframe-mindistance
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property noise-sensitivity
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sharpness
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "ignored and kept for API compat only")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property speed-level
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "Controls the amount of analysis performed when encoding. Higher values trade compression quality for speed. This property requires libtheora version >= 1.0, and the maximum value may vary based on encoder version.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property vp3-compatible
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "Disables non-VP3 compatible features")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property drop-frames
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "Allow or disallow frame dropping")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property cap-overflow
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "Enable capping of bit reservoir overflows")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property cap-underflow
  (of-object "GstTheoraEnc")
  (prop-type "GParamBoolean")
  (docs "Enable capping of bit reservoir underflows")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property rate-buffer
  (of-object "GstTheoraEnc")
  (prop-type "GParamInt")
  (docs "Sets the size of the rate control buffer, in units of frames.  The default value of 0 instructs the encoder to automatically select an appropriate value")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property multipass-cache-file
  (of-object "GstTheoraEnc")
  (prop-type "GParamString")
  (docs "Multipass cache file")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property multipass-mode
  (of-object "GstTheoraEnc")
  (prop-type "GParamEnum")
  (docs "Single pass or first/second pass")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTheoraParse

(define-property synchronization-points
  (of-object "GstTheoraParse")
  (prop-type "GParamValueArray")
  (docs "An array of (granuletime, buffertime) pairs")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstTimeOverlay

;; From GstURIDecodeBin

(define-signal unknown-type
  (of-object "GstURIDecodeBin")
  (return-type "void")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal autoplug-continue
  (of-object "GstURIDecodeBin")
  (return-type "gboolean")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal autoplug-factories
  (of-object "GstURIDecodeBin")
  (return-type "GValueArray*")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
  )
)

(define-signal autoplug-sort
  (of-object "GstURIDecodeBin")
  (return-type "GValueArray*")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
    '("GValueArray*" "p2")
  )
)

(define-signal autoplug-select
  (of-object "GstURIDecodeBin")
  (return-type "GstAutoplugSelectResult")
  (when "last")
  (parameters
    '("GstPad*" "p0")
    '("GstCaps*" "p1")
    '("GstElementFactory*" "p2")
  )
)

(define-signal drained
  (of-object "GstURIDecodeBin")
  (return-type "void")
  (when "last")
)

(define-signal source-setup
  (of-object "GstURIDecodeBin")
  (return-type "void")
  (when "last")
  (parameters
    '("GstElement*" "p0")
  )
)

(define-property uri
  (of-object "GstURIDecodeBin")
  (prop-type "GParamString")
  (docs "URI to decode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property source
  (of-object "GstURIDecodeBin")
  (prop-type "GParamObject")
  (docs "Source object used")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property connection-speed
  (of-object "GstURIDecodeBin")
  (prop-type "GParamUInt")
  (docs "Network connection speed in kbps (0 = unknown)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property caps
  (of-object "GstURIDecodeBin")
  (prop-type "GParamBoxed")
  (docs "The caps on which to stop decoding. (NULL = default)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property subtitle-encoding
  (of-object "GstURIDecodeBin")
  (prop-type "GParamString")
  (docs "Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffer-size
  (of-object "GstURIDecodeBin")
  (prop-type "GParamInt")
  (docs "Buffer size when buffering streams (-1 default value)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property buffer-duration
  (of-object "GstURIDecodeBin")
  (prop-type "GParamInt64")
  (docs "Buffer duration when buffering streams (-1 default value)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property download
  (of-object "GstURIDecodeBin")
  (prop-type "GParamBoolean")
  (docs "Attempt download buffering when buffering network streams")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property use-buffering
  (of-object "GstURIDecodeBin")
  (prop-type "GParamBoolean")
  (docs "Perform buffering on demuxed/parsed media")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property expose-all-streams
  (of-object "GstURIDecodeBin")
  (prop-type "GParamBoolean")
  (docs "Expose all streams, including those of unknown type or that don't match the 'caps' property")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ring-buffer-max-size
  (of-object "GstURIDecodeBin")
  (prop-type "GParamUInt64")
  (docs "Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstVideoRate

(define-property in
  (of-object "GstVideoRate")
  (prop-type "GParamUInt64")
  (docs "Number of input frames")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property out
  (of-object "GstVideoRate")
  (prop-type "GParamUInt64")
  (docs "Number of output frames")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property duplicate
  (of-object "GstVideoRate")
  (prop-type "GParamUInt64")
  (docs "Number of duplicated frames")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property drop
  (of-object "GstVideoRate")
  (prop-type "GParamUInt64")
  (docs "Number of dropped frames")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property silent
  (of-object "GstVideoRate")
  (prop-type "GParamBoolean")
  (docs "Don't emit notify for dropped and duplicated frames")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property new-pref
  (of-object "GstVideoRate")
  (prop-type "GParamDouble")
  (docs "Value indicating how much to prefer new frames (unused)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property skip-to-first
  (of-object "GstVideoRate")
  (prop-type "GParamBoolean")
  (docs "Don't produce buffers before the first one we receive")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property drop-only
  (of-object "GstVideoRate")
  (prop-type "GParamBoolean")
  (docs "Only drop frames, no duplicates are produced")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property average-period
  (of-object "GstVideoRate")
  (prop-type "GParamUInt64")
  (docs "Period over which to average the framerate (in ns) (0 = disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property max-rate
  (of-object "GstVideoRate")
  (prop-type "GParamInt")
  (docs "Maximum framerate allowed to pass through (in frames per second, implies drop-only)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property force-fps
  (of-object "GstVideoRate")
  (prop-type "GstParamFraction")
  (docs "Force output framerate (negative means negotiate via caps)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstVideoScale

(define-property method
  (of-object "GstVideoScale")
  (prop-type "GParamEnum")
  (docs "method")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property add-borders
  (of-object "GstVideoScale")
  (prop-type "GParamBoolean")
  (docs "Add black borders if necessary to keep the display aspect ratio")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sharpness
  (of-object "GstVideoScale")
  (prop-type "GParamDouble")
  (docs "Sharpness of filter")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property sharpen
  (of-object "GstVideoScale")
  (prop-type "GParamDouble")
  (docs "Sharpening")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property dither
  (of-object "GstVideoScale")
  (prop-type "GParamBoolean")
  (docs "Add dither (only used for Lanczos method)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property envelope
  (of-object "GstVideoScale")
  (prop-type "GParamDouble")
  (docs "Size of filter envelope")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstVideoTestSrc

(define-property pattern
  (of-object "GstVideoTestSrc")
  (prop-type "GParamEnum")
  (docs "Type of test pattern to generate")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property timestamp-offset
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt64")
  (docs "An offset added to timestamps set on buffers (in ns)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property is-live
  (of-object "GstVideoTestSrc")
  (prop-type "GParamBoolean")
  (docs "Whether to act as a live source")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property peer-alloc
  (of-object "GstVideoTestSrc")
  (prop-type "GParamBoolean")
  (docs "Ask the peer to allocate an output buffer")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property colorspec
  (of-object "GstVideoTestSrc")
  (prop-type "GParamEnum")
  (docs "Generate video in the given color specification (Deprecated: use a caps filter with video/x-raw-yuv,color-matrix='sdtv' or 'hdtv' instead)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property k0
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate zero order phase, for generating plain fields or phase offsets")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kx
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 1st order x phase, for generating constant horizontal frequencies")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ky
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 1st order y phase, for generating contant vertical frequencies")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kt
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 1st order t phase, for generating phase rotation as a function of time")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kxt
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate x*t product phase, normalised to kxy/256 cycles per vertical pixel at width/2 from origin")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kyt
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate y*t product phase")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kxy
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate x*y product phase")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kx2
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 2nd order x phase, normalised to kx2/256 cycles per horizontal pixel at width/2 from origin")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property ky2
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 2nd order y phase, normailsed to ky2/256 cycles per vertical pixel at height/2 from origin")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property kt2
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 2nd order t phase, t*t/256 cycles per picture")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property xoffset
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 2nd order products x offset")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property yoffset
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Zoneplate 2nd order products y offset")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property foreground-color
  (of-object "GstVideoTestSrc")
  (prop-type "GParamUInt")
  (docs "Foreground color to use (big-endian ARGB)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property background-color
  (of-object "GstVideoTestSrc")
  (prop-type "GParamUInt")
  (docs "Background color to use (big-endian ARGB)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property horizontal-speed
  (of-object "GstVideoTestSrc")
  (prop-type "GParamInt")
  (docs "Scroll image number of pixels per frame (positive is scroll to the left)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstVolume

(define-property mute
  (of-object "GstVolume")
  (prop-type "GParamBoolean")
  (docs "mute channel")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property volume
  (of-object "GstVolume")
  (prop-type "GParamDouble")
  (docs "volume factor, 1.0=100%")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

;; From GstVorbisDec

;; From GstVorbisEnc

(define-property max-bitrate
  (of-object "GstVorbisEnc")
  (prop-type "GParamInt")
  (docs "Specify a maximum bitrate (in bps). Useful for streaming applications. (-1 == disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property bitrate
  (of-object "GstVorbisEnc")
  (prop-type "GParamInt")
  (docs "Attempt to encode at a bitrate averaging this (in bps). This uses the bitrate management engine, and is not recommended for most users. Quality is a better alternative. (-1 == disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property min-bitrate
  (of-object "GstVorbisEnc")
  (prop-type "GParamInt")
  (docs "Specify a minimum bitrate (in bps). Useful for encoding for a fixed-size channel. (-1 == disabled)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property quality
  (of-object "GstVorbisEnc")
  (prop-type "GParamFloat")
  (docs "Specify quality instead of specifying a particular bitrate.")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property managed
  (of-object "GstVorbisEnc")
  (prop-type "GParamBoolean")
  (docs "Enable bitrate management engine")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property last-message
  (of-object "GstVorbisEnc")
  (prop-type "GParamString")
  (docs "The last status message")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstVorbisParse

;; From GstVorbisTag

;; From GstXImageSink

(define-property display
  (of-object "GstXImageSink")
  (prop-type "GParamString")
  (docs "X Display name")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property synchronous
  (of-object "GstXImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, runs the X display in synchronous mode. (unrelated to A/V sync, used only for debugging)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property pixel-aspect-ratio
  (of-object "GstXImageSink")
  (prop-type "GParamString")
  (docs "The pixel aspect ratio of the device")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property force-aspect-ratio
  (of-object "GstXImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, reverse caps negotiation (scaling) will respect original aspect ratio")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property handle-events
  (of-object "GstXImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, XEvents will be selected and handled")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property handle-expose
  (of-object "GstXImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, the current frame will always be drawn in response to X Expose events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property window-width
  (of-object "GstXImageSink")
  (prop-type "GParamUInt64")
  (docs "Width of the window")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property window-height
  (of-object "GstXImageSink")
  (prop-type "GParamUInt64")
  (docs "Height of the window")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

;; From GstXvImageSink

(define-property contrast
  (of-object "GstXvImageSink")
  (prop-type "GParamInt")
  (docs "The contrast of the video")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property brightness
  (of-object "GstXvImageSink")
  (prop-type "GParamInt")
  (docs "The brightness of the video")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property hue
  (of-object "GstXvImageSink")
  (prop-type "GParamInt")
  (docs "The hue of the video")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property saturation
  (of-object "GstXvImageSink")
  (prop-type "GParamInt")
  (docs "The saturation of the video")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property display
  (of-object "GstXvImageSink")
  (prop-type "GParamString")
  (docs "X Display name")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property synchronous
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, runs the X display in synchronous mode. (unrelated to A/V sync, used only for debugging)")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property pixel-aspect-ratio
  (of-object "GstXvImageSink")
  (prop-type "GParamString")
  (docs "The pixel aspect ratio of the device")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property force-aspect-ratio
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, scaling will respect original aspect ratio")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property handle-events
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, XEvents will be selected and handled")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property device
  (of-object "GstXvImageSink")
  (prop-type "GParamString")
  (docs "The number of the video adaptor")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property device-name
  (of-object "GstXvImageSink")
  (prop-type "GParamString")
  (docs "The name of the video adaptor")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property handle-expose
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "When enabled, the current frame will always be drawn in response to X Expose events")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property double-buffer
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "Whether to double-buffer the output")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property autopaint-colorkey
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "Whether to autofill overlay with colorkey")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property colorkey
  (of-object "GstXvImageSink")
  (prop-type "GParamInt")
  (docs "Color to use for the overlay mask")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property draw-borders
  (of-object "GstXvImageSink")
  (prop-type "GParamBoolean")
  (docs "Draw black borders to fill unused area in force-aspect-ratio mode")
  (readable #t)
  (writable #t)
  (construct-only #f)
)

(define-property window-width
  (of-object "GstXvImageSink")
  (prop-type "GParamUInt64")
  (docs "Width of the window")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

(define-property window-height
  (of-object "GstXvImageSink")
  (prop-type "GParamUInt64")
  (docs "Height of the window")
  (readable #t)
  (writable #f)
  (construct-only #f)
)

