There is a crash due to OMX_UseBuffer change.
In Reset(), media input node deletes the media input node port,
which deletes the allocator. When encoder node releases the
media data, it calls the allocator to release the memory.
That causes crash.

commit af748e6c031c733e2737a7ea4affbc082e92dca2
Author: Jianhong Jiang <jianhong@google.com>
Date:   Fri Oct 23 14:41:57 2009 -0700

    RIO-7762: OMX_UseBuffer support buffers allocated in MIO.
    The change depends on
         https://android-git.corp.google.com/g/30984
diff --git a/nodes/pvmediainputnode/src/pvmf_media_input_node.h b/nodes/pvmediainputnode/src/pvmf_media_input_node.h
index d7731ef..6fc6971 100644
--- a/nodes/pvmediainputnode/src/pvmf_media_input_node.h
+++ b/nodes/pvmediainputnode/src/pvmf_media_input_node.h
@@ -331,6 +331,8 @@
         } TimeStamp_KSV;
         TimeStamp_KSV iErrorTimeStamp;
 #endif
+
+        PVMFBufferPoolAllocator iPrivateDataFsiFragmentAlloc;
 };
 
 #endif // PVMF_MEDIA_INPUT_NODE_H_INCLUDED
diff --git a/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.cpp b/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.cpp
index 2ac093c..118cd2f 100644
--- a/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.cpp
+++ b/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.cpp
@@ -66,7 +66,7 @@
     iMediaDataAlloc = OSCL_NEW(PvmfMediaInputDataBufferAlloc, (iMediaDataAllocMemPool));
     iDataPathLogger = PVLogger::GetLoggerObject("datapath.sourcenode");
 
-    iPrivateDataFsiFragmentAlloc.size(32, sizeof(OsclAny *)); //TODO REMOVE THE HARDCODED VALUE
+    iNode->iPrivateDataFsiFragmentAlloc.size(32, sizeof(OsclAny *)); //TODO REMOVE THE HARDCODED VALUE
 #ifdef _TEST_AE_EROR_HANDLING
     iTimeStampJunk = 0x000FFFFF;
 #endif
@@ -412,7 +412,7 @@
                 OsclRefCounterMemFrag privatedataFsiMemFrag;
                 OsclLeaveCode fsiErrorCode = OsclErrNone;
 
-                OSCL_TRY(fsiErrorCode, privatedataFsiMemFrag = iPrivateDataFsiFragmentAlloc.get(););
+                OSCL_TRY(fsiErrorCode, privatedataFsiMemFrag = iNode->iPrivateDataFsiFragmentAlloc.get(););
 
                 OSCL_FIRST_CATCH_ANY(fsiErrorCode,
                         LOG_ERR((0, "Failed to allocate memory for  FSI for private data"));
diff --git a/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.h b/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.h
index 3cff691..c198fce 100644
--- a/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.h
+++ b/nodes/pvmediainputnode/src/pvmf_media_input_node_outport.h
@@ -185,7 +185,6 @@
         //logging
         OSCL_HeapString<OsclMemAllocator> iMimeType;
         PVLogger* iDataPathLogger;
-        PVMFBufferPoolAllocator iPrivateDataFsiFragmentAlloc;
 };
 
 #endif // PVMF_MEDIA_INPUT_NODE_INPORT_H_INCLUDED