mirror of
https://github.com/servo/servo.git
synced 2025-08-17 03:15:34 +01:00
Allow setting GST_DEBUG on Android through mach
This commit is contained in:
parent
eee2c895f4
commit
11993bb8f5
7 changed files with 26 additions and 6 deletions
|
@ -16,6 +16,7 @@ bench = false
|
|||
[dependencies]
|
||||
android_injected_glue = "0.2"
|
||||
android_logger = "0.7"
|
||||
gstreamer = "0.14.5"
|
||||
jni = "0.10.2"
|
||||
libc = "0.2"
|
||||
log = "0.4"
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
extern crate log;
|
||||
|
||||
use android_logger::{self, Filter};
|
||||
use gstreamer::debug_set_threshold_from_string;
|
||||
use jni::objects::{GlobalRef, JClass, JObject, JString, JValue};
|
||||
use jni::sys::{jboolean, jfloat, jint, jstring, JNI_TRUE};
|
||||
use jni::{errors, JNIEnv, JavaVM};
|
||||
|
@ -53,8 +54,8 @@ pub fn Java_org_mozilla_servoview_JNIServo_init(
|
|||
opts: JObject,
|
||||
callbacks_obj: JObject,
|
||||
) {
|
||||
let (mut opts, log, log_str) = match get_options(&env, opts) {
|
||||
Ok((opts, log, log_str)) => (opts, log, log_str),
|
||||
let (mut opts, log, log_str, gst_debug_str) = match get_options(&env, opts) {
|
||||
Ok((opts, log, log_str, gst_debug_str)) => (opts, log, log_str, gst_debug_str),
|
||||
Err(err) => {
|
||||
throw(&env, &err);
|
||||
return;
|
||||
|
@ -86,6 +87,11 @@ pub fn Java_org_mozilla_servoview_JNIServo_init(
|
|||
filter = filter.with_allowed_module_path(module);
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(gst_debug_str) = gst_debug_str {
|
||||
debug_set_threshold_from_string(&gst_debug_str, true);
|
||||
}
|
||||
|
||||
android_logger::init_once(filter, Some("simpleservo"));
|
||||
}
|
||||
|
||||
|
@ -734,10 +740,14 @@ fn get_string(env: &JNIEnv, obj: JObject, field: &str) -> Result<Option<String>,
|
|||
}
|
||||
}
|
||||
|
||||
fn get_options(env: &JNIEnv, opts: JObject) -> Result<(InitOptions, bool, Option<String>), String> {
|
||||
fn get_options(
|
||||
env: &JNIEnv,
|
||||
opts: JObject,
|
||||
) -> Result<(InitOptions, bool, Option<String>, Option<String>), String> {
|
||||
let args = get_string(env, opts, "args")?;
|
||||
let url = get_string(env, opts, "url")?;
|
||||
let log_str = get_string(env, opts, "logStr")?;
|
||||
let gst_debug_str = get_string(env, opts, "gstDebugStr")?;
|
||||
let density = get_non_null_field(env, opts, "density", "F")?
|
||||
.f()
|
||||
.map_err(|_| "densitiy not a float")? as f32;
|
||||
|
@ -782,5 +792,5 @@ fn get_options(env: &JNIEnv, opts: JObject) -> Result<(InitOptions, bool, Option
|
|||
gl_context_pointer: None,
|
||||
native_display_pointer: None,
|
||||
};
|
||||
Ok((opts, log, log_str))
|
||||
Ok((opts, log, log_str, gst_debug_str))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue