diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
index 4c6a59c..0b09f58 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
@@ -137,7 +137,6 @@
         }
 
         if (track != NULL) {
-            CHECK_EQ(track->start(), (status_t)OK);
             mSources.push(track);
             int64_t durationUs;
             if (meta->findInt64(kKeyDuration, &durationUs)) {
@@ -184,6 +183,7 @@
     ALOGI("start");
 
     if (mAudioTrack.mSource != NULL) {
+        CHECK_EQ(mAudioTrack.mSource->start(), (status_t)OK);
         mAudioTrack.mPackets =
             new AnotherPacketSource(mAudioTrack.mSource->getFormat());
 
@@ -191,6 +191,7 @@
     }
 
     if (mVideoTrack.mSource != NULL) {
+        CHECK_EQ(mVideoTrack.mSource->start(), (status_t)OK);
         mVideoTrack.mPackets =
             new AnotherPacketSource(mVideoTrack.mSource->getFormat());
 
@@ -255,7 +256,11 @@
           }
 
 
+          if (track->mSource != NULL) {
+              track->mSource->stop();
+          }
           track->mSource = source;
+          track->mSource->start();
           track->mIndex = trackIndex;
 
           status_t avail;
@@ -529,6 +534,7 @@
         if (track == NULL) {
             return INVALID_OPERATION;
         }
+        track->mSource->stop();
         track->mSource = NULL;
         track->mPackets->clear();
         return OK;
@@ -545,7 +551,11 @@
             return OK;
         }
         track->mIndex = trackIndex;
+        if (track->mSource != NULL) {
+            track->mSource->stop();
+        }
         track->mSource = mSources.itemAt(trackIndex);
+        track->mSource->start();
         if (track->mPackets == NULL) {
             track->mPackets = new AnotherPacketSource(track->mSource->getFormat());
         } else {
