From 9ef5953a562234714389e574703d2506d4cd3112 Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Mon, 15 Apr 2013 10:54:49 -0300 Subject: handsfree-audio: Implement ofono_handsfree_card_set_codec() --- src/handsfree-audio.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/handsfree-audio.c') diff --git a/src/handsfree-audio.c b/src/handsfree-audio.c index 50be691f..8e8d4606 100644 --- a/src/handsfree-audio.c +++ b/src/handsfree-audio.c @@ -49,6 +49,7 @@ struct ofono_handsfree_card { char *local; char *path; DBusMessage *msg; + unsigned char selected_codec; const struct ofono_handsfree_card_driver *driver; void *driver_data; }; @@ -342,6 +343,8 @@ struct ofono_handsfree_card *ofono_handsfree_card_create(unsigned int vendor, card = g_new0(struct ofono_handsfree_card, 1); + card->selected_codec = HFP_CODEC_CVSD; + card_list = g_slist_prepend(card_list, card); for (l = drivers; l; l = l->next) { @@ -535,6 +538,23 @@ void ofono_handsfree_card_remove(struct ofono_handsfree_card *card) g_free(card); } +ofono_bool_t ofono_handsfree_card_set_codec(struct ofono_handsfree_card *card, + unsigned char codec) +{ + if (codec == HFP_CODEC_CVSD) + goto done; + + if (codec == HFP_CODEC_MSBC && has_wideband) + goto done; + + return FALSE; + +done: + card->selected_codec = codec; + + return TRUE; +} + ofono_bool_t ofono_handsfree_audio_has_wideband(void) { return has_wideband; -- cgit v1.2.3