[pulseaudio-discuss] alsa sink latency - how to account for startup delay

Georg Chini georg at chini.tk
Tue Mar 22 12:14:27 UTC 2016


On 22.03.2016 12:57, Georg Chini wrote:
> On 22.03.2016 12:51, Tanu Kaskinen wrote:
>> On Tue, 2016-03-22 at 12:33 +0100, Georg Chini wrote:
>>> On 22.03.2016 12:20, Tanu Kaskinen wrote:
>>>> On Tue, 2016-03-22 at 10:11 +0100, Georg Chini wrote:
>>>>> Hi,
>>>>>
>>>>> when a sink is started, there is some delay before the first 
>>>>> sample is
>>>>> really played.
>>>>> This delay is a constant part of the sink latency that will be always
>>>>> present, so the
>>>>> minimum sink latency cannot go below that start delay.
>>>>> Would it be acceptable to adjust the latency range for the device 
>>>>> after
>>>>> each unsuspend
>>>>> to reflect that?
>>>>> USB devices (those I have access to) for example have a startup 
>>>>> delay in
>>>>> the range of
>>>>> 10ms, but have a latency range that starts at 0.5ms which does not 
>>>>> make
>>>>> a lot of sense
>>>>> in my opinion.
>>>> I don't understand why the startup delay would limit the minimum
>>>> latency once the stream is flowing. Imagine a sound card that is
>>>> powered by a nuclear power plant. I don't know how long it takes to
>>>> start a nuclear power plant, but let's say it takes a couple of days.
>>>> Now the sound card startup delay is a couple of days, but there's no
>>>> reason that the audio latency has to be a couple of days once the 
>>>> power
>>>> plant is running. Where would all that audio be buffered anyway?
>>>>
>>> Hi Tanu,
>>>
>>> you are wrong.
>> I don't believe you :)
> Look at the code of alsa-sink. It never drops samples. The only way to 
> compensate
> for the startup delay would be to drop audio as long as the sink is 
> not yet playing,
> but that is not done. I could try to implement that however and then 
> you would be
> right, but with the current code at least for the alsa-sink the 
> startup delay will persist.
In fact, the first data is pushed to the sound card even before 
snd_pcm_start(), so
dropping audio seems to be difficult. We would have to feed silence to 
the card until
we are sure it is playing and drop audio during that period.


More information about the pulseaudio-discuss mailing list