summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabincontainer.cpp
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-07-13 11:12:06 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-16 07:18:15 +0200
commit864ab3a39a8ce5155bf975e9ddd58fd20cd9f87f (patch)
treedaccf4b4d86cec4ba4c6812b746065c3371f4d1b /src/plugins/gstreamer/camerabin/camerabincontainer.cpp
parentb6a8c713bcc0b0cc032fdbf909143f3ba8ca15a6 (diff)
Camerabin camera service: configure default video settings
encodebin doesn't like the encoding profile with ANY container caps, if container and codecs are not specified try to find a commonly used supported combination Change-Id: Icbde042bd17d9682112fb8bbb8f0d506f6ddebe1 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabincontainer.cpp')
-rw-r--r--src/plugins/gstreamer/camerabin/camerabincontainer.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabincontainer.cpp b/src/plugins/gstreamer/camerabin/camerabincontainer.cpp
index c24e20a9d..7b9a1384b 100644
--- a/src/plugins/gstreamer/camerabin/camerabincontainer.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabincontainer.cpp
@@ -79,24 +79,40 @@ void CameraBinContainer::setContainerFormat(const QString &format)
{
if (m_format != format) {
m_format = format;
+ m_actualFormat = format;
emit settingsChanged();
}
}
+QString CameraBinContainer::actualContainerFormat() const
+{
+ return m_actualFormat;
+}
+
+void CameraBinContainer::setActualContainerFormat(const QString &containerFormat)
+{
+ m_actualFormat = containerFormat;
+}
+
+void CameraBinContainer::resetActualContainerFormat()
+{
+ m_actualFormat = m_format;
+}
+
GstEncodingContainerProfile *CameraBinContainer::createProfile()
{
GstCaps *caps;
- if (m_format.isEmpty()) {
+ if (m_actualFormat.isEmpty()) {
caps = gst_caps_new_any();
} else {
- QString format = m_format;
+ QString format = m_actualFormat;
QStringList supportedFormats = m_supportedContainers.supportedCodecs();
//if format is not in the list of supported gstreamer mime types,
//try to find the mime type with matching extension
if (!supportedFormats.contains(format)) {
- QString extension = suggestedFileExtension(m_format);
+ QString extension = suggestedFileExtension(m_actualFormat);
foreach (const QString &formatCandidate, supportedFormats) {
if (suggestedFileExtension(formatCandidate) == extension) {
format = formatCandidate;