summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source-output.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulsecore/source-output.h')
-rw-r--r--src/pulsecore/source-output.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pulsecore/source-output.h b/src/pulsecore/source-output.h
index aba2510b..9369568c 100644
--- a/src/pulsecore/source-output.h
+++ b/src/pulsecore/source-output.h
@@ -143,6 +143,10 @@ struct pa_source_output {
* will not be allowed */
pa_bool_t (*may_move_to) (pa_source_output *o, pa_source *s); /* may be NULL */
+ /* If non-NULL this function is used to dispatch asynchronous
+ * control events. */
+ void (*send_event)(pa_source_output *o, const char *event, pa_proplist* data);
+
struct {
pa_source_output_state_t state;
@@ -177,6 +181,12 @@ enum {
PA_SOURCE_OUTPUT_MESSAGE_MAX
};
+typedef struct pa_source_output_send_event_hook_data {
+ pa_source_output *source_output;
+ const char *event;
+ pa_proplist *data;
+} pa_source_output_send_event_hook_data;
+
typedef struct pa_source_output_new_data {
pa_proplist *proplist;
pa_sink_input *direct_on_input;
@@ -233,6 +243,8 @@ void pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode
pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o);
+void pa_source_output_send_event(pa_source_output *o, const char *name, pa_proplist *data);
+
pa_bool_t pa_source_output_may_move(pa_source_output *o);
pa_bool_t pa_source_output_may_move_to(pa_source_output *o, pa_source *dest);
int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t save);