src/3rdparty/phonon/gstreamer/mediaobject.h
changeset 30 5dc02b23752f
parent 0 1918ee327afb
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
    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();
   234     qint64 getPipelinePos() const;
   231     qint64 getPipelinePos() const;
   235 
   232 
   236     int _iface_availableTitles() const;
   233     int _iface_availableTitles() const;
   237     int _iface_currentTitle() const;
   234     int _iface_currentTitle() const;
   238     void _iface_setCurrentTitle(int title);
   235     void _iface_setCurrentTitle(int title);
       
   236     void setTrack(int title);
   239 
   237 
   240     bool m_resumeState;
   238     bool m_resumeState;
   241     State m_oldState;
   239     State m_oldState;
   242     quint64 m_oldPos;
   240     quint64 m_oldPos;
   243 
   241 
   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