src/3rdparty/phonon/mmf/videoplayer_surface.cpp
changeset 22 79de32ba3296
parent 19 fcece45ef507
child 33 3e2da88830cd
equal deleted inserted replaced
19:fcece45ef507 22:79de32ba3296
   102     parametersChanged(WindowHandle);
   102     parametersChanged(WindowHandle);
   103 }
   103 }
   104 
   104 
   105 void MMF::SurfaceVideoPlayer::handleParametersChanged(VideoParameters parameters)
   105 void MMF::SurfaceVideoPlayer::handleParametersChanged(VideoParameters parameters)
   106 {
   106 {
   107     CVideoPlayerUtility2 *player = static_cast<CVideoPlayerUtility2 *>(m_player.data());
       
   108 
       
   109     int err = KErrNone;
       
   110 
       
   111     TRect rect;
   107     TRect rect;
   112 
       
   113     if (m_videoOutput) {
   108     if (m_videoOutput) {
   114         m_videoOutput->dump();
   109         m_videoOutput->dump();
   115         const QSize size = m_videoOutput->videoWindowSize();
   110         const QSize size = m_videoOutput->videoWindowSize();
   116         rect.SetSize(TSize(size.width(), size.height()));
   111         rect.SetSize(TSize(size.width(), size.height()));
   117     }
   112     }
   118 
   113 
   119     if (parameters & WindowHandle) {
   114     CVideoPlayerUtility2 *player = static_cast<CVideoPlayerUtility2 *>(m_player.data());
   120         if (m_displayWindow)
   115     if (player) {
   121             player->RemoveDisplayWindow(*m_displayWindow);
   116         int err = KErrNone;
       
   117         if (parameters & WindowHandle) {
       
   118             if (m_displayWindow)
       
   119                 player->RemoveDisplayWindow(*m_displayWindow);
   122 
   120 
   123         RWindow *window = static_cast<RWindow *>(m_window);
   121             RWindow *window = static_cast<RWindow *>(m_window);
   124         if (window) {
   122             if (window) {
   125             window->SetBackgroundColor(TRgb(0, 0, 0, 255));
   123                 window->SetBackgroundColor(TRgb(0, 0, 0, 255));
   126             TRAP(err, player->AddDisplayWindowL(m_wsSession, m_screenDevice, *window, rect, rect));
   124                 TRAP(err, player->AddDisplayWindowL(m_wsSession, m_screenDevice, *window, rect, rect));
   127             if (KErrNone != err) {
   125                 if (KErrNone != err) {
   128                 setError(tr("Video display error"), err);
   126                     setError(tr("Video display error"), err);
   129                 window = 0;
   127                     window = 0;
       
   128                 }
   130             }
   129             }
       
   130             m_displayWindow = window;
   131         }
   131         }
   132         m_displayWindow = window;
       
   133     }
       
   134 
   132 
   135     if (KErrNone == err) {
   133         if (KErrNone == err) {
   136         if (parameters & ScaleFactors) {
   134             if (parameters & ScaleFactors) {
   137             Q_ASSERT(m_displayWindow);
   135                 Q_ASSERT(m_displayWindow);
   138             TRAP(err, player->SetVideoExtentL(*m_displayWindow, rect));
   136                 TRAP(err, player->SetVideoExtentL(*m_displayWindow, rect));
   139             if (KErrNone == err)
   137                 if (KErrNone == err)
   140                 TRAP(err, player->SetWindowClipRectL(*m_displayWindow, rect));
   138                     TRAP(err, player->SetWindowClipRectL(*m_displayWindow, rect));
   141             if (KErrNone == err)
   139                 if (KErrNone == err)
   142                 TRAP(err, player->SetScaleFactorL(*m_displayWindow, m_scaleWidth, m_scaleHeight));
   140                     TRAP(err, player->SetScaleFactorL(*m_displayWindow, m_scaleWidth, m_scaleHeight));
   143             if (KErrNone != err)
   141                 if (KErrNone != err)
   144                 setError(tr("Video display error"), err);
   142                     setError(tr("Video display error"), err);
       
   143             }
   145         }
   144         }
   146     }
   145     }
   147 }
   146 }
   148 
   147 
   149 QT_END_NAMESPACE
   148 QT_END_NAMESPACE