Reset timestamp validator when config change is complete
When DecoderStream<DemuxerStream::AUDIO> encounters a config change it needs to do two things, among others: flush the decoder and reset the audio timestamp validator. It's important that it does the latter only after processing any decoder output produced during the flushing. This CL moves the responsibility of resetting the validator from DecoderStream to DecoderStreamTraits<DemuxerStream::AUDIO>. It also adds a test where the decoder's behavior of releasing internally buffered samples upon flushing is mocked. Bug: 865926 Test: New test AudioBufferStreamTest.FlushOnConfigChange doesn't fail assertions. No regressions in media_unittests. Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I8cbb01df3792ca9de5db8ab637285d1e64188b39 Reviewed-on: https://chromium-review.googlesource.com/1145188Reviewed-by:Matthew Wolenetz <wolenetz@chromium.org> Reviewed-by:
Dale Curtis <dalecurtis@chromium.org> Commit-Queue: Wojciech Dzierżanowski <wdzierzanowski@opera.com> Cr-Commit-Position: refs/heads/master@{#577123}
Showing
Please register or sign in to comment