Skip to content
Snippets Groups Projects
Commit b69f3fc1 authored by P V's avatar P V Committed by P V
Browse files

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.
parent 63118b13
No related branches found
No related tags found
No related merge requests found
...@@ -231,7 +231,9 @@ static int ofono_audio_acquire(void *data, bool optional) ...@@ -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) ...@@ -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) ...@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment