javauis/mmapi_akn/audiostreaming/src.emc/cmmaaudiostreamplayer.cpp
branchRCL_3
changeset 21 4376525cdefb
parent 14 04becd199f91
equal deleted inserted replaced
19:71c436fe3ce0 21:4376525cdefb
   114     __ASSERT_DEBUG(iSourceStreams.Count() > 0, User::Invariant());
   114     __ASSERT_DEBUG(iSourceStreams.Count() > 0, User::Invariant());
   115     iStreamHandler->Prepare(*iMimeType);
   115     iStreamHandler->Prepare(*iMimeType);
   116     DEBUG("CMMAAudioStreamPlayer::PrefetchL -");
   116     DEBUG("CMMAAudioStreamPlayer::PrefetchL -");
   117 }
   117 }
   118 
   118 
   119 void CMMAAudioStreamPlayer::StartL()
   119 void CMMAAudioStreamPlayer::StartL(TBool aPostEvent)
   120 {
   120 {
   121     DEBUG("MMA::CMMAAudioStreamPlayer::StartL +");
   121     DEBUG("MMA::CMMAAudioStreamPlayer::StartL +");
   122     if (iStreamHandler->LastBufferWritten() &&
   122     if (iStreamHandler->LastBufferWritten() &&
   123             (iMStreamControl ->GetState() == MStreamControl::PAUSED))
   123             (iMStreamControl ->GetState() == MStreamControl::PAUSED))
   124     {
   124     {
   125         TInt64 time;
   125         TInt64 time;
   126         GetMediaTime(&time);
   126         GetMediaTime(&time);
   127         TInt err = iMStreamControl->Start();
   127         TInt err = iMStreamControl->Start();
   128         if (err == KErrNone && iState != EStarted)
   128         if (err == KErrNone && iState != EStarted)
   129         { // move to started state and post started event
   129         {
   130             PostLongEvent(CMMAPlayerEvent::EStarted, time);
   130             // move to started state and post started event
       
   131             if (aPostEvent)
       
   132             {
       
   133                 PostLongEvent(CMMAPlayerEvent::EStarted, time);
       
   134             }
   131             ChangeState(EStarted);
   135             ChangeState(EStarted);
   132         }
   136         }
   133         else
   137         else
   134         { // post error event
   138         { // post error event
   135             HandleError(err);
   139             HandleError(err);
   202     {
   206     {
   203         iRepeatCount++;
   207         iRepeatCount++;
   204 
   208 
   205         if (iRepeatForever || iRepeatCount < iRepeatNumberOfTimes)
   209         if (iRepeatForever || iRepeatCount < iRepeatNumberOfTimes)
   206         {
   210         {
   207             StartL();
   211             StartL(ETrue);
   208         }
   212         }
   209         else
   213         else
   210         {
   214         {
   211             iRepeatCount = 0;
   215             iRepeatCount = 0;
   212         }
   216         }