Move GStreamer initialization to a path shared by ServoSurface and ServoView

This commit is contained in:
Fernando Jiménez Moreno 2018-09-24 13:49:29 +02:00
parent a4789defc4
commit e3c98802eb
3 changed files with 17 additions and 10 deletions

View file

@ -7,11 +7,14 @@ package com.mozilla.servoview;
import android.app.Activity; import android.app.Activity;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.content.Context;
import android.util.Log; import android.util.Log;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import org.freedesktop.gstreamer.GStreamer;
public class Servo { public class Servo {
private static final String LOGTAG = "Servo"; private static final String LOGTAG = "Servo";
private AssetManager mAssetMgr; private AssetManager mAssetMgr;
@ -27,7 +30,9 @@ public class Servo {
String args, String args,
String url, String url,
String logstr, String logstr,
int width, int height, float density, boolean log) { int width, int height,
float density, boolean log,
Context context) {
mRunCallback = runCallback; mRunCallback = runCallback;
@ -38,6 +43,12 @@ public class Servo {
mRunCallback.inGLThread(() -> { mRunCallback.inGLThread(() -> {
mJNI.init(activity, args, url, logstr, cbs, width, height, density, log); mJNI.init(activity, args, url, logstr, cbs, width, height, density, log);
}); });
try {
GStreamer.init(context);
} catch (Exception e) {
e.printStackTrace();
}
} }
public String version() { public String version() {

View file

@ -7,6 +7,7 @@ package com.mozilla.servoview;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.opengl.EGL14; import android.opengl.EGL14;
import android.opengl.EGLConfig; import android.opengl.EGLConfig;
@ -206,7 +207,8 @@ public class ServoSurface {
inUIThread(() -> { inUIThread(() -> {
final boolean showLogs = true; final boolean showLogs = true;
String uri = mInitialUri == null ? null : mInitialUri; 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(); Looper.loop();

View file

@ -26,8 +26,6 @@ import com.mozilla.servoview.Servo.RunCallback;
import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10; import javax.microedition.khronos.opengles.GL10;
import org.freedesktop.gstreamer.GStreamer;
public class ServoView extends GLSurfaceView public class ServoView extends GLSurfaceView
implements implements
GestureDetector.OnGestureListener, GestureDetector.OnGestureListener,
@ -148,12 +146,8 @@ public class ServoView extends GLSurfaceView
inGLThread(() -> { inGLThread(() -> {
String uri = mInitialUri == null ? null : mInitialUri.toString(); String uri = mInitialUri == null ? null : mInitialUri.toString();
mServo = new Servo(this, this, mClient, mActivity, mServoArgs, uri, mServoLog, width, height, density, showLogs); mServo = new Servo(this, this, mClient, mActivity, mServoArgs, uri,
try { mServoLog, width, height, density, showLogs, (Context) mActivity);
GStreamer.init((Context) mActivity);
} catch (Exception e) {
e.printStackTrace();
}
}); });
} }