static int adev_set_parameters(struct audio_hw_device *dev, const char *kvpairs) { struct adev_a2dp *adev = (struct adev_a2dp *)dev; struct str_parms *parms; char *str; char value[8]; int ret; parms = str_parms_create_str(kvpairs); pthread_mutex_lock(&adev->lock); ret = str_parms_get_str(parms, BLUETOOOTH_ENABLED_PARM, value, sizeof(value)); if (ret >= 0) { adev->bt_enabled = !strcmp(value, "true"); if (adev->output) _out_bt_enable(adev->output, adev->bt_enabled); } ret = str_parms_get_str(parms, A2DP_SUSPENDED_PARM, value, sizeof(value)); if (ret >= 0) { adev->suspended = !strcmp(value, "true"); if (adev->output) _out_a2dp_suspend(adev->output, adev->suspended); } pthread_mutex_unlock(&adev->lock); str_parms_destroy(parms); return ret; }
static int adev_set_parameters(struct audio_hw_device *dev, const char *kvpairs) { struct adev_a2dp *adev = (struct adev_a2dp *)dev; struct str_parms *parms; char *str; char value[8]; int ret; LOGV("adev_set_parameters() %s", kvpairs); const char *keyMono = "toMono="; if (strstr(kvpairs, keyMono) != NULL) { if( strlen(kvpairs) > strlen(keyMono) ){ if( kvpairs[strlen(keyMono)] == '1') isToMono = true; else isToMono = false; LOGV("IsToMono %d", isToMono); } return 0; } parms = str_parms_create_str(kvpairs); pthread_mutex_lock(&adev->lock); ret = str_parms_get_str(parms, BLUETOOOTH_ENABLED_PARM, value, sizeof(value)); if (ret >= 0) { adev->bt_enabled = !strcmp(value, "true"); if (adev->output) _out_bt_enable(adev->output, adev->bt_enabled); } ret = str_parms_get_str(parms, A2DP_SUSPENDED_PARM, value, sizeof(value)); if (ret >= 0) { adev->suspended = !strcmp(value, "true"); if (adev->output) _out_a2dp_suspend(adev->output, adev->suspended); } pthread_mutex_unlock(&adev->lock); str_parms_destroy(parms); return ret; }