diff options
author | Christian Strømme <christian.stromme@digia.com> | 2014-05-16 14:53:13 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-21 00:14:15 +0200 |
commit | 7e668fe58fc9546eb91bbf39992566f709b5e6c2 (patch) | |
tree | 760bad342b150d69a23d1d4ddc02b04317705a4e /src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java | |
parent | 93e73fd8eeccfd42430acaa760bdeb8dc6f17f39 (diff) | |
download | qtmultimedia-7e668fe58fc9546eb91bbf39992566f709b5e6c2.tar.gz |
Android: Fix loading from qrc
On Android < 4.1 our temporary file is discarded without checking the
content. With this change we just open the file and pass the fd to the
mediaplayer instead.
Change-Id: I9233822725d8987c572b2d0b598721cee886de80
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Diffstat (limited to 'src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java')
-rw-r--r-- | src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java b/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java index 86ec30a5f..01f260910 100644 --- a/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java +++ b/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtAndroidMediaPlayer.java @@ -43,6 +43,7 @@ package org.qtproject.qt5.android.multimedia; import java.io.IOException; import java.lang.String; +import java.io.FileInputStream; // API is level is < 9 unless marked otherwise. import android.app.Activity; @@ -387,6 +388,10 @@ public class QtAndroidMediaPlayer final long length = afd.getLength(); FileDescriptor fd = afd.getFileDescriptor(); mMediaPlayer.setDataSource(fd, offset, length); + } else if (mUri.getScheme().compareTo("tempfile") == 0) { + FileInputStream fis = new FileInputStream(mUri.getPath()); + FileDescriptor fd = fis.getFD(); + mMediaPlayer.setDataSource(fd); } else { mMediaPlayer.setDataSource(mActivity, mUri); } |