MPD 0.17~git
Data Fields
audio_output Struct Reference

#include <output_internal.h>

Data Fields

const char * name
 The device's configured display name.
struct audio_output_pluginplugin
 The plugin which implements this output device.
struct mixermixer
 The mixer object associated with this audio output device.
bool always_on
 Shall this output always play something (i.e.
bool enabled
 Has the user enabled this device?
bool really_enabled
 Is this device actually enabled, i.e.
bool open
 Is the device (already) open and functional?
bool pause
 Is the device paused? i.e.
bool allow_play
 When this flag is set, the output thread will not do any playback.
GTimer * fail_timer
 If not NULL, the device has failed, and this timer is used to estimate how long it should stay disabled (unless explicitly reopened with "play").
struct audio_format config_audio_format
 The configured audio format.
struct audio_format in_audio_format
 The audio_format in which audio data is received from the player thread (which in turn receives it from the decoder).
struct audio_format out_audio_format
 The audio_format which is really sent to the device.
struct pcm_buffer cross_fade_buffer
 The buffer used to allocate the cross-fading result.
struct filterfilter
 The filter object of this audio output.
struct filterreplay_gain_filter
 The replay_gain_filter_plugin instance of this audio output.
unsigned replay_gain_serial
 The serial number of the last replay gain info.
struct filterother_replay_gain_filter
 The replay_gain_filter_plugin instance of this audio output, to be applied to the second chunk during cross-fading.
unsigned other_replay_gain_serial
 The serial number of the last replay gain info by the "other" chunk during cross-fading.
struct filterconvert_filter
 The convert_filter_plugin instance of this audio output.
GThread * thread
 The thread handle, or NULL if the output thread isn't running.
enum audio_output_command command
 The next command to be performed by the output thread.
struct music_pipe * pipe
 The music pipe which provides music chunks to be played.
GMutex * mutex
 This mutex protects open, fail_timer, chunk and chunk_finished.
GCond * cond
 This condition object wakes up the output thread after command has been set.
struct player_controlplayer_control
 The player_control object which "owns" this output.
struct music_chunkchunk
 The music_chunk which is currently being played.
bool chunk_finished
 Has the output finished playing chunk?

Detailed Description

Definition at line 57 of file output_internal.h.


Field Documentation

When this flag is set, the output thread will not do any playback.

It will wait until the flag is cleared.

This is used to synchronize the "clear" operation on the shared music pipe during the CANCEL command.

Definition at line 115 of file output_internal.h.

Shall this output always play something (i.e.

silence), even when playback is stopped?

Definition at line 79 of file output_internal.h.

The music_chunk which is currently being played.

All chunks before this one may be returned to the #music_buffer, because they are not going to be used by this output anymore.

Definition at line 227 of file output_internal.h.

Has the output finished playing chunk?

Definition at line 232 of file output_internal.h.

The next command to be performed by the output thread.

Definition at line 196 of file output_internal.h.

This condition object wakes up the output thread after command has been set.

Definition at line 213 of file output_internal.h.

The configured audio format.

Definition at line 127 of file output_internal.h.

The convert_filter_plugin instance of this audio output.

It is the last item in the filter chain, and is responsible for converting the input data into the appropriate format for this audio output.

Definition at line 185 of file output_internal.h.

The buffer used to allocate the cross-fading result.

Definition at line 146 of file output_internal.h.

Has the user enabled this device?

Definition at line 84 of file output_internal.h.

If not NULL, the device has failed, and this timer is used to estimate how long it should stay disabled (unless explicitly reopened with "play").

Definition at line 122 of file output_internal.h.

The filter object of this audio output.

This is an instance of chain_filter_plugin.

Definition at line 152 of file output_internal.h.

The audio_format in which audio data is received from the player thread (which in turn receives it from the decoder).

Definition at line 133 of file output_internal.h.

The mixer object associated with this audio output device.

May be NULL if none is available, or if software volume is configured.

Definition at line 73 of file output_internal.h.

This mutex protects open, fail_timer, chunk and chunk_finished.

Definition at line 207 of file output_internal.h.

const char* audio_output::name

The device's configured display name.

Definition at line 61 of file output_internal.h.

Is the device (already) open and functional?

This attribute may only be modified by the output thread. It is protected with mutex: write accesses inside the output thread and read accesses outside of it may only be performed while the lock is held.

Definition at line 100 of file output_internal.h.

The replay_gain_filter_plugin instance of this audio output, to be applied to the second chunk during cross-fading.

Definition at line 171 of file output_internal.h.

The serial number of the last replay gain info by the "other" chunk during cross-fading.

Definition at line 177 of file output_internal.h.

The audio_format which is really sent to the device.

This is basically config_audio_format (if configured) or in_audio_format, but may have been modified by plugin->open().

Definition at line 141 of file output_internal.h.

Is the device paused? i.e.

the output thread is in the ao_pause() loop.

Definition at line 106 of file output_internal.h.

struct music_pipe* audio_output::pipe

The music pipe which provides music chunks to be played.

Definition at line 201 of file output_internal.h.

The player_control object which "owns" this output.

This object is needed to signal command completion.

Definition at line 219 of file output_internal.h.

The plugin which implements this output device.

Definition at line 66 of file output_internal.h.

Is this device actually enabled, i.e.

the "enable" method has succeeded?

Definition at line 90 of file output_internal.h.

The replay_gain_filter_plugin instance of this audio output.

Definition at line 158 of file output_internal.h.

The serial number of the last replay gain info.

0 means no replay gain info was available.

Definition at line 164 of file output_internal.h.

The thread handle, or NULL if the output thread isn't running.

Definition at line 191 of file output_internal.h.


The documentation for this struct was generated from the following file: