summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Nolvi <markus.nolvi@digia.com>2010-05-03 12:26:13 +0300
committerMarkus Nolvi <markus.nolvi@digia.com>2010-05-03 12:26:13 +0300
commit95c5322f49f6c84248cbef8c0f0ef2ba49840d6a (patch)
treefde2adeb4c12cb9a0833f9bb382919de5a3d70cd
parente4da6d0a08ec16367a369560bb604f415d8312f8 (diff)
Symbian: Changed videooutput setting logic to only set renderer if there's
actual media set.
-rw-r--r--plugins/multimedia/symbian/common/s60videooutputcontrol.cpp4
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60audioplayersession.h1
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.cpp16
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayeraudioendpointselector.h2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayercontrol.cpp5
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayerservice.cpp5
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60mediaplayersession.h3
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.cpp2
-rw-r--r--plugins/multimedia/symbian/mmf/mediaplayer/s60videoplayersession.h2
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();