GenericSource2: fix data source reset/init
Bug: 118307474
Test: MediaPlayer2Test.testPlayAudio
Change-Id: I68ab335294a374637f32637be8738db8347c97d3
diff --git a/media/libmediaplayer2/nuplayer2/GenericSource2.cpp b/media/libmediaplayer2/nuplayer2/GenericSource2.cpp
index 6056ad9..f795478 100644
--- a/media/libmediaplayer2/nuplayer2/GenericSource2.cpp
+++ b/media/libmediaplayer2/nuplayer2/GenericSource2.cpp
@@ -79,6 +79,7 @@
void NuPlayer2::GenericSource2::resetDataSource() {
ALOGV("resetDataSource");
+ mDisconnected = false;
mUri.clear();
mUriHeaders.clear();
if (mFd >= 0) {
@@ -196,7 +197,11 @@
}
sp<AMediaExtractorWrapper> trackExtractor = new AMediaExtractorWrapper(AMediaExtractor_new());
- trackExtractor->setDataSource(mDataSourceWrapper->getAMediaDataSource());
+ if (aSourceWrapper != NULL) {
+ trackExtractor->setDataSource(aSourceWrapper->getAMediaDataSource());
+ } else {
+ trackExtractor->setDataSource(fd, mOffset, mLength);
+ }
const char *mime;
sp<MetaData> meta = convertMediaFormatWrapperToMetaData(trackFormat);