mpengine/src/mpmpxplaybackframeworkwrapper_p.cpp
changeset 61 3cd404d31176
parent 58 ed94e1e8390e
equal deleted inserted replaced
58:ed94e1e8390e 61:3cd404d31176
    53  \internal
    53  \internal
    54  */
    54  */
    55 MpMpxPlaybackFrameworkWrapperPrivate::MpMpxPlaybackFrameworkWrapperPrivate( MpMpxPlaybackFrameworkWrapper *qq)
    55 MpMpxPlaybackFrameworkWrapperPrivate::MpMpxPlaybackFrameworkWrapperPrivate( MpMpxPlaybackFrameworkWrapper *qq)
    56     : q_ptr(qq),
    56     : q_ptr(qq),
    57       iPlaybackUtility(0),
    57       iPlaybackUtility(0),
       
    58       iEmbeddedPlaybackHelper(0),
    58       iPlaybackData(0),
    59       iPlaybackData(0),
    59       iDetailsRequest(false)
    60       iDetailsRequest(false)
    60 {
    61 {
    61     TX_LOG
    62     TX_LOG
    62 }
    63 }
    66  */
    67  */
    67 MpMpxPlaybackFrameworkWrapperPrivate::~MpMpxPlaybackFrameworkWrapperPrivate()
    68 MpMpxPlaybackFrameworkWrapperPrivate::~MpMpxPlaybackFrameworkWrapperPrivate()
    68 {
    69 {
    69     TX_ENTRY
    70     TX_ENTRY
    70     if ( iPlaybackUtility ) {
    71     if ( iPlaybackUtility ) {
    71         TRAP_IGNORE( ForceStopL() );
       
    72         TRAP_IGNORE( iPlaybackUtility->RemoveObserverL(*this) );
    72         TRAP_IGNORE( iPlaybackUtility->RemoveObserverL(*this) );
    73         iPlaybackUtility->Close();
    73         iPlaybackUtility->Close();
    74     }
    74     }
       
    75     delete iEmbeddedPlaybackHelper;
    75     delete iPlaybackData;
    76     delete iPlaybackData;
    76     TX_EXIT
    77     TX_EXIT
    77 }
    78 }
    78 
    79 
    79 /*!
    80 /*!
   443     if ( err == KErrNone ) {
   444     if ( err == KErrNone ) {
   444         iDetailsRequest = true;
   445         iDetailsRequest = true;
   445     }
   446     }
   446     else {
   447     else {
   447         TX_LOG_ARGS( "Error: " << err << "; should never get here." );
   448         TX_LOG_ARGS( "Error: " << err << "; should never get here." );
       
   449     }
       
   450     TX_EXIT
       
   451 }
       
   452 
       
   453 /*!
       
   454  \internal
       
   455  */
       
   456 void MpMpxPlaybackFrameworkWrapperPrivate::forceStop()
       
   457 {
       
   458     TX_ENTRY
       
   459     TRAPD( err, ForceStopL() );
       
   460     if ( err != KErrNone ) {
       
   461         TX_LOG_ARGS("Error: " << err << "; should never get here.");
   448     }
   462     }
   449     TX_EXIT
   463     TX_EXIT
   450 }
   464 }
   451 
   465 
   452 /*!
   466 /*!
   607         if ( aMedia.IsSupported( KMPXMediaGeneralId ) ) {
   621         if ( aMedia.IsSupported( KMPXMediaGeneralId ) ) {
   608         changed |= iPlaybackData->setId(
   622         changed |= iPlaybackData->setId(
   609                     aMedia.ValueTObjectL<TInt>( KMPXMediaGeneralId ) );
   623                     aMedia.ValueTObjectL<TInt>( KMPXMediaGeneralId ) );
   610         }
   624         }
   611 
   625 
   612         if ( changed ) {
   626         // This is required to propagate the playback info to UI at once.
   613             // This is required to propagate the playback info to UI at once.
   627         iPlaybackData->commitPlaybackInfo( changed );
   614             iPlaybackData->commitPlaybackInfo();
   628     }
   615         }
   629     TX_EXIT
   616     }
   630 }
       
   631 
       
   632 /*!
       
   633  \internal
       
   634  */
       
   635 void MpMpxPlaybackFrameworkWrapperPrivate::HandleEmbeddedPlaybackError( TInt aError )
       
   636 {
       
   637     TX_ENTRY_ARGS( "aError=" << aError );
       
   638     Q_UNUSED( aError );
       
   639     emit q_ptr->corruptedStop( true );
   617     TX_EXIT
   640     TX_EXIT
   618 }
   641 }
   619 
   642 
   620 /*!
   643 /*!
   621  \internal
   644  \internal
   637 /*!
   660 /*!
   638  \internal
   661  \internal
   639  */
   662  */
   640 void MpMpxPlaybackFrameworkWrapperPrivate::DoPlayL( QString aFilename )
   663 void MpMpxPlaybackFrameworkWrapperPrivate::DoPlayL( QString aFilename )
   641 {
   664 {
   642     TX_ENTRY
   665     TX_ENTRY_ARGS( "Filename: " << aFilename );
   643     if ( !aFilename.isNull() ) {
   666     if ( !aFilename.isEmpty() ) {
   644         const TDesC& playTitle = TPtrC(reinterpret_cast<const TText*>( aFilename.constData() ));
   667         const TDesC& playTitle = TPtrC(reinterpret_cast<const TText*>( aFilename.constData() ));
   645         iPlaybackUtility->InitL( playTitle );
   668         if ( !iEmbeddedPlaybackHelper ) {
       
   669             iEmbeddedPlaybackHelper = 
       
   670                     CMpMpxEmbeddedPlaybackHelper::NewL( iHostUid, iPlaybackUtility, this );
       
   671         }
       
   672         iEmbeddedPlaybackHelper->playL( playTitle );
       
   673     }
       
   674     else {
       
   675         HandleEmbeddedPlaybackError( KErrArgument );
   646     }
   676     }
   647     TX_EXIT
   677     TX_EXIT
   648 }
   678 }
   649 
   679 
   650 /*!
   680 /*!
   651  \internal
   681  \internal
   652  */
   682  */
   653 void MpMpxPlaybackFrameworkWrapperPrivate::DoPlayL( const XQSharableFile& file )
   683 void MpMpxPlaybackFrameworkWrapperPrivate::DoPlayL( const XQSharableFile& file )
   654 {
   684 {
   655     TX_ENTRY
   685     TX_ENTRY
   656 
   686     DoPlayL( file.fileName() );
   657     RFile xqfile;
       
   658     bool ok = file.getHandle( xqfile );
       
   659     if ( ok ) {
       
   660         iPlaybackUtility->InitL( xqfile );
       
   661     }
       
   662     else {
       
   663         TX_LOG_ARGS("Error: " << ok << "; should never get here.");
       
   664     }
       
   665     TX_EXIT
   687     TX_EXIT
   666 }
   688 }
   667 
   689 
   668 /*!
   690 /*!
   669  \internal
   691  \internal