Merging on top of new sync

VideoEditor:Fix for issue 3378727

Change-Id: Iff7d13689b436cda2b2073625a786322945b3edc
diff --git a/libvideoeditor/lvpp/VideoEditorPreviewController.cpp b/libvideoeditor/lvpp/VideoEditorPreviewController.cpp
index 6e7eceb..7f63eb3 100755
--- a/libvideoeditor/lvpp/VideoEditorPreviewController.cpp
+++ b/libvideoeditor/lvpp/VideoEditorPreviewController.cpp
@@ -123,6 +123,11 @@
         mEffectsSettings = NULL;

     }

 

+    if (mAudioMixPCMFileHandle) {

+        err = M4OSA_fileReadClose (mAudioMixPCMFileHandle);

+        mAudioMixPCMFileHandle = M4OSA_NULL;

+    }

+

     if(mTarget != NULL) {

         delete mTarget;

         mTarget = NULL;

diff --git a/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp b/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp
index a07bf47..322881a 100755
--- a/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp
+++ b/libvideoeditor/vss/stagefrightshells/src/VideoEditorMp3Reader.cpp
@@ -165,8 +165,7 @@
 
     LOGV("VideoEditorMp3Reader_open Datasource start %s",
         (char*)pFileDescriptor);
-    pReaderContext->mDataSource = DataSource::CreateFromURI(
-        (char*)pFileDescriptor);
+    pReaderContext->mDataSource = new FileSource ((char*)pFileDescriptor);
     LOGV("VideoEditorMp3Reader_open Datasource end");
 
     if (pReaderContext->mDataSource == NULL) {
@@ -230,6 +229,7 @@
 
     pReaderContext->mMediaSource->stop();
     pReaderContext->mMediaSource.clear();
+    pReaderContext->mExtractor.clear();
     pReaderContext->mDataSource.clear();
 
     LOGV("VideoEditorMp3Reader_close end ");