Module libpulse_binding::stream::flags
source · 👎Deprecated since 2.20.0: Use the associated constants on
FlagSet
.Expand description
Some special flags for stream connections.
Constants
- ADJUST_LATENCYDeprecatedTry to adjust the latency of the sink/source based on the requested buffer metrics and adjust buffer metrics accordingly. Also see
BufferAttr
. This option may not be specified at the same time asEARLY_REQUESTS
. - AUTO_TIMING_UPDATEDeprecatedIf set timing update requests are issued periodically automatically. Combined with
INTERPOLATE_TIMING
you will be able to query the current time and latency withStream::get_time()
andStream::get_latency()
at all times without a packet round trip. - DONT_INHIBIT_AUTO_SUSPENDDeprecatedIf set this stream won’t be taken into account when it is checked whether the device this stream is connected to should auto-suspend.
- DONT_MOVEDeprecatedDon’t allow moving of this stream to another sink/device. Useful if you use any of the
Fix*
flags and want to make sure that resampling never takes place – which might happen if the stream is moved to another sink/source with a different sample spec/channel map. - EARLY_REQUESTSDeprecatedEnable compatibility mode for legacy clients that rely on a “classic” hardware device fragment-style playback model. If this option is set, the
minreq
value of the buffer metrics gets a new meaning: instead of just specifying that no requests asking for less new data than this value will be made to the client it will also guarantee that requests are generated as early as this limit is reached. This flag should only be set in very few situations where compatibility with a fragment-based playback model needs to be kept and the client applications cannot deal with data requests that are delayed to the latest moment possible. (Usually these are programs that use usleep() or a similar call in their playback loops instead of sleeping on the device itself.) Also seeBufferAttr
. This option may not be specified at the same time asADJUST_LATENCY
. - FAIL_ON_SUSPENDDeprecatedIf the sink/source this stream is connected to is suspended during the creation of this stream, cause it to fail. If the sink/source is being suspended during creation of this stream, make sure this stream is terminated.
- FIX_CHANNELSDeprecatedUse the number of channels and the channel map of the sink, and possibly ignore the number of channels and the map the sample spec and the passed channel map contains. Usage similar to
FIX_FORMAT
. - FIX_FORMATDeprecatedUse the sample format of the sink/device this stream is being connected to, and possibly ignore the format the sample spec contains – but you still have to pass a valid value in it as a hint to PulseAudio what would suit your stream best. If this is used you should query the used sample format after creating the stream by using
Stream::get_sample_spec()
. Also, if you specified manual buffer metrics it is recommended to update them withStream::set_buffer_attr()
to compensate for the changed frame sizes. - FIX_RATEDeprecatedUse the sample rate of the sink, and possibly ignore the rate the sample spec contains. Usage similar to
FIX_FORMAT
. - INTERPOLATE_TIMINGDeprecatedInterpolate the latency for this stream. When enabled,
Stream::get_latency()
andStream::get_time()
will try to estimate the current record/playback time based on the local time that passed since the last timing info update. Using this option has the advantage of not requiring a whole round trip when the current playback/recording time is needed. Consider using this option when requesting latency information frequently. This is especially useful on long latency network connections. It makes a lot of sense to combine this option withAUTO_TIMING_UPDATE
. - NOFLAGSDeprecatedFlag to pass when no specific options are needed.
- NOT_MONOTONICDeprecatedDon’t force the time to increase monotonically. If this option is enabled,
Stream::get_time()
will not necessarily return always monotonically increasing time values on each call. This may confuse applications which cannot deal with time going ‘backwards’, but has the advantage that bad transport latency estimations that caused the time to jump ahead can be corrected quickly, without the need to wait. - NO_REMAP_CHANNELSDeprecatedDon’t remap channels by their name, instead map them simply by their index. Implies
NO_REMIX_CHANNELS
. - NO_REMIX_CHANNELSDeprecatedWhen remapping channels by name, don’t upmix or downmix them to related channels. Copy them into matching channels of the device 1:1.
- PASSTHROUGHDeprecatedUsed to tag content that will be rendered by passthrough sinks. The data will be left as is and not reformatted, resampled.
- PEAK_DETECTDeprecatedFind peaks instead of resampling.
- RELATIVE_VOLUMEDeprecatedIf a volume is passed when this stream is created, consider it relative to the sink’s current volume, never as absolute device volume. If this is not specified the volume will be consider absolute when the sink is in flat volume mode, relative otherwise.
- START_CORKEDDeprecatedCreate the stream corked, requiring an explicit
Stream::uncork()
call to uncork it. - START_MUTEDDeprecatedCreate in muted state. If neither
START_UNMUTED
nor this is specified, it is left to the server to decide whether to create the stream in muted or in un-muted state. - START_UNMUTEDDeprecatedCreate in unmuted state. If neither
START_MUTED
nor this is specified, it is left to the server to decide whether to create the stream in muted or in unmuted state. - VARIABLE_RATEDeprecatedAllow dynamic changing of the sampling rate during playback with
Stream::update_sample_rate()
.