OSDN Git Service

GenericSource: move track packet init from start to prepare
authorRobert Shih <robertshih@google.com>
Thu, 11 Sep 2014 22:38:54 +0000 (15:38 -0700)
committerRobert Shih <robertshih@google.com>
Thu, 11 Sep 2014 22:45:08 +0000 (15:45 -0700)
Bug: 17244704
Change-Id: I15eba0e4d2a178cc0ba46bbc17be0e6d95e76935

media/libmediaplayerservice/nuplayer/GenericSource.cpp

index 8e1987a..3a28ecb 100644 (file)
@@ -169,6 +169,8 @@ status_t NuPlayer::GenericSource::initFromDataSource() {
             if (mAudioTrack.mSource == NULL) {
                 mAudioTrack.mIndex = i;
                 mAudioTrack.mSource = track;
+                mAudioTrack.mPackets =
+                    new AnotherPacketSource(mAudioTrack.mSource->getFormat());
 
                 if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_VORBIS)) {
                     mAudioIsVorbis = true;
@@ -180,6 +182,8 @@ status_t NuPlayer::GenericSource::initFromDataSource() {
             if (mVideoTrack.mSource == NULL) {
                 mVideoTrack.mIndex = i;
                 mVideoTrack.mSource = track;
+                mVideoTrack.mPackets =
+                    new AnotherPacketSource(mVideoTrack.mSource->getFormat());
 
                 // check if the source requires secure buffers
                 int32_t secure;
@@ -427,16 +431,12 @@ void NuPlayer::GenericSource::start() {
 
     if (mAudioTrack.mSource != NULL) {
         CHECK_EQ(mAudioTrack.mSource->start(), (status_t)OK);
-        mAudioTrack.mPackets =
-            new AnotherPacketSource(mAudioTrack.mSource->getFormat());
 
         postReadBuffer(MEDIA_TRACK_TYPE_AUDIO);
     }
 
     if (mVideoTrack.mSource != NULL) {
         CHECK_EQ(mVideoTrack.mSource->start(), (status_t)OK);
-        mVideoTrack.mPackets =
-            new AnotherPacketSource(mVideoTrack.mSource->getFormat());
 
         postReadBuffer(MEDIA_TRACK_TYPE_VIDEO);
     }