mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
bluez5: ofono: set transport state on synchronous acquire/release
The sinks/sources now expect transport state is set in acquire and release. It does not need to be async, so we still do it synchronously.
This commit is contained in:
parent
63118b130e
commit
b69f3fc19e
1 changed files with 10 additions and 1 deletions
|
|
@ -231,7 +231,9 @@ static int ofono_audio_acquire(void *data, bool optional)
|
||||||
ts.tv_nsec = 1;
|
ts.tv_nsec = 1;
|
||||||
spa_loop_utils_update_timer(backend->loop_utils, backend->timer,
|
spa_loop_utils_update_timer(backend->loop_utils, backend->timer,
|
||||||
&ts, NULL, false);
|
&ts, NULL, false);
|
||||||
return -EIO;
|
|
||||||
|
ret = -EIO;
|
||||||
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
td->broken = false;
|
td->broken = false;
|
||||||
|
|
@ -243,6 +245,11 @@ static int ofono_audio_acquire(void *data, bool optional)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
|
if (ret < 0)
|
||||||
|
spa_bt_transport_set_state(transport, SPA_BT_TRANSPORT_STATE_ERROR);
|
||||||
|
else
|
||||||
|
spa_bt_transport_set_state(transport, SPA_BT_TRANSPORT_STATE_ACTIVE);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -254,6 +261,8 @@ static int ofono_audio_release(void *data)
|
||||||
spa_log_debug(backend->log, "transport %p: Release %s",
|
spa_log_debug(backend->log, "transport %p: Release %s",
|
||||||
transport, transport->path);
|
transport, transport->path);
|
||||||
|
|
||||||
|
spa_bt_transport_set_state(transport, SPA_BT_TRANSPORT_STATE_IDLE);
|
||||||
|
|
||||||
if (transport->sco_io) {
|
if (transport->sco_io) {
|
||||||
spa_bt_sco_io_destroy(transport->sco_io);
|
spa_bt_sco_io_destroy(transport->sco_io);
|
||||||
transport->sco_io = NULL;
|
transport->sco_io = NULL;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue