/* This file is part of the KDE project. | |
Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). | |
This library is free software: you can redistribute it and/or modify | |
it under the terms of the GNU Lesser General Public License as published by | |
the Free Software Foundation, either version 2.1 or 3 of the License. | |
This library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public License | |
along with this library. If not, see <http://www.gnu.org/licenses/>. | |
*/ | |
#ifndef PHONON_MMF_VIDEOPLAYER_SURFACE_H | |
#define PHONON_MMF_VIDEOPLAYER_SURFACE_H | |
#include "abstractvideoplayer.h" | |
class RWindow; | |
QT_BEGIN_NAMESPACE | |
namespace Phonon | |
{ | |
namespace MMF | |
{ | |
/** | |
* @short Wrapper over the MMF video player utility (surface version) | |
* | |
* This implementation is used on devices with a graphics subsystem which | |
* supports surfaces. | |
* | |
* @see DsaVideoPlayer | |
*/ | |
class SurfaceVideoPlayer | |
: public AbstractVideoPlayer | |
{ | |
Q_OBJECT | |
public: | |
// Factory function | |
static SurfaceVideoPlayer* create(MediaObject *parent = 0, | |
const AbstractPlayer *player = 0); | |
~SurfaceVideoPlayer(); | |
public Q_SLOTS: | |
void videoWindowSizeChanged(); | |
private: | |
SurfaceVideoPlayer(MediaObject *parent, const AbstractPlayer *player); | |
// AbstractVideoPlayer | |
void createPlayer(); | |
void initVideoOutput(); | |
void prepareCompleted(); | |
void handleVideoWindowChanged(); | |
void handleParametersChanged(VideoParameters parameters); | |
void addDisplayWindow(const TRect &rect); | |
void removeDisplayWindow(); | |
private: | |
// Window handle which has been passed to the MMF via | |
// CVideoPlayerUtility2::SetDisplayWindowL | |
RWindow* m_displayWindow; | |
}; | |
} | |
} | |
QT_END_NAMESPACE | |
#endif // !PHONON_MMF_VIDEOPLAYER_SURFACE_H | |