Interface

GstApp-1.0GstAppAppSrcSignalSignatures

interface SignalSignatures {
    "deep-notify": (arg0: Gst.Object, arg1: GObject.ParamSpec) => void;
    "deep-notify::name": (arg0: Gst.Object, arg1: GObject.ParamSpec) => void;
    "deep-notify::parent": (arg0: Gst.Object, arg1: GObject.ParamSpec) => void;
    "end-of-stream": () => Gst.FlowReturn;
    "enough-data": () => void;
    "need-data": (arg0: number) => void;
    "no-more-pads": () => void;
    notify: (arg0: GObject.ParamSpec) => void;
    "notify::automatic-eos": (pspec: GObject.ParamSpec) => void;
    "notify::block": (pspec: GObject.ParamSpec) => void;
    "notify::blocksize": (pspec: GObject.ParamSpec) => void;
    "notify::caps": (pspec: GObject.ParamSpec) => void;
    "notify::current-level-buffers": (pspec: GObject.ParamSpec) => void;
    "notify::current-level-bytes": (pspec: GObject.ParamSpec) => void;
    "notify::current-level-time": (pspec: GObject.ParamSpec) => void;
    "notify::do-timestamp": (pspec: GObject.ParamSpec) => void;
    "notify::dropped": (pspec: GObject.ParamSpec) => void;
    "notify::duration": (pspec: GObject.ParamSpec) => void;
    "notify::emit-signals": (pspec: GObject.ParamSpec) => void;
    "notify::format": (pspec: GObject.ParamSpec) => void;
    "notify::handle-segment-change": (pspec: GObject.ParamSpec) => void;
    "notify::in": (pspec: GObject.ParamSpec) => void;
    "notify::is-live": (pspec: GObject.ParamSpec) => void;
    "notify::leaky-type": (pspec: GObject.ParamSpec) => void;
    "notify::max-buffers": (pspec: GObject.ParamSpec) => void;
    "notify::max-bytes": (pspec: GObject.ParamSpec) => void;
    "notify::max-latency": (pspec: GObject.ParamSpec) => void;
    "notify::max-time": (pspec: GObject.ParamSpec) => void;
    "notify::min-latency": (pspec: GObject.ParamSpec) => void;
    "notify::min-percent": (pspec: GObject.ParamSpec) => void;
    "notify::name": (pspec: GObject.ParamSpec) => void;
    "notify::num-buffers": (pspec: GObject.ParamSpec) => void;
    "notify::out": (pspec: GObject.ParamSpec) => void;
    "notify::parent": (pspec: GObject.ParamSpec) => void;
    "notify::silent": (pspec: GObject.ParamSpec) => void;
    "notify::size": (pspec: GObject.ParamSpec) => void;
    "notify::stream-type": (pspec: GObject.ParamSpec) => void;
    "notify::typefind": (pspec: GObject.ParamSpec) => void;
    "pad-added": (arg0: Gst.Pad) => void;
    "pad-removed": (arg0: Gst.Pad) => void;
    "push-buffer": (arg0: Gst.Buffer) => Gst.FlowReturn;
    "push-buffer-list": (arg0: BufferList) => Gst.FlowReturn;
    "push-sample": (arg0: Sample) => Gst.FlowReturn;
    "seek-data": (arg0: number) => boolean | void;
}

Hierarchy (View Summary)

Index

Properties

"end-of-stream": () => Gst.FlowReturn

Notify appsrc that no more buffer are available.

"enough-data": () => void

Signal that the source has enough data. It is recommended that the application stops calling push-buffer until the need-data signal is emitted again to avoid excessive buffer queueing.

"need-data": (arg0: number) => void

Signal that the source needs more data. In the callback or from another thread you should call push-buffer or end-of-stream.

length is just a hint and when it is set to -1, any number of bytes can be pushed into appsrc.

You can call push-buffer multiple times until the enough-data signal is fired.

