[vlc-devel] [PATCH] aout: play the silence buffer on most modules

Rémi Denis-Courmont remi at remlab.net
Thu Aug 15 16:44:12 CEST 2019

Le torstaina 15. elokuuta 2019, 14.01.46 EEST Thomas Guillem a écrit :
> Add a new capability: aout->module_info.can_play_at_date, only set by Pulse
> (for now) since it is the only module that can handle a play_date !=
> system_now.

PulseAudio cannot do anything that ALSA cannot do. The PulseAudio plugin uses 
a deferred start timer instead of the core-assisted zero padding because it 
*cannot* estimate the latency early enough. Any other plugin can do the same 
with a timer; it's just silly to add that extra intricacy where unnecessary.

I cannot make any sense out of this description.

> This capability is checked by the aout core in order to tell if it should
> first play a silence buffer (that has the same length than the jitter
> delay).

I'm pretty sure it used to be so that the silence is played only if the module 
returns a timing before the first buffer. There is no need to add a flag here.

> Before this commit, I assumed that a module could need a silence buffer only
> if it returned a valid delay before the first play.

That assumption is correct.

> This assumption is now false

No. It cannot be false by design. Modules which, like PulseAudio, cannot meet 
the requirement just have to handle the initial synchronization manually.

The core cannot do magic.


More information about the vlc-devel mailing list