Loading media/libmediaplayerservice/nuplayer/GenericSource.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -106,6 +106,10 @@ status_t NuPlayer::GenericSource::setDataSource( return OK; } sp<MetaData> NuPlayer::GenericSource::getFileFormatMeta() const { return mFileMeta; } status_t NuPlayer::GenericSource::initFromDataSource() { sp<MediaExtractor> extractor; Loading Loading @@ -144,10 +148,10 @@ status_t NuPlayer::GenericSource::initFromDataSource() { checkDrmStatus(mDataSource); } sp<MetaData> fileMeta = extractor->getMetaData(); if (fileMeta != NULL) { mFileMeta = extractor->getMetaData(); if (mFileMeta != NULL) { int64_t duration; if (fileMeta->findInt64(kKeyDuration, &duration)) { if (mFileMeta->findInt64(kKeyDuration, &duration)) { mDurationUs = duration; } } Loading media/libmediaplayerservice/nuplayer/GenericSource.h +3 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ struct NuPlayer::GenericSource : public NuPlayer::Source { virtual status_t feedMoreTSData(); virtual sp<MetaData> getFileFormatMeta() const; virtual status_t dequeueAccessUnit(bool audio, sp<ABuffer> *accessUnit); virtual status_t getDuration(int64_t *durationUs); Loading Loading @@ -125,6 +127,7 @@ private: sp<DataSource> mDataSource; sp<NuCachedSource2> mCachedSource; sp<WVMExtractor> mWVMExtractor; sp<MetaData> mFileMeta; DrmManagerClient *mDrmManagerClient; sp<DecryptHandle> mDecryptHandle; bool mStarted; Loading media/libmediaplayerservice/nuplayer/NuPlayer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -1730,6 +1730,10 @@ status_t NuPlayer::selectTrack(size_t trackIndex, bool select) { return err; } sp<MetaData> NuPlayer::getFileMeta() { return mSource->getFileFormatMeta(); } void NuPlayer::schedulePollDuration() { sp<AMessage> msg = new AMessage(kWhatPollDuration, id()); msg->setInt32("generation", mPollDurationGeneration); Loading media/libmediaplayerservice/nuplayer/NuPlayer.h +2 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,8 @@ struct NuPlayer : public AHandler { status_t getSelectedTrack(int32_t type, Parcel* reply) const; status_t selectTrack(size_t trackIndex, bool select); sp<MetaData> getFileMeta(); static const size_t kAggregateBufferSizeBytes; protected: Loading media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +11 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ NuPlayerDriver::NuPlayerDriver() mPlayerFlags(0), mAtEOS(false), mLooping(false), mAutoLoop(false), mStartupSeekTimeUs(-1) { mLooper->setName("NuPlayerDriver Looper"); Loading Loading @@ -505,6 +506,7 @@ status_t NuPlayerDriver::invoke(const Parcel &request, Parcel *reply) { void NuPlayerDriver::setAudioSink(const sp<AudioSink> &audioSink) { mPlayer->setAudioSink(audioSink); mAudioSink = audioSink; } status_t NuPlayerDriver::setParameter( Loading Loading @@ -634,7 +636,8 @@ void NuPlayerDriver::notifyListener_l( case MEDIA_PLAYBACK_COMPLETE: { if (mState != STATE_RESET_IN_PROGRESS) { if (mLooping) { if (mLooping || (mAutoLoop && (mAudioSink == NULL || mAudioSink->realtime()))) { mPlayer->seekToAsync(0); break; } Loading Loading @@ -700,6 +703,13 @@ void NuPlayerDriver::notifyPrepareCompleted(status_t err) { } } sp<MetaData> meta = mPlayer->getFileMeta(); int32_t loop; if (meta != NULL && meta->findInt32(kKeyAutoLoop, &loop) && loop != 0) { mAutoLoop = true; } mCondition.broadcast(); } Loading Loading
media/libmediaplayerservice/nuplayer/GenericSource.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -106,6 +106,10 @@ status_t NuPlayer::GenericSource::setDataSource( return OK; } sp<MetaData> NuPlayer::GenericSource::getFileFormatMeta() const { return mFileMeta; } status_t NuPlayer::GenericSource::initFromDataSource() { sp<MediaExtractor> extractor; Loading Loading @@ -144,10 +148,10 @@ status_t NuPlayer::GenericSource::initFromDataSource() { checkDrmStatus(mDataSource); } sp<MetaData> fileMeta = extractor->getMetaData(); if (fileMeta != NULL) { mFileMeta = extractor->getMetaData(); if (mFileMeta != NULL) { int64_t duration; if (fileMeta->findInt64(kKeyDuration, &duration)) { if (mFileMeta->findInt64(kKeyDuration, &duration)) { mDurationUs = duration; } } Loading
media/libmediaplayerservice/nuplayer/GenericSource.h +3 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ struct NuPlayer::GenericSource : public NuPlayer::Source { virtual status_t feedMoreTSData(); virtual sp<MetaData> getFileFormatMeta() const; virtual status_t dequeueAccessUnit(bool audio, sp<ABuffer> *accessUnit); virtual status_t getDuration(int64_t *durationUs); Loading Loading @@ -125,6 +127,7 @@ private: sp<DataSource> mDataSource; sp<NuCachedSource2> mCachedSource; sp<WVMExtractor> mWVMExtractor; sp<MetaData> mFileMeta; DrmManagerClient *mDrmManagerClient; sp<DecryptHandle> mDecryptHandle; bool mStarted; Loading
media/libmediaplayerservice/nuplayer/NuPlayer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -1730,6 +1730,10 @@ status_t NuPlayer::selectTrack(size_t trackIndex, bool select) { return err; } sp<MetaData> NuPlayer::getFileMeta() { return mSource->getFileFormatMeta(); } void NuPlayer::schedulePollDuration() { sp<AMessage> msg = new AMessage(kWhatPollDuration, id()); msg->setInt32("generation", mPollDurationGeneration); Loading
media/libmediaplayerservice/nuplayer/NuPlayer.h +2 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,8 @@ struct NuPlayer : public AHandler { status_t getSelectedTrack(int32_t type, Parcel* reply) const; status_t selectTrack(size_t trackIndex, bool select); sp<MetaData> getFileMeta(); static const size_t kAggregateBufferSizeBytes; protected: Loading
media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +11 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ NuPlayerDriver::NuPlayerDriver() mPlayerFlags(0), mAtEOS(false), mLooping(false), mAutoLoop(false), mStartupSeekTimeUs(-1) { mLooper->setName("NuPlayerDriver Looper"); Loading Loading @@ -505,6 +506,7 @@ status_t NuPlayerDriver::invoke(const Parcel &request, Parcel *reply) { void NuPlayerDriver::setAudioSink(const sp<AudioSink> &audioSink) { mPlayer->setAudioSink(audioSink); mAudioSink = audioSink; } status_t NuPlayerDriver::setParameter( Loading Loading @@ -634,7 +636,8 @@ void NuPlayerDriver::notifyListener_l( case MEDIA_PLAYBACK_COMPLETE: { if (mState != STATE_RESET_IN_PROGRESS) { if (mLooping) { if (mLooping || (mAutoLoop && (mAudioSink == NULL || mAudioSink->realtime()))) { mPlayer->seekToAsync(0); break; } Loading Loading @@ -700,6 +703,13 @@ void NuPlayerDriver::notifyPrepareCompleted(status_t err) { } } sp<MetaData> meta = mPlayer->getFileMeta(); int32_t loop; if (meta != NULL && meta->findInt32(kKeyAutoLoop, &loop) && loop != 0) { mAutoLoop = true; } mCondition.broadcast(); } Loading