qtinternetradio/irqmediaplayer/src/irqmediaplayer.cpp
changeset 14 896e9dbc5f19
parent 5 0930554dc389
equal deleted inserted replaced
12:608f67c22514 14:896e9dbc5f19
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 #include <StereoWideningBase.h>
    17 
    18 #include "irqmediaplayer.h"
    18 #include "irqmediaplayer.h"
    19 #if defined(MMFADAPTER)
    19 #if defined(MMFADAPTER)
    20 #include "irqmmfadapter.h"
    20 #include "irqmmfadapter.h"
    21 #elif defined(PHONONAdapter)
    21 #elif defined(PHONONAdapter)
    22 #include "irqphononadapter.h"
    22 #include "irqphononadapter.h"
    23 #endif
    23 #endif
    24 
    24 
    25 #include "irqlogger.h"
    25 #include "irqlogger.h"
    26 
    26 
    27 //Constants
       
    28 const int KDefaultStereoLevel = 100;            // Default stereo level
       
    29 
    27 
    30 // ---------------------------------------------------------------------------
    28 // ---------------------------------------------------------------------------
    31 // IRQMediaPlayer::IRQMediaPlayer
    29 // IRQMediaPlayer::IRQMediaPlayer
    32 // Constructor
    30 // Constructor
    33 // Creates player adpater and connect the signals
    31 // Creates player adpater and connect the signals
    34 // ---------------------------------------------------------------------------
    32 // ---------------------------------------------------------------------------
    35 //
    33 //
    36 EXPORT_C IRQMediaPlayer::IRQMediaPlayer() :
    34 IRQMediaPlayer::IRQMediaPlayer()
    37     iStereoEffect(NULL)
       
    38 {
    35 {
       
    36     LOG_METHOD;
    39 #if defined(MMFADAPTER)
    37 #if defined(MMFADAPTER)
    40     iPlayer = new IRQMMFAdapter();
    38     iPlayer = new IRQMMFAdapter();
    41 #elif defined(PHONONAdapter)
    39 #elif defined(PHONONAdapter)
    42     iPlayer = new IRQPHONONAdapter();
    40     iPlayer = new IRQPHONONAdapter();
    43 #endif
    41 #endif
    60 // Delete player adapter
    58 // Delete player adapter
    61 // ---------------------------------------------------------------------------
    59 // ---------------------------------------------------------------------------
    62 //
    60 //
    63 IRQMediaPlayer::~IRQMediaPlayer()
    61 IRQMediaPlayer::~IRQMediaPlayer()
    64 {
    62 {
       
    63     LOG_METHOD;
    65     delete iPlayer;
    64     delete iPlayer;
    66     iPlayer = NULL;
    65     iPlayer = NULL;
    67 
       
    68     delete iStereoEffect;
       
    69     iStereoEffect = NULL;
       
    70 }
    66 }
    71 
    67 
    72 // ---------------------------------------------------------------------------
    68 // ---------------------------------------------------------------------------
    73 // IRQMediaPlayer::playStation
    69 // IRQMediaPlayer::playStation
    74 // Plays a specific radio station via certain access point id
    70 // Plays a specific radio station via certain access point id
    75 // ---------------------------------------------------------------------------
    71 // ---------------------------------------------------------------------------
    76 //
    72 //
    77 EXPORT_C void IRQMediaPlayer::playStation(const QString &aUrl, int aApId)
    73 void IRQMediaPlayer::playStation(const QString &aUrl, int aApId)
    78 {
    74 {
       
    75     LOG_METHOD;
       
    76     LOG_FORMAT("aUrl=%s, aApId=%d", STRING2CHAR(aUrl), aApId);
    79     if (iPlayer)
    77     if (iPlayer)
    80     {
    78     {
    81         iPlayer->playStation(aUrl, aApId);
    79         iPlayer->playStation(aUrl, aApId);
    82     }
    80     }
    83 }
    81 }
    85 // ---------------------------------------------------------------------------
    83 // ---------------------------------------------------------------------------
    86 // IRQMediaPlayer::stop
    84 // IRQMediaPlayer::stop
    87 // Stops the playback
    85 // Stops the playback
    88 // ---------------------------------------------------------------------------
    86 // ---------------------------------------------------------------------------
    89 //
    87 //
    90 EXPORT_C void IRQMediaPlayer::stop()
    88 void IRQMediaPlayer::stop()
    91 {
    89 {
       
    90     LOG_METHOD;
    92     if (iPlayer)
    91     if (iPlayer)
    93     {
    92     {
    94         iPlayer->stop();
    93         iPlayer->stop();
    95     }
    94     }
    96 }
    95 }
    98 // ---------------------------------------------------------------------------
    97 // ---------------------------------------------------------------------------
    99 // IRQMediaPlayer::setVolume
    98 // IRQMediaPlayer::setVolume
   100 // Sets the volume
    99 // Sets the volume
   101 // ---------------------------------------------------------------------------
   100 // ---------------------------------------------------------------------------
   102 //
   101 //
   103 EXPORT_C void IRQMediaPlayer::setVolume(int aVolume)
   102 void IRQMediaPlayer::setVolume(int aVolume)
   104 {
   103 {
       
   104     LOG_METHOD;
       
   105     LOG_FORMAT("aVolume=%d", aVolume);
   105     if (iPlayer)
   106     if (iPlayer)
   106     {
   107     {
   107         iPlayer->setVolume(aVolume);
   108         iPlayer->setVolume(aVolume);
   108     }
   109     }
   109 }
   110 }
   111 // ---------------------------------------------------------------------------
   112 // ---------------------------------------------------------------------------
   112 // IRQMediaPlayer::getVolume
   113 // IRQMediaPlayer::getVolume
   113 // Gets the current volume of playback
   114 // Gets the current volume of playback
   114 // ---------------------------------------------------------------------------
   115 // ---------------------------------------------------------------------------
   115 //
   116 //
   116 EXPORT_C int IRQMediaPlayer::getVolume()
   117 int IRQMediaPlayer::getVolume()
   117 {
   118 {
       
   119     LOG_METHOD;
   118     int val = 0;
   120     int val = 0;
   119 
   121 
   120     if (iPlayer)
   122     if (iPlayer)
   121     {
   123     {
   122         val = iPlayer->getVolume();
   124         val = iPlayer->getVolume();
   128 // ---------------------------------------------------------------------------
   130 // ---------------------------------------------------------------------------
   129 // IRQMediaPlayer::enableStereoEffect
   131 // IRQMediaPlayer::enableStereoEffect
   130 // Turns on stereo effect
   132 // Turns on stereo effect
   131 // ---------------------------------------------------------------------------
   133 // ---------------------------------------------------------------------------
   132 //
   134 //
   133 EXPORT_C void IRQMediaPlayer::enableStereoEffect()
   135 void IRQMediaPlayer::enableStereoEffect()
   134 {
   136 {
   135     if (!iPlayer || IRQPlayerAdapterInterface::EPlaying != iPlayer->iPlayState)
   137     LOG_METHOD;
   136     {
   138     iPlayer->enableStereoEffect();
   137         return;
       
   138     }
       
   139 
       
   140     TRAP_IGNORE(enableStereoEffectL());
       
   141 }
   139 }
   142 
   140 
   143 // ---------------------------------------------------------------------------
   141 // ---------------------------------------------------------------------------
   144 // IRQMediaPlayer::disableStereoEffect
   142 // IRQMediaPlayer::disableStereoEffect
   145 // Turns off stereo effect
   143 // Turns off stereo effect
   146 // ---------------------------------------------------------------------------
   144 // ---------------------------------------------------------------------------
   147 //
   145 //
   148 EXPORT_C void IRQMediaPlayer::disableStereoEffect()
   146 void IRQMediaPlayer::disableStereoEffect()
   149 {
   147 {
   150     LOG_METHOD;
   148     LOG_METHOD;
   151     if (iStereoEffect)
   149     iPlayer->disableStereoEffect();
   152     {
       
   153         if (iStereoEffect->IsEnabled())
       
   154         {
       
   155             TRAPD(error, iStereoEffect->DisableL());
       
   156             if (KErrNone != error)
       
   157             {
       
   158                 emit errorOccured(EIRQPlayerErrorSetStereoFailed);
       
   159             }
       
   160             delete iStereoEffect;
       
   161             iStereoEffect = NULL;
       
   162         }
       
   163     }
       
   164 }
   150 }
   165 
   151 
   166 // ---------------------------------------------------------------------------
       
   167 // IRQMediaPlayer::enableStereoEffectL
       
   168 // Turns on stereo effect
       
   169 // ---------------------------------------------------------------------------
       
   170 //
       
   171 void IRQMediaPlayer::enableStereoEffectL()
       
   172 {
       
   173 
       
   174     TUint stereoLevel = KDefaultStereoLevel;
       
   175 
       
   176     if (!iStereoEffect)
       
   177     {
       
   178 #if defined(MMFADAPTER)
       
   179         CVideoPlayerUtility* playerInstance = (CVideoPlayerUtility*)iPlayer->getPlayerInstance();
       
   180 #elif defined(PHONONAdapter)
       
   181         void* playerInstance = iPlayer->getPlayerInstance();
       
   182 #endif
       
   183         iStereoEffect = CStereoWidening::NewL(*playerInstance, EFalse, stereoLevel);
       
   184     }
       
   185 
       
   186     if (!iStereoEffect->IsEnabled())
       
   187     {
       
   188         iStereoEffect->EnableL();
       
   189         iStereoEffect->SetStereoWideningLevelL(stereoLevel);
       
   190         iStereoEffect->ApplyL();
       
   191     }
       
   192 }