diff options
author | Markus Nolvi <markus.nolvi@digia.com> | 2010-05-03 12:26:13 +0300 |
---|---|---|
committer | Markus Nolvi <markus.nolvi@digia.com> | 2010-05-03 12:26:13 +0300 |
commit | 95c5322f49f6c84248cbef8c0f0ef2ba49840d6a (patch) | |
tree | fde2adeb4c12cb9a0833f9bb382919de5a3d70cd | |
parent | e4da6d0a08ec16367a369560bb604f415d8312f8 (diff) |
Symbian: Changed videooutput setting logic to only set renderer if there's
actual media set.
10 files changed, 19 insertions, 23 deletions
diff --git a/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp b/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp index f2e868ae57..347a13e3bc 100644 --- a/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp +++ b/plugins/multimedia/symbian/common/s60videooutputcontrol.cpp @@ -45,6 +45,10 @@ S60VideoOutputControl::S60VideoOutputControl(QObject *parent) : QVideoOutputControl(parent) , m_output(NoOutput) { + setAvailableOutputs(QList<QVideoOutputControl::Output>() +// << QVideoOutputControl::RendererOutput +// << QVideoOutputControl::WindowOutput + << QVideoOutputControl::WidgetOutput); } QList<QVideoOutputControl::Output> S60VideoOutputControl::availableOutputs() const diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h index b195ff16cc..4de697490c 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h @@ -106,6 +106,7 @@ protected: int doGetBufferStatusL() const; qint64 doGetDurationL() const; void doSetAudioEndpoint(const QString& audioEndpoint); + void doSetVideoRenderer(QObject *renderer){Q_UNUSED(renderer)} private: #ifdef S60_DRM_SUPPORTED diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp index d592ce6d8e..3c56f10483 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp @@ -49,26 +49,22 @@ S60MediaPlayerAudioEndpointSelector::S60MediaPlayerAudioEndpointSelector(QObject *control, QObject *parent) :QAudioEndpointSelector(parent) , m_control(0) - , m_audioEndpointNames(0) { m_control = qobject_cast<S60MediaPlayerControl*>(control); + m_audioEndpointNames.append("Default"); + m_audioEndpointNames.append("All"); + m_audioEndpointNames.append("None"); + m_audioEndpointNames.append("Earphone"); + m_audioEndpointNames.append("Speaker"); } S60MediaPlayerAudioEndpointSelector::~S60MediaPlayerAudioEndpointSelector() { - delete m_audioEndpointNames; } QList<QString> S60MediaPlayerAudioEndpointSelector::availableEndpoints() const { - if(m_audioEndpointNames->count() == 0) { - m_audioEndpointNames->append("Default"); - m_audioEndpointNames->append("All"); - m_audioEndpointNames->append("None"); - m_audioEndpointNames->append("Earphone"); - m_audioEndpointNames->append("Speaker"); - } - return *m_audioEndpointNames; + return m_audioEndpointNames; } QString S60MediaPlayerAudioEndpointSelector::endpointDescription(const QString& name) const diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h index eb8215b005..939b718f4a 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h @@ -71,7 +71,7 @@ public Q_SLOTS: private: S60MediaPlayerControl* m_control; QString m_audioInput; - QList<QString> *m_audioEndpointNames; + QList<QString> m_audioEndpointNames; }; #endif // S60MEDIAPLAYERAUDIOENDPOINTSELECTOR_H diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp index cb711d332c..e0184d9a9d 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp @@ -239,9 +239,8 @@ S60MediaPlayerSession* S60MediaPlayerControl::session() void S60MediaPlayerControl::setVideoOutput(QObject *output) { - S60MediaPlayerSession *session = NULL; - session = m_mediaPlayerResolver.VideoPlayerSession(); - session->setVideoRenderer(output); + if (m_session) + m_session->setVideoRenderer(output); } bool S60MediaPlayerControl::isAudioAvailable() const diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp index 59b64f2b6e..26eecf47ef 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp @@ -97,11 +97,6 @@ QMediaControl *S60MediaPlayerService::control(const char *name) const m_videoOutput = new S60VideoOutputControl; connect(m_videoOutput, SIGNAL(outputChanged(QVideoOutputControl::Output)), this, SLOT(videoOutputChanged(QVideoOutputControl::Output))); - m_videoOutput->setAvailableOutputs(QList<QVideoOutputControl::Output>() -// << QVideoOutputControl::RendererOutput -// << QVideoOutputControl::WindowOutput - << QVideoOutputControl::WidgetOutput); - } return m_videoOutput; } diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp index f01d055b8a..ef4d4c8c01 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp @@ -205,7 +205,7 @@ void S60MediaPlayerSession::reset() void S60MediaPlayerSession::setVideoRenderer(QObject *renderer) { - Q_UNUSED(renderer); + doSetVideoRenderer(renderer); } int S60MediaPlayerSession::bufferStatus() diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h index 60f854f66b..393b9726ed 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h @@ -86,7 +86,7 @@ public: QMap<QString, QVariant> availableMetaData() const; void load(QUrl url); int bufferStatus(); - virtual void setVideoRenderer(QObject *renderer); + void setVideoRenderer(QObject *renderer); void setMediaStatus(QMediaPlayer::MediaStatus); void setState(QMediaPlayer::State state); void setAudioEndpoint(const QString& audioEndpoint); @@ -104,6 +104,7 @@ protected: virtual int doGetBufferStatusL() const = 0; virtual qint64 doGetDurationL() const = 0; virtual void doSetAudioEndpoint(const QString& audioEndpoint) = 0; + virtual void doSetVideoRenderer(QObject *renderer) = 0; public: // From S60MediaPlayerAudioEndpointSelector diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp index 537505dccd..f7090baed7 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp @@ -135,7 +135,7 @@ qint64 S60VideoPlayerSession::doGetDurationL() const return m_player->DurationL().Int64() / qint64(1000); } -void S60VideoPlayerSession::setVideoRenderer(QObject *videoOutput) +void S60VideoPlayerSession::doSetVideoRenderer(QObject *videoOutput) { Q_UNUSED(videoOutput) QVideoOutputControl *videoControl = qobject_cast<QVideoOutputControl *>(m_service.control(QVideoOutputControl_iid)); diff --git a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h index 16772eb608..2071d4f17c 100644 --- a/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h +++ b/plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h @@ -68,7 +68,6 @@ public: //From S60MediaPlayerSession bool isVideoAvailable() const; bool isAudioAvailable() const; - void setVideoRenderer(QObject *renderer); //From MVideoLoadingObserver void MvloLoadingStarted(); @@ -100,6 +99,7 @@ protected: int doGetBufferStatusL() const; qint64 doGetDurationL() const; void doSetAudioEndpoint(const QString& audioEndpoint); + void doSetVideoRenderer(QObject *renderer); private slots: void resetVideoDisplay(); |