[pulseaudio-discuss] [RFC v2 12/18] bluetooth: declare source support for IEC61937
Frédéric Dalleau
frederic.dalleau at linux.intel.com
Thu Mar 22 09:36:36 PDT 2012
---
src/modules/bluetooth/module-bluetooth-device.c | 26 +++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c
index a1e37bd..3116d9c 100644
--- a/src/modules/bluetooth/module-bluetooth-device.c
+++ b/src/modules/bluetooth/module-bluetooth-device.c
@@ -2738,6 +2738,31 @@ static pa_idxset* sink_get_formats(pa_sink *s) {
return formats;
}
+static pa_idxset* source_get_formats(pa_source *s) {
+ struct userdata *u;
+ pa_idxset *formats;
+ pa_format_info *f;
+
+ pa_assert(s);
+
+ formats = pa_idxset_new(NULL, NULL);
+
+ f = pa_format_info_new();
+ f->encoding = PA_ENCODING_PCM;
+ pa_idxset_put(formats, f, NULL);
+
+ u = (struct userdata *) s->userdata;
+
+ if (u->profile == PROFILE_A2DP && u->a2dp.has_mpeg) {
+ f = pa_format_info_new();
+ f->encoding = PA_ENCODING_MPEG_IEC61937;
+ /* FIXME: Populate supported rates, layers, ... */
+ pa_idxset_put(formats, f, NULL);
+ }
+
+ return formats;
+}
+
/* Run from main thread */
static int add_sink(struct userdata *u) {
char *k;
@@ -2849,6 +2874,7 @@ static int add_source(struct userdata *u) {
u->source->userdata = u;
u->source->parent.process_msg = source_process_msg;
+ u->source->get_formats = source_get_formats;
pa_source_set_fixed_latency(u->source,
(u->profile == PROFILE_A2DP_SOURCE ? FIXED_LATENCY_RECORD_A2DP : FIXED_LATENCY_RECORD_HSP) +
--
1.7.5.4
More information about the pulseaudio-discuss
mailing list