summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabincontainer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabincontainer.h')
-rw-r--r--src/plugins/gstreamer/camerabin/camerabincontainer.h44
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