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>
This commit is contained in:
Dmytro Poplavskiy
2012-07-13 11:12:06 +10:00
committed by Qt by Nokia
parent b6a8c713bc
commit 864ab3a39a
9 changed files with 108 additions and 27 deletions

View File

@@ -103,19 +103,26 @@ QVideoEncoderSettings CameraBinVideoEncoder::videoSettings() const
void CameraBinVideoEncoder::setVideoSettings(const QVideoEncoderSettings &settings)
{
m_videoSettings = settings;
m_userSettings = settings;
emit settingsChanged();
if (m_videoSettings != settings) {
m_actualVideoSettings = settings;
m_videoSettings = settings;
emit settingsChanged();
}
}
QVideoEncoderSettings CameraBinVideoEncoder::actualVideoSettings() const
{
return m_actualVideoSettings;
}
void CameraBinVideoEncoder::setActualVideoSettings(const QVideoEncoderSettings &settings)
{
m_videoSettings = settings;
m_actualVideoSettings = settings;
}
void CameraBinVideoEncoder::resetActualSettings()
{
m_videoSettings = m_userSettings;
m_actualVideoSettings = m_videoSettings;
}
@@ -152,7 +159,7 @@ QPair<int,int> CameraBinVideoEncoder::rateAsRational(qreal frameRate) const
GstEncodingProfile *CameraBinVideoEncoder::createProfile()
{
QString codec = m_videoSettings.codec();
QString codec = m_actualVideoSettings.codec();
GstCaps *caps;
if (codec.isEmpty())