<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Sound output using DisplayPort is NOT played during the first 3-5 seconds (on several audio hardware)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92889#c23">Comment # 23</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Sound output using DisplayPort is NOT played during the first 3-5 seconds (on several audio hardware)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92889">bug 92889</a>
from <span class="vcard"><a class="email" href="mailto:Paul.Hancock.17041993@live.com" title="Paul <Paul.Hancock.17041993@live.com>"> <span class="fn">Paul</span></a>
</span></b>
<pre>(In reply to Alex Deucher from <a href="show_bug.cgi?id=92889#c22">comment #22</a>)
<span class="quote">> FWIW, the same thing happens with some receivers and various media devices
> (Roku, DVD player, etc.). I think it takes some receivers and displays a
> few seconds to detect and enable the audio stream. It might be dependent on
> the display or receiver.</span >
It _is_ in fact normal for there to be a significant delay in initialising HDMI
and DP audio, it's because of the multiple handshakes that have to occur
between the devices.
For standard internal and USB devices, the only long part of the init is
creating the buffers, but for HDMI and DP it's more like this;
- check controller capability and init controller (mostly in-memory from POST)
- check link status, collect audio endpoint data (slow-ish)
- ensure controller and endpoint can use desired format
- initialise audio endpoint (again, slow-ish, requires re-configuring the cable
bitstream)
- create buffers
- wait for endpoint to be ready, then init buffer stream
Usually this is all done within 250-500ms, but indeed for some endpoint devices
it may take a lot longer and especially if they need to relay info between
other connected devices (ie; a receiver or a de-embed switch), content
protection protocols also increase the complexity.
We'd need a _lot_ more info to know whether it's just the endpoint or if the
driver could be optimised more, for example a basic test with basic formats
between windows/OSX/both and the xorg drivers, ideally with multiple HDMI/DP
controllers and endpoints.
I will note as well; the HDMI DAC takes about 5 seconds for a full init to
finish, however this includes the video init as well as audio, windows seems to
collect all the info it needs from the get-go instead of requesting later.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>