From 9263cca59a4952bb95c94d433b05c77cdcbb3e8e Mon Sep 17 00:00:00 2001 From: Samuel Mira Date: Fri, 1 Oct 2021 15:40:23 +0300 Subject: Fix incorrect video orientation for front camera The current camera rotation on camera session is compensating the front camera image for preview, but it seems the android is also compensating when recording. So final video became flipped again. Fixes: QTBUG-96943 Pick-to: 6.2 Change-Id: I0d08de15bab41926136c2a4b96154b9e2b5f5bb8 Reviewed-by: Lars Knoll --- .../platform/android/mediacapture/qandroidcapturesession.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp index 57dbbfb84..03eaa1545 100644 --- a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp +++ b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp @@ -182,7 +182,12 @@ void QAndroidCaptureSession::start(QMediaEncoderSettings &settings, const QUrl & m_mediaRecorder->setVideoEncodingBitRate(settings.videoBitRate()); m_mediaRecorder->setVideoEncoder(m_videoEncoder); - m_mediaRecorder->setOrientationHint(m_cameraSession->currentCameraRotation()); + // media recorder is also compensanting the mirror on front camera + auto rotation = m_cameraSession->currentCameraRotation(); + if (m_cameraSession->camera()->getFacing() == AndroidCamera::CameraFacingFront) + rotation = (360 - rotation) % 360; // remove mirror compensation + + m_mediaRecorder->setOrientationHint(rotation); } // Set audio encoder settings -- cgit v1.2.3