bluez5: only register available A2DP encoder/decoder

This commit is contained in:
Wim Taymans 2020-12-03 11:09:13 +01:00
parent 3005d33113
commit 908e3f3d1f

View file

@ -1331,14 +1331,20 @@ static DBusHandlerResult object_manager_handler(DBusConnection *c, DBusMessage *
if (caps_size < 0)
continue;
spa_log_info(monitor->log, "register A2DP codec %s", a2dp_codecs[i]->name);
endpoint = spa_aprintf("%s/%s", A2DP_SINK_ENDPOINT, codec->name);
append_a2dp_object(&array, endpoint, SPA_BT_UUID_A2DP_SINK, codec_id, caps, caps_size);
free(endpoint);
if (codec->decode != NULL) {
spa_log_info(monitor->log, "register A2DP codec %s", a2dp_codecs[i]->name);
endpoint = spa_aprintf("%s/%s", A2DP_SINK_ENDPOINT, codec->name);
append_a2dp_object(&array, endpoint, SPA_BT_UUID_A2DP_SINK,
codec_id, caps, caps_size);
free(endpoint);
}
endpoint = spa_aprintf("%s/%s", A2DP_SOURCE_ENDPOINT, codec->name);
append_a2dp_object(&array, endpoint, SPA_BT_UUID_A2DP_SOURCE, codec_id, caps, caps_size);
free(endpoint);
if (codec->encode != NULL) {
endpoint = spa_aprintf("%s/%s", A2DP_SOURCE_ENDPOINT, codec->name);
append_a2dp_object(&array, endpoint, SPA_BT_UUID_A2DP_SOURCE,
codec_id, caps, caps_size);
free(endpoint);
}
}
dbus_message_iter_close_container(&iter, &array);