diff --git a/auracast/auracast_config.py b/auracast/auracast_config.py index 1eca56e..c9563a7 100644 --- a/auracast/auracast_config.py +++ b/auracast/auracast_config.py @@ -24,6 +24,7 @@ qos_config_mono_low_rel = AuracastQoSConfig( #highest latency @dataclass class AuracastGlobalConfig: qos_config: AuracastQoSConfig + debug: bool = False device_name: str = 'Auracaster' transport: str = '' auracast_device_address: hci.Address = hci.Address('F0:F1:F2:F3:F4:F5') @@ -31,7 +32,7 @@ class AuracastGlobalConfig: octets_per_frame: int = 60 #48kbps@24kHz # bitrate = octets_per_frame * 8 / frame len frame_duration_us: int = 10000 presentation_delay_us: int = 40000 - debug: bool = False + manufacturer_data: tuple[int, bytes] = None @dataclass class AuracastBigConfig: diff --git a/auracast/multicast.py b/auracast/multicast.py index eedc9a4..6201020 100644 --- a/auracast/multicast.py +++ b/auracast/multicast.py @@ -22,6 +22,7 @@ import contextlib import logging import wave import itertools +import struct from typing import cast, Any, AsyncGenerator, Coroutine, Dict, Optional, Tuple from typing import List @@ -170,6 +171,21 @@ async def run_broadcast( ], ) logger.info('Setup Advertising') + advertising_manufacturer_data = ( + b'' + if global_config.manufacturer_data is None + else bytes( + core.AdvertisingData( + [ + ( + core.AdvertisingData.MANUFACTURER_SPECIFIC_DATA, + struct.pack('