summaryrefslogtreecommitdiffstats
path: root/src/utils/qdroidutils.cpp
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2013-10-21 19:02:31 +0200
committerEirik Aavitsland <eirik.aavitsland@digia.com>2013-10-25 15:11:39 +0300
commit663c9851fe367e8c2bdf8bc37e64b9e1668e3fe2 (patch)
tree0a59b4122374532b06eda06ca4fb3a201e9213ac /src/utils/qdroidutils.cpp
parentbfc709b616320dc2a68f7ddb866d77aa8a503d68 (diff)
Fix sound on Nexus 7.
A behavior change in the HW audio driver for 4.2.2 causes the audio routing to never be set up automatically. Set the audio orientation to force the HW driver to set up audio routing. Task-number: QTRD-2472 Change-Id: I6f76aa299d0bc89c7061c7074dc5780e62045f0a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
Diffstat (limited to 'src/utils/qdroidutils.cpp')
-rw-r--r--src/utils/qdroidutils.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/utils/qdroidutils.cpp b/src/utils/qdroidutils.cpp
index f2194c4..da443c9 100644
--- a/src/utils/qdroidutils.cpp
+++ b/src/utils/qdroidutils.cpp
@@ -45,6 +45,28 @@ void QDroidUtils::powerOffSystem()
qWarning("powerOff returned");
}
+void QDroidUtils::setOrientationForAudioSystem(AudioOrientation orientation)
+{
+#ifdef Q_OS_ANDROID_NO_SDK
+ QString orientationString = QStringLiteral("undefined");
+ switch (orientation) {
+ case LandscapeAudioOrientation:
+ orientationString = QStringLiteral("landscape");
+ break;
+ case PortraitAudioOrientation:
+ orientationString = QStringLiteral("portrait");
+ break;
+ case SquareAudioOrientation:
+ orientationString = QStringLiteral("square");
+ break;
+ default:
+ break;
+ }
+ android::AudioSystem::setParameters(0, android::String8(QStringLiteral("orientation=%2")
+ .arg(orientationString).toLatin1().constData()));
+#endif
+}
+
/*!
* Sets the master volume to \a volume.
* The volume can range from 0 to 100 and is linear.