diff options
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabincontainer.h')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabincontainer.h | 44 |
1 files changed, 15 insertions, 29 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabincontainer.h b/src/plugins/gstreamer/camerabin/camerabincontainer.h index 58f540cca..5eaa19f53 100644 --- a/src/plugins/gstreamer/camerabin/camerabincontainer.h +++ b/src/plugins/gstreamer/camerabin/camerabincontainer.h @@ -48,6 +48,10 @@ #include <QtCore/qset.h> #include <gst/gst.h> +#include <gst/pbutils/pbutils.h> +#include <gst/pbutils/encoding-profile.h> + +#include "qgstcodecsinfo.h" QT_USE_NAMESPACE @@ -58,35 +62,18 @@ public: CameraBinContainer(QObject *parent); virtual ~CameraBinContainer() {} - virtual QStringList supportedContainers() const { return m_supportedContainers; } - virtual QString containerMimeType() const { return m_format; } - virtual void setContainerMimeType(const QString &formatMimeType) - { - m_format = formatMimeType; - - if (m_userFormat != formatMimeType) { - m_userFormat = formatMimeType; - emit settingsChanged(); - } - } - - void setActualContainer(const QString &formatMimeType) - { - m_format = formatMimeType; - } + virtual QStringList supportedContainers() const; + virtual QString containerDescription(const QString &formatMimeType) const; - void resetActualContainer() - { - m_format = m_userFormat; - } + virtual QString containerMimeType() const; + virtual void setContainerMimeType(const QString &formatMimeType); - virtual QString containerDescription(const QString &formatMimeType) const { return m_containerDescriptions.value(formatMimeType); } + void setActualContainer(const QString &formatMimeType); + void resetActualContainer(); - QByteArray formatElementName() const { return m_elementNames.value(containerMimeType()); } + QString suggestedFileExtension() const; - QSet<QString> supportedStreamTypes(const QString &container) const; - - static QSet<QString> supportedStreamTypes(GstElementFactory *factory, GstPadDirection direction); + GstEncodingContainerProfile *createProfile(); Q_SIGNALS: void settingsChanged(); @@ -94,10 +81,9 @@ Q_SIGNALS: private: QString m_format; // backend selected format, using m_userFormat QString m_userFormat; - QStringList m_supportedContainers; - QMap<QString,QByteArray> m_elementNames; - QMap<QString, QString> m_containerDescriptions; - QMap<QString, QSet<QString> > m_streamTypes; + QMap<QString, QString> m_fileExtensions; + + QGstCodecsInfo m_supportedContainers; }; #endif // CAMERABINMEDIACONTAINERCONTROL_H |