qtmobility/plugins/multimedia/gstreamer/mediacapture/qgstreamermediacontainercontrol.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    43 #ifndef QGSTREAMERMEDIACONTAINERCONTROL_H
    43 #ifndef QGSTREAMERMEDIACONTAINERCONTROL_H
    44 #define QGSTREAMERMEDIACONTAINERCONTROL_H
    44 #define QGSTREAMERMEDIACONTAINERCONTROL_H
    45 
    45 
    46 #include <qmediacontainercontrol.h>
    46 #include <qmediacontainercontrol.h>
    47 #include <QtCore/qstringlist.h>
    47 #include <QtCore/qstringlist.h>
       
    48 #include <QtCore/qset.h>
       
    49 
       
    50 #include <gst/gst.h>
    48 
    51 
    49 QTM_USE_NAMESPACE
    52 QTM_USE_NAMESPACE
    50 
    53 
    51 class QGstreamerMediaContainerControl : public QMediaContainerControl
    54 class QGstreamerMediaContainerControl : public QMediaContainerControl
    52 {
    55 {
    61 
    64 
    62     virtual QString containerDescription(const QString &formatMimeType) const { return m_containerDescriptions.value(formatMimeType); }
    65     virtual QString containerDescription(const QString &formatMimeType) const { return m_containerDescriptions.value(formatMimeType); }
    63 
    66 
    64     QByteArray formatElementName() const { return m_elementNames.value(containerMimeType()); }
    67     QByteArray formatElementName() const { return m_elementNames.value(containerMimeType()); }
    65 
    68 
       
    69     QSet<QString> supportedStreamTypes(const QString &container) const;
       
    70 
       
    71     static QSet<QString> supportedStreamTypes(GstElementFactory *factory, GstPadDirection direction);
       
    72 
    66 private:
    73 private:
    67     QString m_format;
    74     QString m_format;
    68     QStringList m_supportedContainers;
    75     QStringList m_supportedContainers;
    69     QMap<QString,QByteArray> m_elementNames;
    76     QMap<QString,QByteArray> m_elementNames;
    70     QMap<QString, QString> m_containerDescriptions;
    77     QMap<QString, QString> m_containerDescriptions;
       
    78     QMap<QString, QSet<QString> > m_streamTypes;
    71 };
    79 };
    72 
    80 
    73 #endif // QGSTREAMERMEDIACONTAINERCONTROL_H
    81 #endif // QGSTREAMERMEDIACONTAINERCONTROL_H