summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp')
-rw-r--r--src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp b/src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp
index 79685e16f..f899481f0 100644
--- a/src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp
+++ b/src/plugins/android/src/wrappers/jni/androidmediaplayer.cpp
@@ -166,9 +166,17 @@ void AndroidMediaPlayer::setMuted(bool mute)
mMediaPlayer.callMethod<void>("mute", "(Z)V", jboolean(mute));
}
-void AndroidMediaPlayer::setDataSource(const QString &path)
+void AndroidMediaPlayer::setDataSource(const QNetworkRequest &request)
{
- QJNIObjectPrivate string = QJNIObjectPrivate::fromString(path);
+ QJNIObjectPrivate string = QJNIObjectPrivate::fromString(request.url().toString(QUrl::FullyEncoded));
+
+ mMediaPlayer.callMethod<void>("initHeaders", "()V");
+ for (auto &header : request.rawHeaderList()) {
+ auto value = request.rawHeader(header);
+ mMediaPlayer.callMethod<void>("setHeader", "(Ljava/lang/String;Ljava/lang/String;)V",
+ QJNIObjectPrivate::fromString(header).object(), QJNIObjectPrivate::fromString(value).object());
+ }
+
mMediaPlayer.callMethod<void>("setDataSource", "(Ljava/lang/String;)V", string.object());
}