summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source-output.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-06-14 17:12:40 +0000
committerLennart Poettering <lennart@poettering.net>2007-06-14 17:12:40 +0000
commit5e72ac353ed6f81ee1efc1691f725a2c8d67ac40 (patch)
tree7fe305cb5e7e0b221f6d99497ecec419940b309b /src/pulsecore/source-output.h
parent260dd1e886dcc99147c48293c67b1910374b76ad (diff)
rework sink input/source output state machine
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1478 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/source-output.h')
-rw-r--r--src/pulsecore/source-output.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/pulsecore/source-output.h b/src/pulsecore/source-output.h
index d3bc0bc4..7b6afe81 100644
--- a/src/pulsecore/source-output.h
+++ b/src/pulsecore/source-output.h
@@ -51,7 +51,7 @@ struct pa_source_output {
uint32_t index;
pa_core *core;
- pa_atomic_t state;
+ pa_source_output_state_t state;
pa_source_output_flags_t flags;
char *name, *driver; /* may be NULL */
@@ -63,7 +63,6 @@ struct pa_source_output {
pa_sample_spec sample_spec;
pa_channel_map channel_map;
- int (*process_msg)(pa_sink_input *i, int code, void *userdata);
void (*push)(pa_source_output *o, const pa_memchunk *chunk);
void (*kill)(pa_source_output* o); /* may be NULL */
pa_usec_t (*get_latency) (pa_source_output *o); /* may be NULL */
@@ -71,6 +70,8 @@ struct pa_source_output {
pa_resample_method_t resample_method;
struct {
+ pa_source_output_state_t state;
+
pa_sample_spec sample_spec;
pa_resampler* resampler; /* may be NULL */
@@ -85,6 +86,7 @@ PA_DECLARE_CLASS(pa_source_output);
enum {
PA_SOURCE_OUTPUT_MESSAGE_GET_LATENCY,
PA_SOURCE_OUTPUT_MESSAGE_SET_RATE,
+ PA_SOURCE_OUTPUT_MESSAGE_SET_STATE,
PA_SOURCE_OUTPUT_MESSAGE_MAX
};
@@ -135,7 +137,7 @@ pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o);
int pa_source_output_move_to(pa_source_output *o, pa_source *dest);
-#define pa_source_output_get_state(o) ((pa_source_output_state_t) pa_atomic_load(&o->state))
+#define pa_source_output_get_state(o) ((o)->state)
/* To be used exclusively by the source driver thread */