From e3c98802eb99f5f2f208e4845302174319ee3965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Mon, 24 Sep 2018 13:49:29 +0200 Subject: [PATCH] Move GStreamer initialization to a path shared by ServoSurface and ServoView --- .../src/main/java/com/mozilla/servoview/Servo.java | 13 ++++++++++++- .../java/com/mozilla/servoview/ServoSurface.java | 4 +++- .../main/java/com/mozilla/servoview/ServoView.java | 10 ++-------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/support/android/apk/servoview/src/main/java/com/mozilla/servoview/Servo.java b/support/android/apk/servoview/src/main/java/com/mozilla/servoview/Servo.java index 5535cc6f4e4..bf0899e1442 100644 --- a/support/android/apk/servoview/src/main/java/com/mozilla/servoview/Servo.java +++ b/support/android/apk/servoview/src/main/java/com/mozilla/servoview/Servo.java @@ -7,11 +7,14 @@ package com.mozilla.servoview; import android.app.Activity; import android.content.res.AssetManager; +import android.content.Context; import android.util.Log; import java.io.IOException; import java.io.InputStream; +import org.freedesktop.gstreamer.GStreamer; + public class Servo { private static final String LOGTAG = "Servo"; private AssetManager mAssetMgr; @@ -27,7 +30,9 @@ public class Servo { String args, String url, String logstr, - int width, int height, float density, boolean log) { + int width, int height, + float density, boolean log, + Context context) { mRunCallback = runCallback; @@ -38,6 +43,12 @@ public class Servo { mRunCallback.inGLThread(() -> { mJNI.init(activity, args, url, logstr, cbs, width, height, density, log); }); + + try { + GStreamer.init(context); + } catch (Exception e) { + e.printStackTrace(); + } } public String version() { diff --git a/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoSurface.java b/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoSurface.java index 35719904727..2b65d3fe7b9 100644 --- a/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoSurface.java +++ b/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoSurface.java @@ -7,6 +7,7 @@ package com.mozilla.servoview; import android.annotation.SuppressLint; import android.app.Activity; +import android.content.Context; import android.net.Uri; import android.opengl.EGL14; import android.opengl.EGLConfig; @@ -206,7 +207,8 @@ public class ServoSurface { inUIThread(() -> { final boolean showLogs = true; String uri = mInitialUri == null ? null : mInitialUri; - mServo = new Servo(this, surface, mClient, mActivity, mServoArgs, uri, mServoLog, mWidth, mHeight, 1, showLogs); + mServo = new Servo(this, surface, mClient, mActivity, mServoArgs, uri, mServoLog, + mWidth, mHeight, 1 /* density */, showLogs, (Context) mActivity); }); Looper.loop(); diff --git a/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoView.java b/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoView.java index f59a93d5660..c7291e4916e 100644 --- a/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoView.java +++ b/support/android/apk/servoview/src/main/java/com/mozilla/servoview/ServoView.java @@ -26,8 +26,6 @@ import com.mozilla.servoview.Servo.RunCallback; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; -import org.freedesktop.gstreamer.GStreamer; - public class ServoView extends GLSurfaceView implements GestureDetector.OnGestureListener, @@ -148,12 +146,8 @@ public class ServoView extends GLSurfaceView inGLThread(() -> { String uri = mInitialUri == null ? null : mInitialUri.toString(); - mServo = new Servo(this, this, mClient, mActivity, mServoArgs, uri, mServoLog, width, height, density, showLogs); - try { - GStreamer.init((Context) mActivity); - } catch (Exception e) { - e.printStackTrace(); - } + mServo = new Servo(this, this, mClient, mActivity, mServoArgs, uri, + mServoLog, width, height, density, showLogs, (Context) mActivity); }); }