Testing an Opus call, the audio latency is very high (multiple seconds) after less than a minute on the call. Video latency remains sub 1 second, so this is not a networking issue. I don't know if G.711 would present a similar problem.
Assigned to padenot, but I may work on it as well. This is likely largely related to mediastreams and the interface to them (clock drift and queuing of data in the graph).
I'm going to start by writing patches check where latency is added. Maybe someone here has a couple ideas.
Created attachment 708636 [details] [diff] [review] Add a way to get cubeb latency. This patch adds a way to get the latency of the backend of cubeb. I've implemented it for alsa and audiounit (macos), because I believe it is what most of us use. I'm not too sure about the audiounit part, though.
Created attachment 708640 [details] [diff] [review] Log latency, and adds a python script to understand the log. This adds another log (MediaLog), and adds logging in a couple locations in the tree. The output can be processed by the python script included, that produces a graph. The script itself needs matplotlib. The neteq stuff stays at 0 all the time because I probably put it at the wrong location.
Created attachment 708655 [details] Example output graph This is an example of the output the script can give you. This particular graph represents a gUM session, on Linux (hence the terrible cubeb latency, because Alsa over Pulseaudio).
Experimenting with dogfooding for 1:1 meetings today, QA definitely concluded this bug greatly impacts having an effective dogfooding strategy work well for 1:1 meetings.
We too have experienced a significant latency with audio/video. We have a consistently reproducible example of this. If anyone wants to see a demo of this latency effect, please let me know and I will send you a URL and instructions to view this.
Repurposing explicitly as the master audio latency meta bug
This version is verified on latest m-c on OSX. (In reply to Suhas from comment #10) > Created attachment 789084 [details] [diff] [review] > Add a way to get cubeb latency.
Created attachment 789585 [details] Part 1 - Add a way to get cubeb latency Padenot's patch updated to latest m-c
Created attachment 789586 [details] Part -2 Exposing audio stream latency Patch to add latency reporting in AudioStream.
Created attachment 789587 [details] Part 3 - Add latency API and python script to generate graph for logs
Part 1 till Part 5 are Padenot's original latency patches that has been made to work on the latest m-c. These have been tested these patches on OSX and Windows 8.1 I can generate latency graphs once i understand the use-cases that needs to be verified to help debug this issue
Moved all the attachments to 904617
This is a meta, which typically don't prioritize. We prioritize the dependent bugs (except at the very beginning - prior to bug breakdown).
Do we consider this fixed? This has improved so much over the last few years that it might make sense to retire this bug and file more focused issues (this was pre-latency optimizations, and pre-MSG refactoring, and of course pre-full-duplex).