Class

PwgStream

since: 0.1

Description [src]

final class Pwg.Stream : GObject.Object
{
  /* No available fields */
}

App-owned PipeWire stream wrapper.

This is the primary API for app-owned audio streams. The current constructor supports capture streams and reports negotiated format, reduced level data, and optional copied audio blocks to bindings.

Stability: Unstable

Available since: 0.1

Ancestors

Constructors

pwg_stream_new_audio_capture

Creates an audio capture stream that reports copied/reduced level data to high-level language bindings.

since: 0.1

Instance methods

pwg_stream_get_audio_format

Gets the current negotiated audio format.

since: 0.1

pwg_stream_get_channels

Gets the negotiated channel count.

since: 0.1

pwg_stream_get_deliver_audio_blocks

Gets whether copied audio block delivery is enabled.

since: 0.1

pwg_stream_get_monitor

Gets whether sink monitor capture was requested.

since: 0.1

pwg_stream_get_peak

Gets the latest absolute sample peak.

since: 0.1

pwg_stream_get_rate

Gets the negotiated sample rate.

since: 0.1

pwg_stream_get_requested_channels

Gets the requested channel count used when the stream is started.

since: 0.1

pwg_stream_get_requested_rate

Gets the requested sample rate used when the stream is started.

since: 0.1

pwg_stream_get_requested_sample_format

Gets the requested sample format used when the stream is started.

since: 0.1

pwg_stream_get_running

Gets whether the stream is running.

since: 0.1

pwg_stream_get_target_object

Gets the requested PipeWire target object.

since: 0.1

pwg_stream_set_deliver_audio_blocks

Enables or disables the PwgStream::audio-block signal. Audio block delivery copies realtime PipeWire buffers and should be enabled only by consumers that need sample data.

since: 0.1

pwg_stream_set_pipewire_property

Sets an app-specific PipeWire stream property override before the stream is started. This can be used for bindable identity and policy hints such as node.name, node.description, application.name, media.class, media.name, media.category, or media.role.

since: 0.1

pwg_stream_set_requested_format

Sets the raw audio format requested when the stream is started.

since: 0.1

pwg_stream_start

Starts the PipeWire stream.

since: 0.1

pwg_stream_stop

Stops the stream if it is running.

since: 0.1

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Pwg.Stream:audio-format

Current negotiated audio format, or NULL before format negotiation.

since: 0.1

Pwg.Stream:channels

Negotiated channel count, or 0 before format negotiation.

since: 0.1

Pwg.Stream:deliver-audio-blocks

Whether to emit copied audio blocks from the stream.

since: 0.1

Pwg.Stream:monitor

Whether to capture sink monitor audio instead of source audio.

since: 0.1

Pwg.Stream:peak

Most recent absolute sample peak.

since: 0.1

Pwg.Stream:rate

Negotiated sample rate, or 0 before format negotiation.

since: 0.1

Pwg.Stream:running

Whether the stream is running.

since: 0.1

Pwg.Stream:target-object

PipeWire node.name or object serial to capture from.

since: 0.1

Signals

Pwg.Stream::audio-block

Emitted from the object’s construction thread-default main context when a copied audio block is available. Enable this signal with pwg_stream_set_deliver_audio_blocks().

since: 0.1

Pwg.Stream::level

Emitted from the object’s construction thread-default main context when a new peak value is available.

since: 0.1

Signals inherited from GObject (1)
GObject::notify

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.

Class structure

struct PwgStreamClass {
  GObjectClass parent_class;
  
}

No description available.

Class members
parent_class: GObjectClass

No description available.