Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6beb55e authored by Pavan Chikkala's avatar Pavan Chikkala Committed by Steve Kondik
Browse files

audio: Fixed mBytesRemaining when partial buffers are sent

- When AudioFlinger writes partial buffers to HAL,
  write() on HAl returns period_size if bytes written
  are less than period_size. This is causing
  mBytesRemaining to be negative

- Fix is to check the return value of write() and
  set mBytesRemaining and mBytesWritten correctly

Change-Id: Ibd3cb138c0d4669e9e17c22f6b2c80804c6499a5
CRs-fixed: 611119
parent 54471cfd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2474,6 +2474,9 @@ bool AudioFlinger::PlaybackThread::threadLoop()
                    ssize_t ret = threadLoop_write();
                    if (ret < 0) {
                        mBytesRemaining = 0;
                    } else if(ret > mBytesRemaining) {
                        mBytesWritten += mBytesRemaining;
                        mBytesRemaining = 0;
                    } else {
                        mBytesWritten += ret;
                        mBytesRemaining -= ret;