mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
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.
This commit is contained in:
parent
3767c9c4e8
commit
47e0f91aa2
2 changed files with 58 additions and 0 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue