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); |