diff --git a/spa/plugins/bluez5/bluez5-dbus.c b/spa/plugins/bluez5/bluez5-dbus.c index 6fd375781..b754bf69c 100644 --- a/spa/plugins/bluez5/bluez5-dbus.c +++ b/spa/plugins/bluez5/bluez5-dbus.c @@ -3553,8 +3553,10 @@ static int register_media_application(struct spa_bt_monitor * monitor) if (!is_a2dp_codec_enabled(monitor, codec)) continue; - register_a2dp_endpoint(monitor, codec, A2DP_SOURCE_ENDPOINT); - register_a2dp_endpoint(monitor, codec, A2DP_SINK_ENDPOINT); + if (codec->encode != NULL) + register_a2dp_endpoint(monitor, codec, A2DP_SOURCE_ENDPOINT); + if (codec->decode != NULL) + register_a2dp_endpoint(monitor, codec, A2DP_SINK_ENDPOINT); } return 0;