summaryrefslogtreecommitdiffstats
path: root/components/metrics.gypi
diff options
context:
space:
mode:
authordalecurtis@google.com <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-31 22:27:23 +0000
committerdalecurtis@google.com <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-31 22:27:23 +0000
commitf8ca7bbc1873a7b25ce31700dd4edd13481851b0 (patch)
tree87bb6ad2576b78eb807ae89b05dc0dd30204f48b /components/metrics.gypi
parent02e62b2f5610b2ca965d21593748ba6045c895d3 (diff)
downloadchromium_src-f8ca7bbc1873a7b25ce31700dd4edd13481851b0.zip
chromium_src-f8ca7bbc1873a7b25ce31700dd4edd13481851b0.tar.gz
chromium_src-f8ca7bbc1873a7b25ce31700dd4edd13481851b0.tar.bz2
Add gapless playback support for AAC playback.
Gapless support for AAC is similar to MP3 but unlike MP3 which only has padding in the first frame, AAC may require discarding data across multiple frames. Unfortunately this means we can't just discard the padding frames wholesale without changing what's decoded from the first non-padding frame. Testing reveals we need to decode the padding frame prior to the first non-padding frame in order to correctly decode the non-padding frame. We accomplish this by introducing the concept of a preroll buffer which is to be played out prior to the current buffer but must be entirely discarded. Luckily this is easily done with the infrastructure in place for the gapless MP3 playback! While we need to support post splice buffers with preroll for gapless playback, for simplicity, pre-splice buffers are not allowed to have preroll. In sum, this change: - Adds SetPrerollBuffer() and preroll_buffer() to the StreamParserBuffer. - Refactors splice frame handling into a new HandleNextBufferWithSpliceFrame() method, introduces HandleNextBufferWithPreroll() - Modifies the frame processor to use the frame prior to the partial append window discard as the preroll. BUG=371633 TEST=new unittests! R=wolenetz@chromium.org Review URL: https://codereview.chromium.org/276573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274073 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/metrics.gypi')
0 files changed, 0 insertions, 0 deletions