53 , public AddonInterface |
53 , public AddonInterface |
54 #endif |
54 #endif |
55 , public MediaNode |
55 , public MediaNode |
56 { |
56 { |
57 friend class Stream; |
57 friend class Stream; |
|
58 friend class AudioDataOutput; |
58 Q_OBJECT |
59 Q_OBJECT |
59 Q_INTERFACES(Phonon::MediaObjectInterface |
60 Q_INTERFACES(Phonon::MediaObjectInterface |
60 #ifndef QT_NO_PHONON_MEDIACONTROLLER |
61 #ifndef QT_NO_PHONON_MEDIACONTROLLER |
61 Phonon::AddonInterface |
62 Phonon::AddonInterface |
62 #endif |
63 #endif |
142 void connectVideo(GstPad *videoPad); |
143 void connectVideo(GstPad *videoPad); |
143 void connectAudio(GstPad *audioPad); |
144 void connectAudio(GstPad *audioPad); |
144 void handleBusMessage(const Message &msg); |
145 void handleBusMessage(const Message &msg); |
145 void handleEndOfStream(); |
146 void handleEndOfStream(); |
146 void addMissingCodecName(const QString &codec) { m_missingCodecs.append(codec); } |
147 void addMissingCodecName(const QString &codec) { m_missingCodecs.append(codec); } |
147 void invalidateGraph() { |
148 void invalidateGraph(); |
148 m_resetNeeded = true; |
149 |
149 if (m_state == Phonon::PlayingState || m_state == Phonon::PausedState) { |
|
150 changeState(Phonon::StoppedState); |
|
151 } |
|
152 } |
|
153 static void cb_newpad (GstElement *decodebin, GstPad *pad, gboolean last, gpointer data); |
150 static void cb_newpad (GstElement *decodebin, GstPad *pad, gboolean last, gpointer data); |
154 static void cb_pad_added (GstElement *decodebin, GstPad *pad, gpointer data); |
151 static void cb_pad_added (GstElement *decodebin, GstPad *pad, gpointer data); |
155 static void cb_unknown_type (GstElement *decodebin, GstPad *pad, GstCaps *caps, gpointer data); |
152 static void cb_unknown_type (GstElement *decodebin, GstPad *pad, GstCaps *caps, gpointer data); |
156 static void cb_no_more_pads (GstElement * decodebin, gpointer data); |
153 static void cb_no_more_pads (GstElement * decodebin, gpointer data); |
157 void saveState(); |
154 void saveState(); |
248 |
246 |
249 MediaSource m_source; |
247 MediaSource m_source; |
250 MediaSource m_nextSource; |
248 MediaSource m_nextSource; |
251 qint32 m_prefinishMark; |
249 qint32 m_prefinishMark; |
252 qint32 m_transitionTime; |
250 qint32 m_transitionTime; |
|
251 bool m_isStream; |
253 |
252 |
254 qint64 m_posAtSeek; |
253 qint64 m_posAtSeek; |
255 |
254 |
256 bool m_prefinishMarkReachedNotEmitted; |
255 bool m_prefinishMarkReachedNotEmitted; |
257 bool m_aboutToFinishEmitted; |
256 bool m_aboutToFinishEmitted; |
283 QStringList m_missingCodecs; |
282 QStringList m_missingCodecs; |
284 QMultiMap<QString, QString> m_metaData; |
283 QMultiMap<QString, QString> m_metaData; |
285 bool m_autoplayTitles; |
284 bool m_autoplayTitles; |
286 int m_availableTitles; |
285 int m_availableTitles; |
287 int m_currentTitle; |
286 int m_currentTitle; |
|
287 int m_pendingTitle; |
288 }; |
288 }; |
289 } |
289 } |
290 } //namespace Phonon::Gstreamer |
290 } //namespace Phonon::Gstreamer |
291 |
291 |
292 QT_END_NAMESPACE |
292 QT_END_NAMESPACE |