Music Hub  ..
A session-wide music playback service
audio::PulseAudioOutputObserver::Private Struct Reference
+ Collaboration diagram for audio::PulseAudioOutputObserver::Private:

Public Member Functions

 Private (const audio::PulseAudioOutputObserver::Configuration &config)
 
void on_context_ready ()
 
void on_context_failed ()
 
void on_sink_event_with_index (std::int32_t index)
 
void on_query_for_active_sink_finished (const pa_sink_info *info)
 
void on_query_for_primary_sink_finished (const pa_sink_info *info)
 
void on_query_for_server_info_finished (const pa_server_info *info)
 

Static Public Member Functions

static void context_notification_cb (pa_context *ctxt, void *cookie)
 
static void context_subscription_cb (pa_context *ctxt, pa_subscription_event_type_t ev, uint32_t idx, void *cookie)
 
static void query_for_active_sink_finished (pa_context *ctxt, const pa_sink_info *si, int eol, void *cookie)
 
static void query_for_primary_sink_finished (pa_context *ctxt, const pa_sink_info *si, int eol, void *cookie)
 
static void query_for_server_info_finished (pa_context *ctxt, const pa_server_info *si, void *cookie)
 

Public Attributes

PulseAudioOutputObserver::Configuration config
 
pa::ThreadedMainLoopPtr main_loop
 
pa::ContextPtr context
 
std::int32_t primary_sink_index
 
std::tuple< uint32_t, std::string > active_sink
 
std::vector< std::tuple< std::regex, core::Property< media::audio::OutputState > > > outputs
 
struct {
   core::Property< std::string >   sink
 
   core::Property< std::set< audio::PulseAudioOutputObserver::Reporter::Port > >   known_ports
 
   core::Property< audio::OutputState >   external_output_state {audio::OutputState::Speaker}
 
properties
 

Detailed Description

Definition at line 146 of file pulse_audio_output_observer.cpp.

Constructor & Destructor Documentation

audio::PulseAudioOutputObserver::Private::Private ( const audio::PulseAudioOutputObserver::Configuration &  config)
inline

Definition at line 235 of file pulse_audio_output_observer.cpp.

Member Function Documentation

static void audio::PulseAudioOutputObserver::Private::context_notification_cb ( pa_context *  ctxt,
void *  cookie 
)
inlinestatic

Definition at line 148 of file pulse_audio_output_observer.cpp.

static void audio::PulseAudioOutputObserver::Private::context_subscription_cb ( pa_context *  ctxt,
pa_subscription_event_type_t  ev,
uint32_t  idx,
void *  cookie 
)
inlinestatic

Definition at line 171 of file pulse_audio_output_observer.cpp.

void audio::PulseAudioOutputObserver::Private::on_context_failed ( )
inline

Definition at line 283 of file pulse_audio_output_observer.cpp.

References context.

void audio::PulseAudioOutputObserver::Private::on_context_ready ( )
inline

Definition at line 261 of file pulse_audio_output_observer.cpp.

References config, context, main_loop, properties, query_for_primary_sink_finished(), and query_for_server_info_finished().

+ Here is the call graph for this function:

void audio::PulseAudioOutputObserver::Private::on_query_for_active_sink_finished ( const pa_sink_info *  info)
inline

Definition at line 298 of file pulse_audio_output_observer.cpp.

References active_sink, outputs, and primary_sink_index.

void audio::PulseAudioOutputObserver::Private::on_query_for_primary_sink_finished ( const pa_sink_info *  info)
inline
void audio::PulseAudioOutputObserver::Private::on_query_for_server_info_finished ( const pa_server_info *  info)
inline
void audio::PulseAudioOutputObserver::Private::on_sink_event_with_index ( std::int32_t  index)
inline

Definition at line 289 of file pulse_audio_output_observer.cpp.

References config, context, main_loop, and query_for_server_info_finished().

+ Here is the call graph for this function:

static void audio::PulseAudioOutputObserver::Private::query_for_active_sink_finished ( pa_context *  ctxt,
const pa_sink_info *  si,
int  eol,
void *  cookie 
)
inlinestatic

Definition at line 187 of file pulse_audio_output_observer.cpp.

Referenced by on_query_for_server_info_finished().

static void audio::PulseAudioOutputObserver::Private::query_for_primary_sink_finished ( pa_context *  ctxt,
const pa_sink_info *  si,
int  eol,
void *  cookie 
)
inlinestatic
static void audio::PulseAudioOutputObserver::Private::query_for_server_info_finished ( pa_context *  ctxt,
const pa_server_info *  si,
void *  cookie 
)
inlinestatic

Definition at line 219 of file pulse_audio_output_observer.cpp.

Referenced by on_context_ready(), and on_sink_event_with_index().

Member Data Documentation

std::tuple<uint32_t, std::string> audio::PulseAudioOutputObserver::Private::active_sink
PulseAudioOutputObserver::Configuration audio::PulseAudioOutputObserver::Private::config
pa::ContextPtr audio::PulseAudioOutputObserver::Private::context
core::Property<audio::OutputState> audio::PulseAudioOutputObserver::Private::external_output_state {audio::OutputState::Speaker}

Definition at line 400 of file pulse_audio_output_observer.cpp.

core::Property<std::set<audio::PulseAudioOutputObserver::Reporter::Port> > audio::PulseAudioOutputObserver::Private::known_ports

Definition at line 399 of file pulse_audio_output_observer.cpp.

Referenced by on_query_for_primary_sink_finished().

pa::ThreadedMainLoopPtr audio::PulseAudioOutputObserver::Private::main_loop
std::vector<std::tuple<std::regex, core::Property<media::audio::OutputState> > > audio::PulseAudioOutputObserver::Private::outputs
std::int32_t audio::PulseAudioOutputObserver::Private::primary_sink_index
struct { ... } audio::PulseAudioOutputObserver::Private::properties
core::Property<std::string> audio::PulseAudioOutputObserver::Private::sink

Definition at line 398 of file pulse_audio_output_observer.cpp.


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