]> git.tuebingen.mpg.de Git - paraslash.git/commit
opusdec: Latency improvements.
authorAndre Noll <maan@systemlinux.org>
Mon, 9 Sep 2013 16:21:06 +0000 (16:21 +0000)
committerAndre Noll <maan@systemlinux.org>
Sun, 10 Nov 2013 18:53:12 +0000 (19:53 +0100)
commit14c16b653919e96f75566a7936223af2ebc5f2f3
tree485fb4cd2275432243e9fc8181312d4af16aa510
parent1e97f6746b605e37826fb6ee2ad35b7b330145d6
opusdec: Latency improvements.

Currently the opus decoder works on the ogg page level, i.e. during
each scheduler iteration it tries to extract one ogg page from the
stream and decodes all opus packages therein. Since ogg pages can be
quite large (20K), decoding can take a significant amount of time,
especially on slow machines. If the decoding takes longer than the
buffer time of the configured writer, audible buffer underruns result.

This changes the opus decoder to decode only a single packet during
each iteration. With this patch applied, latency improves greatly,
and underruns occur on neither an old 150MHz AMD K6 nor on the
raspberry pi.
opusdec_filter.c