Use option to flush the entire buffer on -EOVERFLOW
This was the previous behavior prior to project system/media commit
fc3d70736e4c24cbdc8c91076013c01e487fd4d5.
The new behavior introduced by that commit is to preserve as much of the
buffer as possible. But that introduced a regression in applications with
so many overflows that they can't recover. So now the flush is optional.
In the case of PipeReader, we do need the flush.
Test: at bug
Bug: 36725187
Change-Id: I25609c7a656a05228fb4e7d4082b2857f4195a34
diff --git a/media/libnbaio/PipeReader.cpp b/media/libnbaio/PipeReader.cpp
index be5c0c1..2486b76 100644
--- a/media/libnbaio/PipeReader.cpp
+++ b/media/libnbaio/PipeReader.cpp
@@ -26,7 +26,7 @@
PipeReader::PipeReader(Pipe& pipe) :
NBAIO_Source(pipe.mFormat),
- mPipe(pipe), mFifoReader(mPipe.mFifo, false /*throttlesWriter*/),
+ mPipe(pipe), mFifoReader(mPipe.mFifo, false /*throttlesWriter*/, true /*flush*/),
mFramesOverrun(0),
mOverruns(0)
{