"notify::automatic-eos": (pspec: GObject.ParamSpec) => void
"notify::block": (pspec: GObject.ParamSpec) => void
"notify::blocksize": (pspec: GObject.ParamSpec) => void
"notify::caps": (pspec: GObject.ParamSpec) => void
"notify::current-level-buffers": (pspec: GObject.ParamSpec) => void
"notify::current-level-bytes": (pspec: GObject.ParamSpec) => void
"notify::current-level-time": (pspec: GObject.ParamSpec) => void
"notify::do-timestamp": (pspec: GObject.ParamSpec) => void
"notify::dropped": (pspec: GObject.ParamSpec) => void
"notify::duration": (pspec: GObject.ParamSpec) => void
"notify::emit-signals": (pspec: GObject.ParamSpec) => void
"notify::format": (pspec: GObject.ParamSpec) => void
"notify::handle-segment-change": (pspec: GObject.ParamSpec) => void
"notify::in": (pspec: GObject.ParamSpec) => void
"notify::is-live": (pspec: GObject.ParamSpec) => void
"notify::leaky-type": (pspec: GObject.ParamSpec) => void
"notify::max-buffers": (pspec: GObject.ParamSpec) => void
"notify::max-bytes": (pspec: GObject.ParamSpec) => void
"notify::max-latency": (pspec: GObject.ParamSpec) => void
"notify::max-time": (pspec: GObject.ParamSpec) => void
"notify::min-latency": (pspec: GObject.ParamSpec) => void
"notify::min-percent": (pspec: GObject.ParamSpec) => void
"notify::name": (pspec: GObject.ParamSpec) => void
"notify::num-buffers": (pspec: GObject.ParamSpec) => void
"notify::out": (pspec: GObject.ParamSpec) => void
"notify::parent": (pspec: GObject.ParamSpec) => void
"notify::silent": (pspec: GObject.ParamSpec) => void
"notify::size": (pspec: GObject.ParamSpec) => void
"notify::stream-type": (pspec: GObject.ParamSpec) => void
"notify::typefind": (pspec: GObject.ParamSpec) => void
"push-buffer": (arg0: Gst.Buffer) => Gst.FlowReturn

Adds a buffer to the queue of buffers that the appsrc element will push to its source pad.

This function does not take ownership of the buffer, but it takes a reference so the buffer can be unreffed at any time after calling this function.

When the block property is TRUE, this function can block until free space becomes available in the queue.

"push-buffer-list": (arg0: BufferList) => Gst.FlowReturn

Adds a buffer list to the queue of buffers and buffer lists that the appsrc element will push to its source pad.

This function does not take ownership of the buffer list, but it takes a reference so the buffer list can be unreffed at any time after calling this function.

When the block property is TRUE, this function can block until free space becomes available in the queue.

1.14

"push-sample": (arg0: Sample) => Gst.FlowReturn

Extract a buffer from the provided sample and adds the extracted buffer to the queue of buffers that the appsrc element will push to its source pad. This function set the appsrc caps based on the caps in the sample and reset the caps if they change. Only the caps and the buffer of the provided sample are used and not for example the segment in the sample.

This function does not take ownership of the sample, but it takes a reference so the sample can be unreffed at any time after calling this function.

When the block property is TRUE, this function can block until free space becomes available in the queue.

1.6

"seek-data": (arg0: number) => boolean | void

Seek to the given offset. The next push-buffer should produce buffers from the new offset. This callback is only called for seekable stream types.

Properties - Inherited from GstBase

"deep-notify": (arg0: Gst.Object, arg1: GObject.ParamSpec) => void

The deep notify signal is used to be notified of property changes. It is typically attached to the toplevel bin to receive notifications from all the elements contained in that bin.

"deep-notify::name": (arg0: Gst.Object, arg1: GObject.ParamSpec) => void

The deep notify signal is used to be notified of property changes. It is typically attached to the toplevel bin to receive notifications from all the elements contained in that bin.

"deep-notify::parent": (arg0: Gst.Object, arg1: GObject.ParamSpec) => void

The deep notify signal is used to be notified of property changes. It is typically attached to the toplevel bin to receive notifications from all the elements contained in that bin.

"no-more-pads": () => void

This signals that the element will not generate more dynamic pads. Note that this signal will usually be emitted from the context of the streaming thread.

notify: (arg0: GObject.ParamSpec) => void

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with GObject.ParamFlags.EXPLICIT_NOTIFY, then any call to g_object_set_property() results in ::notify being emitted, even if the new value is the same as the old. If they did pass GObject.ParamFlags.EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

g_signal_connect (text_view->buffer, "notify::paste-target-list",
G_CALLBACK (gtk_text_view_target_list_notify),
text_view)

It is important to note that you must use [canonical parameter names][class@GObject.ParamSpec#parameter-names] as detail strings for the notify signal.

"pad-added": (arg0: Gst.Pad) => void

a new Gst.Pad has been added to the element. Note that this signal will usually be emitted from the context of the streaming thread. Also keep in mind that if you add new elements to the pipeline in the signal handler you will need to set them to the desired target state with gst_element_set_state() or gst_element_sync_state_with_parent().

"pad-removed": (arg0: Gst.Pad) => void

a Gst.Pad has been removed from the element