From e84c511702bb53517378fa451d40aa5b25217a2a Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Thu, 14 Jul 2016 16:34:11 +0200 Subject: GStreamer: move suggestedFileExtension() out of camerabin plugin Now in QGstUtils, in order to be used from other places. Change-Id: Id8beae1b804fa22bd648e254a1ff2a1f1e455a02 Reviewed-by: Christian Stromme --- .../gstreamer/camerabin/camerabincontainer.cpp | 36 ++-------------------- 1 file changed, 3 insertions(+), 33 deletions(-) (limited to 'src/plugins/gstreamer/camerabin/camerabincontainer.cpp') diff --git a/src/plugins/gstreamer/camerabin/camerabincontainer.cpp b/src/plugins/gstreamer/camerabin/camerabincontainer.cpp index e72bf0e3c..e424f92a1 100644 --- a/src/plugins/gstreamer/camerabin/camerabincontainer.cpp +++ b/src/plugins/gstreamer/camerabin/camerabincontainer.cpp @@ -39,6 +39,7 @@ #include "camerabincontainer.h" #include +#include #include @@ -50,14 +51,6 @@ CameraBinContainer::CameraBinContainer(QObject *parent) , m_supportedContainers(QGstCodecsInfo::Muxer) #endif { - //extension for containers hard to guess from mimetype - m_fileExtensions["video/x-matroska"] = "mkv"; - m_fileExtensions["video/quicktime"] = "mov"; - m_fileExtensions["video/x-msvideo"] = "avi"; - m_fileExtensions["video/msvideo"] = "avi"; - m_fileExtensions["audio/mpeg"] = "mp3"; - m_fileExtensions["application/x-shockwave-flash"] = "swf"; - m_fileExtensions["application/x-pn-realmedia"] = "rm"; } QStringList CameraBinContainer::supportedContainers() const @@ -127,9 +120,9 @@ GstEncodingContainerProfile *CameraBinContainer::createProfile() //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_actualFormat); + QString extension = QGstUtils::fileExtensionForMimeType(m_actualFormat); for (const QString &formatCandidate : supportedFormats) { - if (suggestedFileExtension(formatCandidate) == extension) { + if (QGstUtils::fileExtensionForMimeType(formatCandidate) == extension) { format = formatCandidate; break; } @@ -152,27 +145,4 @@ GstEncodingContainerProfile *CameraBinContainer::createProfile() #endif -/*! - Suggest file extension for current container mimetype. - */ -QString CameraBinContainer::suggestedFileExtension(const QString &containerFormat) const -{ - //for container names like avi instead of video/x-msvideo, use it as extension - if (!containerFormat.contains('/')) - return containerFormat; - - QString format = containerFormat.left(containerFormat.indexOf(',')); - QString extension = m_fileExtensions.value(format); - - if (!extension.isEmpty() || format.isEmpty()) - return extension; - - QRegExp rx("[-/]([\\w]+)$"); - - if (rx.indexIn(format) != -1) - extension = rx.cap(1); - - return extension; -} - QT_END_NAMESPACE -- cgit v1.2.3