qtmobility/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    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;