[vlc-devel] [WIP PATCH] audiotrack: improve perfs, make it asynchronous

Thomas Guillem thomas at gllm.fr
Mon Feb 16 19:45:37 CET 2015



On Sat, Feb 14, 2015, at 17:49, Rémi Denis-Courmont wrote:
> Le vendredi 13 février 2015, 19:16:51 Thomas Guillem a écrit :
> > And this latency of audio filters can cause the video frame drop I got ?
> 
> Of course not. Only the audio filter controls and audio output controls 
> (volume, mute, device change) should be affected by a sleeping audio
> output.
> 
> Problems with video would point to a bug upstream, probably in the ES
> output 
> buffering. It also reportedly affects ALSA and WASAPI on some systems
> (never 
> reproducible for me).
> 
> > Ok, I did a test on my desktop, I have 400ms of delay with PulseAudio.
> 
> That´s not much. I can trivially get to 1999ms with --file-caching=3000.
> 
> > For me, having 1600ms of delay, on the few devices I tested, is to close
> > to the 2000ms limit.
> 
> > So, maybe there is a right balance between queuing all buffers and just
> > one.
> 
> The right balance is to queue all buffers that *can* be queued downstream
> of 
> VLC, which improves robustness against stutter and potentially power 
> management. Queueing inside VLC has only disadvantages.
> 
> > I tried having Play() waiting when there is more than 15 buffers
> > queued. With that I have around 500ms of latency and no more frame drop
> > or audio drift.
> 
> IIRC, WMA can have 1 seconds blocks, so I doubt that assuming 500ms
> latency is 
> a good idea. Also some hardware outputs may have high inherent latency - 
> especially the wireless or remote kinds.

I don't assume a latency. I just set a maximum number of buffer to be
queued, the delay will vary in function of rate and bytes_per_frame.

I agree that I should queue all VLC buffers, but then I got resampling
that start and stop.
I'm still investigating inside my module. I'm afraid the problem is in
the core. I could have a look, but later, I want to fix the things I've
broken first (directory playlist).

> 
> -- 
> Rémi Denis-Courmont
> http://www.remlab.net/
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



More information about the vlc-devel mailing list