From 47e0f91aa2ca6eb3ea8b7be8aa03cd03a28c3fbe Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Mon, 28 Feb 2011 13:00:20 +0530 Subject: sink: Extend API for compressed formats support This adds a get_formats() vfunc for sinks to provide a list of formats they can support. pa_sink_check_formats() can be used during or after routing to determine what formats from a stream the sink can support. --- src/pulsecore/sink.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/pulsecore/sink.h') diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h index b61ba333..a96dd90a 100644 --- a/src/pulsecore/sink.h +++ b/src/pulsecore/sink.h @@ -199,6 +199,10 @@ struct pa_sink { * thread. */ int (*set_port)(pa_sink *s, pa_device_port *port); /* ditto */ + /* Called to get the list of formats supported by the sink, sorted + * in descending order of preference. */ + pa_idxset* (*get_formats)(pa_sink *s); /* ditto */ + /* Contains copies of the above data so that the real-time worker * thread can work without access locking */ struct { @@ -398,6 +402,9 @@ pa_queue *pa_sink_move_all_start(pa_sink *s, pa_queue *q); void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, pa_bool_t save); void pa_sink_move_all_fail(pa_queue *q); +pa_idxset* pa_sink_get_formats(pa_sink *s); +pa_idxset* pa_sink_check_formats(pa_sink *s, pa_idxset *in_formats); + /*** To be called exclusively by the sink driver, from IO context */ void pa_sink_render(pa_sink*s, size_t length, pa_memchunk *result); -- cgit