summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/mediaplayer
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gstreamer/mediaplayer')
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp6
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp14
2 files changed, 11 insertions, 9 deletions
diff --git a/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp b/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp
index 22d570a06..7127d4e51 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstappsrc.cpp
@@ -56,6 +56,9 @@ QGstAppSrc::QGstAppSrc(QObject *parent)
,m_enoughData(false)
,m_forceData(false)
{
+ m_callbacks.need_data = &QGstAppSrc::on_need_data;
+ m_callbacks.enough_data = &QGstAppSrc::on_enough_data;
+ m_callbacks.seek_data = &QGstAppSrc::on_seek_data;
}
QGstAppSrc::~QGstAppSrc()
@@ -70,9 +73,6 @@ bool QGstAppSrc::setup(GstElement* appsrc)
return false;
m_appSrc = GST_APP_SRC(appsrc);
- m_callbacks.need_data = &QGstAppSrc::on_need_data;
- m_callbacks.enough_data = &QGstAppSrc::on_enough_data;
- m_callbacks.seek_data = &QGstAppSrc::on_seek_data;
gst_app_src_set_callbacks(m_appSrc, (GstAppSrcCallbacks*)&m_callbacks, this, (GDestroyNotify)&QGstAppSrc::destroy_notify);
g_object_get(G_OBJECT(m_appSrc), "max-bytes", &m_maxBytes, NULL);
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index 7a5518159..62ade3d07 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
@@ -349,13 +349,13 @@ int QGstreamerPlayerSession::activeStream(QMediaStreamsControl::StreamType strea
if (m_playbin) {
switch (streamType) {
case QMediaStreamsControl::AudioStream:
- g_object_get(G_OBJECT(m_playbin), "current-audio", streamNumber, NULL);
+ g_object_get(G_OBJECT(m_playbin), "current-audio", &streamNumber, NULL);
break;
case QMediaStreamsControl::VideoStream:
- g_object_get(G_OBJECT(m_playbin), "current-video", streamNumber, NULL);
+ g_object_get(G_OBJECT(m_playbin), "current-video", &streamNumber, NULL);
break;
case QMediaStreamsControl::SubPictureStream:
- g_object_get(G_OBJECT(m_playbin), "current-text", streamNumber, NULL);
+ g_object_get(G_OBJECT(m_playbin), "current-text", &streamNumber, NULL);
break;
default:
break;
@@ -380,13 +380,13 @@ void QGstreamerPlayerSession::setActiveStream(QMediaStreamsControl::StreamType s
if (m_playbin) {
switch (streamType) {
case QMediaStreamsControl::AudioStream:
- g_object_set(G_OBJECT(m_playbin), "current-audio", &streamNumber, NULL);
+ g_object_set(G_OBJECT(m_playbin), "current-audio", streamNumber, NULL);
break;
case QMediaStreamsControl::VideoStream:
- g_object_set(G_OBJECT(m_playbin), "current-video", &streamNumber, NULL);
+ g_object_set(G_OBJECT(m_playbin), "current-video", streamNumber, NULL);
break;
case QMediaStreamsControl::SubPictureStream:
- g_object_set(G_OBJECT(m_playbin), "current-text", &streamNumber, NULL);
+ g_object_set(G_OBJECT(m_playbin), "current-text", streamNumber, NULL);
break;
default:
break;
@@ -1297,6 +1297,8 @@ void QGstreamerPlayerSession::getStreamsInfo()
qDebug() << "Encountered unknown stream type";
#endif
gst_caps_unref(caps);
+ streamType = QMediaStreamsControl::UnknownStream;
+ break;
}
default:
streamType = QMediaStreamsControl::UnknownStream;