mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -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;
|
||||
spa_loop_utils_update_timer(backend->loop_utils, backend->timer,
|
||||
&ts, NULL, false);
|
||||
return -EIO;
|
||||
|
||||
ret = -EIO;
|
||||
goto finish;
|
||||
}
|
||||
|
||||
td->broken = false;
|
||||
|
|
@ -243,6 +245,11 @@ static int ofono_audio_acquire(void *data, bool optional)
|
|||
ret = 0;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
@ -254,6 +261,8 @@ static int ofono_audio_release(void *data)
|
|||
spa_log_debug(backend->log, "transport %p: Release %s",
|
||||
transport, transport->path);
|
||||
|
||||
spa_bt_transport_set_state(transport, SPA_BT_TRANSPORT_STATE_IDLE);
|
||||
|
||||
if (transport->sco_io) {
|
||||
spa_bt_sco_io_destroy(transport->sco_io);
|
||||
transport->sco_io = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue