javauis/mmapi_qt/src_drmv2/src/cmmadrmaudioplayer.cpp
changeset 26 dc7c549001d5
parent 23 98ccebc37403
equal deleted inserted replaced
23:98ccebc37403 26:dc7c549001d5
    43 CMMADRMAudioPlayer::~CMMADRMAudioPlayer()
    43 CMMADRMAudioPlayer::~CMMADRMAudioPlayer()
    44 {
    44 {
    45     CloseClientUtility();
    45     CloseClientUtility();
    46     delete iUtility;
    46     delete iUtility;
    47 
    47 
    48     LOG( EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::~CMMADRMAudioPlayer ");
    48     LOG(EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::~CMMADRMAudioPlayer ");
    49 }
    49 }
    50 
    50 
    51 void CMMADRMAudioPlayer::ConstructL(const TDesC& aContentType)
    51 void CMMADRMAudioPlayer::ConstructL(const TDesC& aContentType)
    52 {
    52 {
    53     LOG( EJavaMMAPI, EInfo, "CMMADRMAudioPlayer::ConstructL");
    53     LOG(EJavaMMAPI, EInfo, "CMMADRMAudioPlayer::ConstructL");
    54     // Only file based sources are supported with DRM
    54     // Only file based sources are supported with DRM
    55     if (iFileName == KNullDesC)
    55     if (iFileName == KNullDesC)
    56     {
    56     {
    57         User::Leave(KErrNotSupported);
    57         User::Leave(KErrNotSupported);
    58     }
    58     }
    75 }
    75 }
    76 
    76 
    77 
    77 
    78 void CMMADRMAudioPlayer::RealizeL()
    78 void CMMADRMAudioPlayer::RealizeL()
    79 {
    79 {
    80     LOG( EJavaMMAPI, EInfo, "CMMADRMAudioPlayer::RealizeL");
    80     LOG(EJavaMMAPI, EInfo, "CMMADRMAudioPlayer::RealizeL");
    81     CMMAPlayer::RealizeL();
    81     CMMAPlayer::RealizeL();
    82 }
    82 }
    83 
    83 
    84 void CMMADRMAudioPlayer::PrefetchL()
    84 void CMMADRMAudioPlayer::PrefetchL()
    85 {
    85 {
    86     LOG( EJavaMMAPI, EInfo, "CMMADRMAudioPlayer::PrefetchL");
    86     LOG(EJavaMMAPI, EInfo, "CMMADRMAudioPlayer::PrefetchL");
    87     // Prefetch will be completed in init callback
    87     // Prefetch will be completed in init callback
    88     iUtility->OpenFileL(iFileName);
    88     iUtility->OpenFileL(iFileName);
    89 }
    89 }
    90 
    90 
    91 void CMMADRMAudioPlayer::DeallocateL()
    91 void CMMADRMAudioPlayer::DeallocateL()
    92 {
    92 {
    93     LOG( EJavaMMAPI, EInfo, "MMA: CMMAMidiPlayer: DeallocateL +");
    93     LOG(EJavaMMAPI, EInfo, "MMA: CMMAMidiPlayer: DeallocateL +");
    94     if (iState == EPrefetched)
    94     if (iState == EPrefetched)
    95     {
    95     {
    96         CloseClientUtility();
    96         CloseClientUtility();
    97         ChangeState(ERealized);
    97         ChangeState(ERealized);
    98     }
    98     }
    99     LOG( EJavaMMAPI, EInfo, "MMA: CMMAMidiPlayer: DeallocateL -");
    99     LOG(EJavaMMAPI, EInfo, "MMA: CMMAMidiPlayer: DeallocateL -");
   100 }
   100 }
   101 
   101 
   102 void CMMADRMAudioPlayer::StartL()
   102 void CMMADRMAudioPlayer::StartL()
   103 {
   103 {
   104     // start can't be called to not ready player
   104     // start can't be called to not ready player
   160     }
   160     }
   161 }
   161 }
   162 
   162 
   163 void CMMADRMAudioPlayer::SetMediaTimeL(TInt64* aTime)
   163 void CMMADRMAudioPlayer::SetMediaTimeL(TInt64* aTime)
   164 {
   164 {
   165     LOG1( EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::SetMediaTimeL + aTime: %d", *aTime);
   165     LOG1(EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::SetMediaTimeL + aTime: %d", *aTime);
   166     // Duration is needed so we do not try to set media time
   166     // Duration is needed so we do not try to set media time
   167     // too far away. If duration is not known, setting media time
   167     // too far away. If duration is not known, setting media time
   168     // is not allowed.
   168     // is not allowed.
   169 
   169 
   170     TInt64 duration = TInt64(KMediaStartTime);
   170     TInt64 duration = TInt64(KMediaStartTime);
   206     GetMediaTime(aTime);
   206     GetMediaTime(aTime);
   207 }
   207 }
   208 
   208 
   209 void CMMADRMAudioPlayer::GetMediaTime(TInt64* aMediaTime)
   209 void CMMADRMAudioPlayer::GetMediaTime(TInt64* aMediaTime)
   210 {
   210 {
   211     LOG1( EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::GetMediaTime + aMediaTime: %d", *aMediaTime);
   211     LOG1(EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::GetMediaTime + aMediaTime: %d", *aMediaTime);
   212     TTimeIntervalMicroSeconds position;
   212     TTimeIntervalMicroSeconds position;
   213     TInt64 duration = TInt64(KMediaStartTime);
   213     TInt64 duration = TInt64(KMediaStartTime);
   214 
   214 
   215     // Error code discarded on purpose
   215     // Error code discarded on purpose
   216     GetDuration(&duration);
   216     GetDuration(&duration);
   242     if ((duration > KErrNone) &&
   242     if ((duration > KErrNone) &&
   243             (*aMediaTime >= duration - KMediaTimeDurationTreshold))
   243             (*aMediaTime >= duration - KMediaTimeDurationTreshold))
   244     {
   244     {
   245         *aMediaTime = duration;
   245         *aMediaTime = duration;
   246     }
   246     }
   247     LOG1( EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::GetMediaTime - aMediaTime: %d", *aMediaTime);
   247     LOG1(EJavaMMAPI, EInfo, "MMA::CMMADRMAudioPlayer::GetMediaTime - aMediaTime: %d", *aMediaTime);
   248 }
   248 }
   249 
   249 
   250 void CMMADRMAudioPlayer::CloseL()
   250 void CMMADRMAudioPlayer::CloseL()
   251 {
   251 {
   252     CMMAPlayer::CloseL();
   252     CMMAPlayer::CloseL();
   258     return KMMADRMPlayer;
   258     return KMMADRMPlayer;
   259 }
   259 }
   260 
   260 
   261 void CMMADRMAudioPlayer::PlayCompleteL(TInt aError)
   261 void CMMADRMAudioPlayer::PlayCompleteL(TInt aError)
   262 {
   262 {
   263     ELOG1( EJavaMMAPI, "MMA: CMMADRMAudioPlayer: PlayCompleteL: Error=%d", aError);
   263     ELOG1(EJavaMMAPI, "MMA: CMMADRMAudioPlayer: PlayCompleteL: Error=%d", aError);
   264     TInt64 time;
   264     TInt64 time;
   265     GetDuration(&time);
   265     GetDuration(&time);
   266 
   266 
   267     // Send 'Stopped' only when stop() is called.
   267     // Send 'Stopped' only when stop() is called.
   268     PostLongEvent(CMMAPlayerEvent::EEndOfMedia, time);
   268     PostLongEvent(CMMAPlayerEvent::EEndOfMedia, time);
   288     {
   288     {
   289         // error has occured, setting correct number of
   289         // error has occured, setting correct number of
   290         // repeats for next start
   290         // repeats for next start
   291         SetLoopCount(iRepeatNumberOfTimes);
   291         SetLoopCount(iRepeatNumberOfTimes);
   292     }
   292     }
   293     LOG( EJavaMMAPI, EInfo, "MMA: CMMADRMAudioPlayer: PlayCompleteL -");
   293     LOG(EJavaMMAPI, EInfo, "MMA: CMMADRMAudioPlayer: PlayCompleteL -");
   294 }
   294 }
   295 
   295 
   296 void CMMADRMAudioPlayer::MdapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
   296 void CMMADRMAudioPlayer::MdapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
   297 {
   297 {
   298     ELOG1( EJavaMMAPI, "MMA::CMMADRMAudioPlayer::MdapcInitComplete: aError = %d", aError);
   298     ELOG1(EJavaMMAPI, "MMA::CMMADRMAudioPlayer::MdapcInitComplete: aError = %d", aError);
   299     if (!aError)
   299     if (!aError)
   300     {
   300     {
   301         ChangeState(EPrefetched);
   301         ChangeState(EPrefetched);
   302     }
   302     }
   303     PostActionCompleted(aError);
   303     PostActionCompleted(aError);
   319     }
   319     }
   320 }
   320 }
   321 
   321 
   322 void CMMADRMAudioPlayer::CloseClientUtility()
   322 void CMMADRMAudioPlayer::CloseClientUtility()
   323 {
   323 {
   324     LOG( EJavaMMAPI, EInfo, "MMA: CMMADRMAudioPlayer: CloseClientUtility +");
   324     LOG(EJavaMMAPI, EInfo, "MMA: CMMADRMAudioPlayer: CloseClientUtility +");
   325     if (iUtility)
   325     if (iUtility)
   326     {
   326     {
   327         iUtility->Close();
   327         iUtility->Close();
   328     }
   328     }
   329     LOG( EJavaMMAPI, EInfo, "MMA: CMMADRMAudioPlayer: CloseClientUtility -");
   329     LOG(EJavaMMAPI, EInfo, "MMA: CMMADRMAudioPlayer: CloseClientUtility -");
   330 }
   330 }
   331 
   331 
   332 void CMMADRMAudioPlayer::ErrorPlaybackComplete(TInt aError)
   332 void CMMADRMAudioPlayer::ErrorPlaybackComplete(TInt aError)
   333 {
   333 {
   334     ELOG1( EJavaMMAPI, "MMA::CMMADRMAudioPlayer::ErrorPlaybackComplete: aError = %d", aError);
   334     ELOG1(EJavaMMAPI, "MMA::CMMADRMAudioPlayer::ErrorPlaybackComplete: aError = %d", aError);
   335     TBuf<KErrorMessageSize> errorMessage;
   335     TBuf<KErrorMessageSize> errorMessage;
   336     errorMessage.Format(KErrDefaultError, aError);
   336     errorMessage.Format(KErrDefaultError, aError);
   337     PostStringEvent(CMMAPlayerEvent::EError, errorMessage);
   337     PostStringEvent(CMMAPlayerEvent::EError, errorMessage);
   338 
   338 
   339     CloseClientUtility();
   339     CloseClientUtility();