From 7ab999d0a3d2265c534903215ea347ff231b1adf Mon Sep 17 00:00:00 2001 From: shubang Date: Tue, 15 Oct 2019 22:18:11 -0700 Subject: [PATCH] Fix minor issues in dmux default impl Test: mannual Change-Id: If74df110cd9eda2dadb87a8d659d83233ad75d88 (cherry picked from commit 9a1e5aa93a17037bfef8cf8d8e156042ca2c814e) Merged-In: If74df110cd9eda2dadb87a8d659d83233ad75d88 --- tv/tuner/1.0/default/Demux.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tv/tuner/1.0/default/Demux.cpp b/tv/tuner/1.0/default/Demux.cpp index 15e8aaf669..3a750c2218 100644 --- a/tv/tuner/1.0/default/Demux.cpp +++ b/tv/tuner/1.0/default/Demux.cpp @@ -479,7 +479,8 @@ Result Demux::startPesFilterHandler(uint32_t filterId) { if (prefix == 0x000001) { // TODO handle mulptiple Pes filters mPesSizeLeft = - (mFilterOutputs[filterId][i + 7] << 8) | mFilterOutputs[filterId][i + 8]; + (mFilterOutputs[filterId][i + 8] << 8) | mFilterOutputs[filterId][i + 9]; + mPesSizeLeft += 6; ALOGD("[Demux] pes data length %d", mPesSizeLeft); } else { continue; @@ -489,7 +490,7 @@ Result Demux::startPesFilterHandler(uint32_t filterId) { int endPoint = min(184, mPesSizeLeft); // append data and check size vector::const_iterator first = mFilterOutputs[filterId].begin() + i + 4; - vector::const_iterator last = mFilterOutputs[filterId].begin() + i + 3 + endPoint; + vector::const_iterator last = mFilterOutputs[filterId].begin() + i + 4 + endPoint; mPesOutput.insert(mPesOutput.end(), first, last); // size does not match then continue mPesSizeLeft -= endPoint; @@ -800,7 +801,7 @@ void Demux::maySendInputStatusCallback() { void Demux::maySendFilterStatusCallback(uint32_t filterId) { std::lock_guard lock(mFilterStatusLock); int availableToRead = mFilterMQs[filterId]->availableToRead(); - int availableToWrite = mInputMQ->availableToWrite(); + int availableToWrite = mFilterMQs[filterId]->availableToWrite(); int fmqSize = mFilterMQs[filterId]->getQuantumCount(); DemuxFilterStatus newStatus = @@ -885,7 +886,6 @@ void Demux::broadcastInputThreadLoop() { byteBuffer[index] = static_cast(buffer[index]); } startTsFilter(byteBuffer); - inputData.seekg(packetSize, inputData.cur); } startFilterDispatcher(); sleep(1);