---
 src/handsfree-audio.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/src/handsfree-audio.c b/src/handsfree-audio.c
index 50be691..8e8d460 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;
-- 
1.8.2

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to