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 |