89 |
89 |
90 qreal playbackRate() const; |
90 qreal playbackRate() const; |
91 void setPlaybackRate(qreal rate); |
91 void setPlaybackRate(qreal rate); |
92 |
92 |
93 QMap<QByteArray ,QVariant> tags() const { return m_tags; } |
93 QMap<QByteArray ,QVariant> tags() const { return m_tags; } |
94 QMap<QtMediaServices::MetaData,QVariant> streamProperties(int streamNumber) const { return m_streamProperties[streamNumber]; } |
94 QMap<QtMultimedia::MetaData,QVariant> streamProperties(int streamNumber) const { return m_streamProperties[streamNumber]; } |
95 int streamCount() const { return m_streamProperties.count(); } |
95 int streamCount() const { return m_streamProperties.count(); } |
96 QMediaStreamsControl::StreamType streamType(int streamNumber) { return m_streamTypes.value(streamNumber, QMediaStreamsControl::UnknownStream); } |
96 QMediaStreamsControl::StreamType streamType(int streamNumber) { return m_streamTypes.value(streamNumber, QMediaStreamsControl::UnknownStream); } |
97 |
97 |
98 int activeStream(QMediaStreamsControl::StreamType streamType) const; |
98 int activeStream(QMediaStreamsControl::StreamType streamType) const; |
99 void setActiveStream(QMediaStreamsControl::StreamType streamType, int streamNumber); |
99 void setActiveStream(QMediaStreamsControl::StreamType streamType, int streamNumber); |
100 |
100 |
101 bool processSyncMessage(const QGstreamerMessage &message); |
101 bool processSyncMessage(const QGstreamerMessage &message); |
102 |
102 |
103 public slots: |
103 public slots: |
104 void load(const QUrl &url); |
104 void load(const QUrl &url); |
105 |
105 |
106 bool play(); |
106 bool play(); |
130 |
130 |
131 private slots: |
131 private slots: |
132 void busMessage(const QGstreamerMessage &message); |
132 void busMessage(const QGstreamerMessage &message); |
133 void getStreamsInfo(); |
133 void getStreamsInfo(); |
134 void setSeekable(bool); |
134 void setSeekable(bool); |
|
135 void finishVideoOutputChange(); |
|
136 void updateVideoRenderer(); |
135 |
137 |
136 private: |
138 private: |
137 QUrl m_url; |
139 QUrl m_url; |
138 QMediaPlayer::State m_state; |
140 QMediaPlayer::State m_state; |
139 QGstreamerBusHelper* m_busHelper; |
141 QGstreamerBusHelper* m_busHelper; |
140 GstElement* m_playbin; |
142 GstElement* m_playbin; |
141 GstElement* m_nullVideoOutput; |
143 |
|
144 GstElement* m_videoOutputBin; |
|
145 GstElement* m_videoIdentity; |
|
146 GstElement* m_colorSpace; |
|
147 GstElement* m_videoScale; |
|
148 GstElement* m_videoSink; |
|
149 GstElement* m_pendingVideoSink; |
|
150 GstElement* m_nullVideoSink; |
|
151 |
142 GstBus* m_bus; |
152 GstBus* m_bus; |
|
153 QObject *m_videoOutput; |
143 QGstreamerVideoRendererInterface *m_renderer; |
154 QGstreamerVideoRendererInterface *m_renderer; |
144 |
155 |
145 QMap<QByteArray, QVariant> m_tags; |
156 QMap<QByteArray, QVariant> m_tags; |
146 QList< QMap<QtMediaServices::MetaData,QVariant> > m_streamProperties; |
157 QList< QMap<QtMultimedia::MetaData,QVariant> > m_streamProperties; |
147 QList<QMediaStreamsControl::StreamType> m_streamTypes; |
158 QList<QMediaStreamsControl::StreamType> m_streamTypes; |
148 QMap<QMediaStreamsControl::StreamType, int> m_playbin2StreamOffset; |
159 QMap<QMediaStreamsControl::StreamType, int> m_playbin2StreamOffset; |
149 |
160 |
150 |
161 |
151 int m_volume; |
162 int m_volume; |