[PATCH BlueZ 8/9] bap: Update broadcast sink state machine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This updates the state machine for broadcast sinks such that
setup_create_io is now called on the enabling state. This is
change is required to support the new, sync to multiple BISes
mechanism, which will change the stream's state from PENDING to
ENABLING and finally STREAMING.
---
 profiles/audio/bap.c | 8 +++++---
 src/shared/bap.c     | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 7251d8759..75be494af 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -2748,13 +2748,15 @@ static void bap_state_bcast_sink(struct bt_bap_stream *stream,
 	case BT_BAP_STREAM_STATE_CONFIG:
 		if (!setup)
 			break;
-		if (old_state ==
-				BT_BAP_STREAM_STATE_CONFIG)
-			setup_create_io(data, setup, stream, defer);
 		if (old_state ==
 				BT_BAP_STREAM_STATE_STREAMING)
 			setup_io_close(setup, NULL);
 		break;
+	case BT_BAP_STREAM_STATE_ENABLING:
+		if (!setup)
+			break;
+		setup_create_io(data, setup, stream, defer);
+		break;
 	}
 }
 
diff --git a/src/shared/bap.c b/src/shared/bap.c
index 122f72665..49db341cb 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -2116,7 +2116,7 @@ static unsigned int bap_bcast_sink_enable(struct bt_bap_stream *stream,
 					bt_bap_stream_func_t func,
 					void *user_data)
 {
-	stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
+	stream_set_state(stream, BT_BAP_STREAM_STATE_ENABLING);
 
 	return 1;
 }
-- 
2.40.1





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux