diff options
Diffstat (limited to 'src/pulsecore/core.h')
-rw-r--r-- | src/pulsecore/core.h | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/src/pulsecore/core.h b/src/pulsecore/core.h index f796fb93..b349c6fc 100644 --- a/src/pulsecore/core.h +++ b/src/pulsecore/core.h @@ -25,6 +25,8 @@ #include <pulse/mainloop-api.h> #include <pulse/sample.h> +typedef struct pa_core pa_core; + #include <pulsecore/idxset.h> #include <pulsecore/hashmap.h> #include <pulsecore/memblock.h> @@ -34,13 +36,18 @@ #include <pulsecore/hook-list.h> #include <pulsecore/asyncmsgq.h> #include <pulsecore/sample-util.h> - -typedef struct pa_core pa_core; - +#include <pulsecore/sink.h> +#include <pulsecore/source.h> #include <pulsecore/core-subscribe.h> #include <pulsecore/sink-input.h> #include <pulsecore/msgobject.h> +typedef enum pa_core_state { + PA_CORE_STARTUP, + PA_CORE_RUNNING, + PA_CORE_SHUTDOWN +} pa_core_state_t; + typedef enum pa_core_hook { PA_CORE_HOOK_SINK_NEW, PA_CORE_HOOK_SINK_FIXATE, @@ -49,7 +56,6 @@ typedef enum pa_core_hook { PA_CORE_HOOK_SINK_UNLINK_POST, PA_CORE_HOOK_SINK_STATE_CHANGED, PA_CORE_HOOK_SINK_PROPLIST_CHANGED, - PA_CORE_HOOK_SINK_SET_VOLUME, PA_CORE_HOOK_SOURCE_NEW, PA_CORE_HOOK_SOURCE_FIXATE, PA_CORE_HOOK_SOURCE_PUT, @@ -62,8 +68,8 @@ typedef enum pa_core_hook { PA_CORE_HOOK_SINK_INPUT_PUT, PA_CORE_HOOK_SINK_INPUT_UNLINK, PA_CORE_HOOK_SINK_INPUT_UNLINK_POST, - PA_CORE_HOOK_SINK_INPUT_MOVE, - PA_CORE_HOOK_SINK_INPUT_MOVE_POST, + PA_CORE_HOOK_SINK_INPUT_MOVE_START, + PA_CORE_HOOK_SINK_INPUT_MOVE_FINISH, PA_CORE_HOOK_SINK_INPUT_STATE_CHANGED, PA_CORE_HOOK_SINK_INPUT_PROPLIST_CHANGED, PA_CORE_HOOK_SINK_INPUT_SET_VOLUME, @@ -72,10 +78,16 @@ typedef enum pa_core_hook { PA_CORE_HOOK_SOURCE_OUTPUT_PUT, PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK, PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK_POST, - PA_CORE_HOOK_SOURCE_OUTPUT_MOVE, - PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_POST, + PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_START, + PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FINISH, PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED, PA_CORE_HOOK_SOURCE_OUTPUT_PROPLIST_CHANGED, + PA_CORE_HOOK_CLIENT_NEW, + PA_CORE_HOOK_CLIENT_PUT, + PA_CORE_HOOK_CLIENT_UNLINK, + PA_CORE_HOOK_CARD_NEW, + PA_CORE_HOOK_CARD_PUT, + PA_CORE_HOOK_CARD_UNLINK, PA_CORE_HOOK_MAX } pa_core_hook_t; @@ -86,6 +98,8 @@ typedef enum pa_core_hook { struct pa_core { pa_msgobject parent; + pa_core_state_t state; + /* A random value which may be used to identify this instance of * PulseAudio. Not cryptographically secure in any way. */ uint32_t cookie; @@ -93,18 +107,18 @@ struct pa_core { pa_mainloop_api *mainloop; /* idxset of all kinds of entities */ - pa_idxset *clients, *sinks, *sources, *sink_inputs, *source_outputs, *modules, *scache, *autoload_idxset; + pa_idxset *clients, *cards, *sinks, *sources, *sink_inputs, *source_outputs, *modules, *scache; /* Some hashmaps for all sorts of entities */ - pa_hashmap *namereg, *autoload_hashmap, *shared; + pa_hashmap *namereg, *shared; /* The name of the default sink/source */ - char *default_source_name, *default_sink_name; + pa_source *default_source; + pa_sink *default_sink; pa_sample_spec default_sample_spec; unsigned default_n_fragments, default_fragment_size_msec; - pa_time_event *module_auto_unload_event; pa_defer_event *module_defer_unload_event; pa_defer_event *subscription_defer_event; @@ -115,7 +129,8 @@ struct pa_core { pa_mempool *mempool; pa_silence_cache silence_cache; - int exit_idle_time, module_idle_time, scache_idle_time; + int exit_idle_time, scache_idle_time; + pa_bool_t flat_volumes; pa_time_event *exit_event; |