Systems and methods for multi-point contextual connectivity for wireless audio devices
Systems and methods for multi-point contextual connectivity for wireless audio devices are described. In an illustrative, non-limiting embodiment, an Information Handling System (IHS) may include: a processor; and a memory coupled to the processor, wherein the memory comprises program instructions store thereon that, upon execution by the processor, cause the IHS to: obtain contextual information regarding audio streams for an audio stream acceptor; and transmit an audio stream to the audio stream acceptor based, at least in part, on the obtained contextual information. In some embodiments, the program instructions cause the IHS to: determine one or more available audio contexts for an audio stream acceptor; receive an audio stream; determine that an audio context value associated with the received audio stream indicates an available audio context for the audio stream acceptor; and based, at least in part, on the determination, output sound associated with the received audio stream.
1 . An Information Handling System (IHS), comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises program instructions stored thereon that, upon execution by the processor, cause the IHS to:
obtain contextual information that comprises a supported audio contexts bitfield and an available audio contexts bitfield announced by an audio stream acceptor with regard to audio streams for the audio stream acceptor, wherein the supported audio contexts bitfield and the available audio contexts bitfield each comprise a plurality of bits, wherein each bit is configured to correspond to an audio context value of a respective audio context of a plurality of audio contexts which comprise an Emergency alarm audio context, a Media audio context, a Conversational audio context, and an Unspecified audio context;
determine, based at least in part on the supported audio contexts bitfield, whether the supported audio contexts bitfield has an indication of support for at least one audio context value associated with the audio streams, and when the supported audio contexts bitfield does not indicate support for the at least one audio context value associated with the audio streams, remap the audio context value to an Unspecified audio context value;
compare an audio context value, as remapped when applicable, associated with the audio streams to the available audio contexts bitfield; and
in response to a determination, based at least in part on the comparison, that the audio context value comprises an indication of an available audio context of the audio stream acceptor, wirelessly transmit an audio stream to the audio stream acceptor.
2 . The IHS of claim 1 , wherein the audio stream acceptor comprises one or more wireless speakers, wireless headphones, wireless earphones, or wireless hearing aids.
3 . The IHS of claim 2 , wherein the audio stream acceptor is configured to communicate wirelessly using a Bluetooth Low Energy (LE) Audio communication protocol.
4 . The IHS of claim 1 , wherein an audio context value is associated with the audio stream.
5 . The IHS of claim 4 , wherein the program instructions, upon execution by the processor, further cause the IHS to:
determine, based at least in part on the contextual information, that the audio context value of the audio stream indicates an acceptable audio context of the audio stream acceptor.
6 . The IHS of claim 1 , wherein the contextual information comprises an indication of supported audio contexts and unsupported audio contexts of the audio stream acceptor.
7 . The IHS of claim 1 , wherein the contextual information comprises an indication of available audio contexts and unavailable audio contexts of the audio stream acceptor.
8 . The IHS of claim 1 , wherein the program instructions, upon execution by the processor, further cause the IHS to:
determine that another audio stream should be transmitted to the audio stream acceptor based, at least in part, on the contextual information; and
based, at least in part, on the determination, wirelessly transmit the other audio stream to the audio stream acceptor, wherein the other audio stream is to be mixed with the audio stream by the audio stream acceptor.
9 . The IHS of claim 1 , wherein the program instructions, upon execution by the processor, further cause the IHS to:
obtain updated contextual information in regard to the audio streams for the audio stream acceptor, wherein the updated contextual information comprises an updated available audio contexts bitfield announced by the audio stream acceptor, and wherein the available audio contexts bitfield was updated by the audio stream acceptor as a function of an audio context value associated with an audio stream currently maintained by the audio stream acceptor; and
determine that another audio stream should not be transmitted to the audio stream acceptor based, at least in part, on the updated contextual information.
10 . The IHS of claim 1 , wherein the IHS is a connected initiator of the audio streams to the audio stream acceptor, and wherein to obtain the contextual information, the program instructions, upon execution by the processor, further cause the IHS to:
receive a communication from either the audio stream acceptor, or a connected manager device of the audio stream acceptor, comprising the contextual information.
11 . The IHS of claim 1 , wherein the IHS is a non-connected initiator of the audio streams to the audio stream acceptor, and wherein to obtain the contextual information, the program instructions, upon execution by the processor, further cause the IHS to:
receive an announcement from either the audio stream acceptor, or a connected manager device of the audio stream acceptor, comprising the contextual information.
12 . One or more non-transitory computer-readable storage media configured with stored program instructions, that when executed on or across one or more processors of an audio stream acceptor, cause the audio stream acceptor to:
maintain a supported audio contexts bitfield and an available audio contexts bitfield for the audio stream acceptor, wherein the supported audio contexts bitfield and the available audio contexts bitfield each comprise a plurality of bits, wherein each bit is configured to correspond to an audio context value of a respective audio context of a plurality of audio contexts which comprise an Emergency alarm audio context, a Media audio context, a Conversational audio context, and an Unspecified audio context, and wherein a bit set to 0 in the supported audio contexts bitfield is configured to prevent a change of a respective bit in the available audio contexts bitfield to 1;
receive an audio stream via a wireless communication protocol;
update, based at least in part on an audio context value associated with the received audio stream, the available audio contexts bitfield;
determine that an audio context value associated with the received audio stream comprises an indication of one or more available audio contexts for the audio stream acceptor and discard another audio stream whose audio context value does not indicate an available audio context, based at least in part upon the available audio contexts bitfield; and
based, at least in part, on the determination, output sound associated with the received audio stream.
13 . The one or more non-transitory computer-readable storage media of claim 12 , wherein the audio stream acceptor comprises one or more wireless speakers, wireless headphones, wireless earphones, or wireless hearing aids.
14 . The one or more non-transitory computer-readable storage media of claim 12 , wherein the program instructions further cause the audio stream acceptor to:
receive another audio stream via the wireless communication protocol;
determine that another audio context value associated with the other audio stream comprises an indication of a same or different available audio context of the one or more available audio contexts for the audio stream acceptor; and
based, at least in part, on the determination, output sound associated with a mix of the audio stream and the other audio stream.
15 . The one or more non-transitory computer-readable storage media of claim 12 , wherein the program instructions further cause the audio stream acceptor to:
receive another audio stream via the wireless communication protocol;
determine that another audio context value associated with the other audio stream does not indicate an available audio context of the one or more available audio contexts for the audio stream acceptor, based at least in part upon the available audio contexts bitfield; and
based, at least in part, on the determination, discard the other audio stream.
16 . A method comprising:
obtaining information regarding audio stream contexts from a Basic Audio Profile (BAP) announcement comprising Published Audio Capabilities (PAC) characteristics that comprise a supported audio contexts bitfield and an available audio contexts bitfield for an audio stream acceptor, wherein the supported audio contexts bitfield and the available audio contexts bitfield each include a plurality of bits, wherein each bit corresponds to an audio context value of a respective audio context of a plurality of audio contexts comprising an Emergency alarm audio context, a Media audio context, a Conversational audio context, and an Unspecified audio context; and
processing a first audio stream based, at least in part, on a first comparison of a first audio context of the first audio stream with the supported audio contexts bitfield and the available audio contexts bitfield for the audio stream acceptor, wherein when the supported audio contexts bitfield indicates that the audio stream acceptor does not support the first audio context, the first audio context is remapped to the Unspecified audio context for the first comparison.
17 . The method of claim 16 , further comprising:
determining that a second audio stream should not be processed based, at least in part, on a second comparison of a second audio context of the second audio stream with the supported audio contexts bitfield and the available audio contexts bitfield for the audio stream acceptor.
18 . The method of claim 16 , wherein the supported audio contexts bitfield and the available audio contexts bitfield for the audio stream acceptor comprise one or more available audio contexts of the audio stream acceptor, and wherein the first comparison indicates that the first audio context of the first audio stream is one of the one or more available audio contexts of the audio stream acceptor.
19 . The method of claim 16 , wherein processing the first audio stream further comprises:
outputting, by the audio stream acceptor, sound associated with the first audio stream.
20 . The method of claim 16 , wherein processing the first audio stream further comprises:
transmitting, by an audio stream initiator, the first audio stream to the audio stream acceptor.