Multimedia playback synchronization
A device includes one or more processors configured to obtain output delay data based on a transmission from an audio output device. The output delay data indicates a playback delay associated with audio output by the audio output device. The one or more processors are further configured to determine, based on the output delay data and host delay data, a synchronization delay to coordinate audio output by the audio output device and video output at a display. The one or more processors are further configured to initiate sending of audio data to the audio output device and to send video data to the display. The video data is delayed, based on the synchronization delay, relative to the sending of the audio data.
1 . A device comprising:
a display; and
one or more processors configured to:
obtain, based on a transmission from an audio output device, output delay data, the output delay data indicating a particular playback delay value associated with audio output by the audio output device;
determine, based on the output delay data and host delay data, a synchronization delay to coordinate audio output by the audio output device and video output at the display, wherein the output delay data includes a first playback delay value indicating a first playback delay associated with a first codec and a second playback delay value indicating a second playback delay associated with a second codec, wherein the first playback delay value is different from the second playback delay value;
initiate sending-audio data of multimedia content to the audio output device; and
send video data of the multimedia content to the display, wherein the video data is delayed, based on the synchronization delay, relative to the sending of the audio data.
2 . The device of claim 1 , wherein the output delay data indicates an output device total delay time between transmission of an audio packet to the audio output device and playout of sound corresponding to the audio packet and is based on testing of the audio output device.
3 . The device of claim 1 , wherein the host delay data indicates a host device total delay time between transmission of an audio packet to the audio output device and playout of video associated with sound of the audio packet.
4 . The device of claim 1 , further comprising a modem coupled to the one or more processors, wherein the one or more processors are configured to initiate sending the audio data to the audio output device via the modem.
5 . The device of claim 4 , further comprising a transmitter coupled to the modem to transmit the audio data to the audio output device via a wireless peer-to-peer ad hoc connection.
6 . The device of claim 1 , wherein the audio output device includes headphones, one or more ear buds, or one or more speakers.
7 . The device of claim 1 , wherein the device includes or corresponds to a portable computing device, a game system, a mobile communication device, a tablet computing device, a smart display, or a combination thereof.
8 . The device of claim 1 , wherein the output delay data is obtained from the audio output device during configuration of a wireless connection with the audio output device, and further comprising a memory configured to store the output delay data for use during a subsequent multimedia playback.
9 . The device of claim 1 , further comprising a memory configured to store a first playback delay value for the first audio output device and the second playback delay value for a second audio output device, wherein the one or more processors are configured to select the particular playback delay value from the memory based on an identifier of the audio output device.
10 . The device of claim 1 , wherein the particular playback delay value is selected from a plurality of playback delay values, wherein the plurality of playback delay values correspond to different operating conditions, and wherein the one or more processors are configured to select, based on an operating condition associated with multimedia playback, the particular playback delay value to determine the synchronization delay.
11 . The device of claim 10 , wherein the different operating conditions correspond to use of different codecs to encode the audio data in conjunction with transmission of the audio data to the audio output device.
12 . The device of claim 10 , wherein the different operating conditions correspond to different operating modes of the device.
13 . The device of claim 12 , wherein the different operating modes of the device include two or more of a gaming mode, a video call mode, or a video streaming mode.
14 . The device of claim 10 , wherein the different operating conditions correspond to different operating modes of the audio output device.
15 . The device of claim 1 , wherein the one or more processors are further configured to initiate sending of a query to the audio output device, wherein the output delay data is obtained responsive to the query.
16 . The device of claim 1 , wherein the output delay data is obtained responsive to detecting a trigger event.
17 . The device of claim 1 , wherein the one or more processors are further configured to obtain, from the output delay data, delay parameters corresponding to at least two of a first value corresponding to a particular codec used to encode the audio data;
a second value corresponding to a sample rate associated with the audio data;
a third value corresponding to a bit rate associated with transmission of the audio data; or
a fourth value corresponding to a delay mode; and
wherein the synchronization delay is based on the delay parameters.
18 . The device of claim 1 , wherein the output delay data is obtained via wireless messaging in accordance with one or more stack layers of a wireless communication protocol stack associated with a communications link with the audio output device.
19 . A method comprising
obtaining, at a host device based on a transmission from an audio output device, output delay data indicating a particular playback delay value associated with audio output by the audio output device, the host device including a display, wherein the output delay data includes a first playback delay value indicating a first playback delay associated with a first codec and a second playback delay value indicating a second playback delay associated with a second codec, wherein the first playback delay value is different from the second playback delay value;
determining, at the host device based on the output delay data and host delay data, a synchronization delay to coordinate audio output by the audio output device and video output by the display of the host device; and
during playback of multimedia content by the host device, sending audio data of the multimedia content from the host device to the audio output device and sending video data of the multimedia content to the display, wherein the video data is delayed, based on the synchronization delay, relative to the sending of the audio data.
20 . The method of claim 19 , wherein the output delay data indicates an output device total delay time between transmission of an audio packet to the audio output device and playout of sound corresponding to the audio packet and is based on testing of the audio output device.
21 . The method of claim 19 , wherein the audio data is sent from the host device to the audio output device via a peer-to-peer ad hoc connection.
22 . The method of claim 19 , wherein the particular playback delay value is selected from a plurality of playback delay values, wherein the plurality of playback delay values correspond to different operating conditions, and further comprising selecting, based on an operating condition associated with the playback of the multimedia content, the particular playback delay value to determine the synchronization delay.
23 . The method of claim 19 , further comprising sending a query from the host device to the audio output device, wherein the output delay data is obtained responsive to the query.
24 . The method of claim 19 , wherein the output delay data is obtained responsive to detecting a trigger event.
25 . A device comprising:
a display;
means for sending audio data to an audio output device;
means for obtaining, based on a transmission from the audio output device, output delay data indicating a particular playback delay value associated with audio output by the audio output device, wherein the output delay data includes a first playback delay value indicating a first playback delay associated with a first codec and a second playback delay value indicating a second playback delay associated with a second codec, wherein the first playback delay value is different from the second playback delay value; and
means for synchronizing playback of multimedia content, the means for synchronizing playback configured to:
determine, based on the output delay data and host delay data, a synchronization delay to coordinate audio output by the audio output device and video output at the display;
cause the means for sending audio data to send the audio data of the multimedia content to the audio output device; and
send video data of the multimedia content to the display, wherein the video data is delayed, based on the synchronization delay, relative to the sending of the audio data.
26 . A system comprising:
a host device including a display; and
an audio output device including:
a receiver configured to receive signals encoding audio data from the host device and to generate audio signals based on the audio data;
one or more sound transducers configured to generate audio output based on the audio signals;
a memory configured to store output delay data including one or more playback delay values, a particular playback delay value indicating an output device total delay time between transmission of particular audio data by the host device and playout of sound corresponding to the particular audio data by the one or more sound transducers; and
a transmitter configured to send at least one playback delay value of the one or more playback delay values to the host device to enable the host device to determine a synchronization delay to synchronize the audio output with video output by the display of the host device.
27 . The system of claim 26 , wherein the one or more playback delay values include a first playback delay value associated with use of a first codec to decode the audio data and a second playback delay value associated with use of a second codec to decode the audio data, wherein the first playback delay value is different from the second playback delay value.
28 . The system of claim 26 , wherein the one or more playback delay values include multiple playback delay values corresponding to different operating conditions.