Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge "Some free chunk available notification is missing, which messe…

…s up the number of outstanding output buffer count. As a result, the media server either hangs if omx encoder node thinks it is still waiting for some buffers to be returned from the omx component, or silently crashes if the omx encoder node frees the buffer prematurely"
  • Loading branch information...
commit 947cd0b2c2aa45819a3460d794f039ea4ce0dce2 2 parents dca8e1d + 3fd45f0
James Dong authored Android (Google) Code Review committed
View
2  nodes/pvomxencnode/src/pvmf_omx_enc_node.cpp
@@ -1206,6 +1206,8 @@ void PVMFOMXEncNode::Run()
PVLOGGER_LOGMSG(PVLOGMSG_INST_LLDBG, iLogger, PVLOGMSG_STACK_TRACE,
(0, "PVMFOMXEncNode-%s::Run(): Flush pending: Changing Component State Executing->Idle or Pause->Idle", iNodeTypeId));
+ if (iOutPort) iOutPort->ClearMsgQueues();
+
err = OMX_SendCommand(iOMXEncoder, OMX_CommandStateSet, OMX_StateIdle, NULL);
if (err != OMX_ErrorNone)
{
View
5 oscl/oscl/osclmemory/src/oscl_mem_mempool.cpp
@@ -16,6 +16,7 @@
* -------------------------------------------------------------------
*/
#include "oscl_mem_mempool.h"
+#include <utils/Log.h>
/**
@@ -154,6 +155,10 @@ OSCL_EXPORT_REF void OsclMemPoolFixedChunkAllocator::deallocate(OsclAny* p)
iObserver->freechunkavailable(iNextAvailableContextData);
}
}
+ else if (iObserver && iCheckNextAvailableFreeChunk)
+ {
+ LOGW("We may have lost some free chunk %p available notification for memory pool %p with chunk size %d", ptmp, mptmp, iChunkSizeMemAligned);
+ }
// Decrement the refcount since deallocating succeeded
removeRef();
Please sign in to comment.
Something went wrong with that request. Please try again.