mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Enable GStreamer support on Android
This commit is contained in:
parent
c576412f83
commit
b27881523c
10 changed files with 4599 additions and 35 deletions
62
Cargo.lock
generated
62
Cargo.lock
generated
|
@ -115,7 +115,7 @@ dependencies = [
|
||||||
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-skia 0.30000019.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-skia 0.30000019.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1009,7 +1009,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "expat-sys"
|
name = "expat-sys"
|
||||||
version = "2.1.5"
|
version = "2.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1073,7 +1073,7 @@ version = "0.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -3039,7 +3039,7 @@ dependencies = [
|
||||||
"serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_bytes 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_bytes 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-media 0.1.0 (git+https://github.com/servo/media)",
|
"servo-media 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
"servo_allocator 0.0.1",
|
"servo_allocator 0.0.1",
|
||||||
"servo_arc 0.1.1",
|
"servo_arc 0.1.1",
|
||||||
"servo_atoms 0.0.1",
|
"servo_atoms 0.0.1",
|
||||||
|
@ -3246,22 +3246,22 @@ version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-fontconfig-sys 4.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-fontconfig-sys 4.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo-fontconfig-sys"
|
name = "servo-fontconfig-sys"
|
||||||
version = "4.0.6"
|
version = "4.0.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"expat-sys 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo-freetype-sys"
|
name = "servo-freetype-sys"
|
||||||
version = "4.0.3"
|
version = "4.0.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -3271,17 +3271,17 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo-media"
|
name = "servo-media"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/servo/media#3292937b8bec7daed12b2f1b5739eb293610f5a2"
|
source = "git+https://github.com/ferjm/media?branch=enable.gst.android#e0bfb276e2d2b5d09d994e3c068ce09e9a79fa7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"servo-media-audio 0.1.0 (git+https://github.com/servo/media)",
|
"servo-media-audio 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
"servo-media-gstreamer 0.1.0 (git+https://github.com/servo/media)",
|
"servo-media-gstreamer 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
"servo-media-player 0.1.0 (git+https://github.com/servo/media)",
|
"servo-media-player 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo-media-audio"
|
name = "servo-media-audio"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/servo/media#3292937b8bec7daed12b2f1b5739eb293610f5a2"
|
source = "git+https://github.com/ferjm/media?branch=enable.gst.android#e0bfb276e2d2b5d09d994e3c068ce09e9a79fa7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -3290,14 +3290,14 @@ dependencies = [
|
||||||
"petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo_media_derive 0.1.0 (git+https://github.com/servo/media)",
|
"servo_media_derive 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
"smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo-media-gstreamer"
|
name = "servo-media-gstreamer"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/servo/media#3292937b8bec7daed12b2f1b5739eb293610f5a2"
|
source = "git+https://github.com/ferjm/media?branch=enable.gst.android#e0bfb276e2d2b5d09d994e3c068ce09e9a79fa7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"glib 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"glib 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -3307,15 +3307,15 @@ dependencies = [
|
||||||
"gstreamer-player 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"gstreamer-player 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ipc-channel 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ipc-channel 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-media-audio 0.1.0 (git+https://github.com/servo/media)",
|
"servo-media-audio 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
"servo-media-player 0.1.0 (git+https://github.com/servo/media)",
|
"servo-media-player 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)",
|
||||||
"zip 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"zip 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo-media-player"
|
name = "servo-media-player"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/servo/media#3292937b8bec7daed12b2f1b5739eb293610f5a2"
|
source = "git+https://github.com/ferjm/media?branch=enable.gst.android#e0bfb276e2d2b5d09d994e3c068ce09e9a79fa7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ipc-channel 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ipc-channel 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -3330,15 +3330,15 @@ dependencies = [
|
||||||
"cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"expat-sys 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gleam 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"gleam 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"glutin 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"glutin 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"glx 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"glx 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"io-surface 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"io-surface 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-fontconfig-sys 4.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-fontconfig-sys 4.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"x11 2.17.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"x11 2.17.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -3410,7 +3410,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "servo_media_derive"
|
name = "servo_media_derive"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/servo/media#3292937b8bec7daed12b2f1b5739eb293610f5a2"
|
source = "git+https://github.com/ferjm/media?branch=enable.gst.android#e0bfb276e2d2b5d09d994e3c068ce09e9a79fa7b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -4412,7 +4412,7 @@ dependencies = [
|
||||||
"checksum env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0e6e40ebb0e66918a37b38c7acab4e10d299e0463fe2af5d29b9cc86710cfd2a"
|
"checksum env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0e6e40ebb0e66918a37b38c7acab4e10d299e0463fe2af5d29b9cc86710cfd2a"
|
||||||
"checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02"
|
"checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02"
|
||||||
"checksum euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70a2ebdf55fb9d6329046e026329a55ef8fbaae5ea833f56e170beb3125a8a5f"
|
"checksum euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70a2ebdf55fb9d6329046e026329a55ef8fbaae5ea833f56e170beb3125a8a5f"
|
||||||
"checksum expat-sys 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c470ccb972f2088549b023db8029ed9da9426f5affbf9b62efff7009ab8ed5b1"
|
"checksum expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa"
|
||||||
"checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33"
|
"checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33"
|
||||||
"checksum flate2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9fac2277e84e5e858483756647a9d0aa8d9a2b7cba517fd84325a0aaa69a0909"
|
"checksum flate2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9fac2277e84e5e858483756647a9d0aa8d9a2b7cba517fd84325a0aaa69a0909"
|
||||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"
|
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"
|
||||||
|
@ -4589,14 +4589,14 @@ dependencies = [
|
||||||
"checksum serde_json 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5c508584d9913df116b91505eec55610a2f5b16e9ed793c46e4d0152872b3e74"
|
"checksum serde_json 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5c508584d9913df116b91505eec55610a2f5b16e9ed793c46e4d0152872b3e74"
|
||||||
"checksum servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21069a884c33fe6ee596975e1f3849ed88c4ec857fbaf11d33672d8ebe051217"
|
"checksum servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21069a884c33fe6ee596975e1f3849ed88c4ec857fbaf11d33672d8ebe051217"
|
||||||
"checksum servo-fontconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93f799b649b4a2bf362398910eca35240704c7e765e780349b2bb1070d892262"
|
"checksum servo-fontconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93f799b649b4a2bf362398910eca35240704c7e765e780349b2bb1070d892262"
|
||||||
"checksum servo-fontconfig-sys 4.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b0aa080856db55f188aaf36f01cae8c03448a6056552adb77d461179e44e1a14"
|
"checksum servo-fontconfig-sys 4.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b46d201addcfbd25c1798ad1281d98c40743824e0b0f1e611bd3d5d0d31a7b8d"
|
||||||
"checksum servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9232032c2e85118c0282c6562c84cab12316e655491ba0a5d1905b2320060d1b"
|
"checksum servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d00ab791f66cd2ec58e72c91b6076cee20fac560463aa871404eb31dfc9c4ff"
|
||||||
"checksum servo-media 0.1.0 (git+https://github.com/servo/media)" = "<none>"
|
"checksum servo-media 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)" = "<none>"
|
||||||
"checksum servo-media-audio 0.1.0 (git+https://github.com/servo/media)" = "<none>"
|
"checksum servo-media-audio 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)" = "<none>"
|
||||||
"checksum servo-media-gstreamer 0.1.0 (git+https://github.com/servo/media)" = "<none>"
|
"checksum servo-media-gstreamer 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)" = "<none>"
|
||||||
"checksum servo-media-player 0.1.0 (git+https://github.com/servo/media)" = "<none>"
|
"checksum servo-media-player 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)" = "<none>"
|
||||||
"checksum servo-skia 0.30000019.1 (registry+https://github.com/rust-lang/crates.io-index)" = "82eddddcf9512dd7c60eccdb486e60e5bd4930afaa4da2d7d4afdff75950fb88"
|
"checksum servo-skia 0.30000019.1 (registry+https://github.com/rust-lang/crates.io-index)" = "82eddddcf9512dd7c60eccdb486e60e5bd4930afaa4da2d7d4afdff75950fb88"
|
||||||
"checksum servo_media_derive 0.1.0 (git+https://github.com/servo/media)" = "<none>"
|
"checksum servo_media_derive 0.1.0 (git+https://github.com/ferjm/media?branch=enable.gst.android)" = "<none>"
|
||||||
"checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c"
|
"checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c"
|
||||||
"checksum shared_library 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8254bf098ce4d8d7cc7cc6de438c5488adc5297e5b7ffef88816c0a91bd289c1"
|
"checksum shared_library 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8254bf098ce4d8d7cc7cc6de438c5488adc5297e5b7ffef88816c0a91bd289c1"
|
||||||
"checksum sig 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c6649e43c1a1e68d29ed56d0dc3b5b6cf3b901da77cf107c4066b9e3da036df5"
|
"checksum sig 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c6649e43c1a1e68d29ed56d0dc3b5b6cf3b901da77cf107c4066b9e3da036df5"
|
||||||
|
|
|
@ -27,3 +27,5 @@ opt-level = 3
|
||||||
#
|
#
|
||||||
# [patch."https://github.com/servo/<repository>"]
|
# [patch."https://github.com/servo/<repository>"]
|
||||||
# <crate> = { path = "/path/to/local/checkout" }
|
# <crate> = { path = "/path/to/local/checkout" }
|
||||||
|
[patch."https://github.com/servo/media"]
|
||||||
|
servo-media = { git = "https://github.com/ferjm/media", branch = "enable.gst.android" }
|
||||||
|
|
|
@ -13,8 +13,12 @@ import datetime
|
||||||
import os
|
import os
|
||||||
import os.path as path
|
import os.path as path
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import urllib
|
||||||
|
import zipfile
|
||||||
|
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
|
@ -394,6 +398,45 @@ class MachCommands(CommandBase):
|
||||||
if not os.path.exists(aar_out_dir):
|
if not os.path.exists(aar_out_dir):
|
||||||
os.makedirs(aar_out_dir)
|
os.makedirs(aar_out_dir)
|
||||||
env["AAR_OUT_DIR"] = aar_out_dir
|
env["AAR_OUT_DIR"] = aar_out_dir
|
||||||
|
# GStreamer and its dependencies use pkg-config and this flag is required
|
||||||
|
# to make it work in a cross-compilation context.
|
||||||
|
env["PKG_CONFIG_ALLOW_CROSS"] = '1'
|
||||||
|
# Build the name of the package containing all GStreamer dependencies
|
||||||
|
# according to the build target.
|
||||||
|
gst_lib = None
|
||||||
|
if re.match("arm-([a-z])*-androideabi", target):
|
||||||
|
gst_lib = "gst-build-armeabi"
|
||||||
|
elif re.match("armv7-([a-z])*-androideabi", target):
|
||||||
|
gst_lib = "gst-build-armeabi-v7a"
|
||||||
|
elif re.match("x86_64-([a-z])*-android", target):
|
||||||
|
gst_lib = "gst-build-x86_64"
|
||||||
|
elif re.match("i686-([a-z])*-android", target):
|
||||||
|
gst_lib = "gst-build-x86"
|
||||||
|
else:
|
||||||
|
raise Exception("Invalid target architecture '%s'" % target)
|
||||||
|
|
||||||
|
gst_lib_zip = "%s.zip" % gst_lib
|
||||||
|
gst_dir = os.path.join(base_path, "gstreamer")
|
||||||
|
gst_lib_path = os.path.join(base_path, gst_dir, gst_lib)
|
||||||
|
pkg_config_path = os.path.join(gst_lib_path, "pkgconfig")
|
||||||
|
env["PKG_CONFIG_PATH"] = pkg_config_path
|
||||||
|
if not os.path.exists(gst_lib_path):
|
||||||
|
# Download GStreamer dependencies if they have not already been downloaded
|
||||||
|
print("Downloading GStreamer dependencies")
|
||||||
|
gst_url = "https://github.com/servo/libgstreamer_android_gen/blob/master/out/%s?raw=true" % gst_lib_zip
|
||||||
|
urllib.urlretrieve(gst_url, gst_lib_zip)
|
||||||
|
zip_ref = zipfile.ZipFile(gst_lib_zip, "r")
|
||||||
|
zip_ref.extractall(gst_dir)
|
||||||
|
os.remove(gst_lib_zip)
|
||||||
|
|
||||||
|
# Change pkgconfig info to make all GStreamer dependencies point
|
||||||
|
# to the libgstreamer_android.so bundle.
|
||||||
|
for each in os.listdir(pkg_config_path):
|
||||||
|
if each.endswith('.pc'):
|
||||||
|
print("Setting pkgconfig info for %s" % each)
|
||||||
|
pc = os.path.join(pkg_config_path, each)
|
||||||
|
expr = "s#libdir=.*#libdir=%s#g" % gst_lib_path
|
||||||
|
subprocess.call(["perl", "-i", "-pe", expr, pc])
|
||||||
|
|
||||||
if very_verbose:
|
if very_verbose:
|
||||||
print (["Calling", "cargo", "build"] + opts)
|
print (["Calling", "cargo", "build"] + opts)
|
||||||
|
|
126
resources/fontconfig/fonts.conf
Normal file
126
resources/fontconfig/fonts.conf
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
<!-- /etc/fonts/fonts.conf file to configure system font access -->
|
||||||
|
<fontconfig>
|
||||||
|
|
||||||
|
<!-- Font directory list -->
|
||||||
|
|
||||||
|
<dir prefix="xdg">fontconfig/fonts</dir>
|
||||||
|
|
||||||
|
<!-- Font cache directory list -->
|
||||||
|
|
||||||
|
<cachedir prefix="xdg">fontconfig</cachedir>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Accept deprecated 'mono' alias, replacing it with 'monospace'
|
||||||
|
-->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>mono</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign" binding="same">
|
||||||
|
<string>monospace</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
|
||||||
|
-->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>sans serif</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign" binding="same">
|
||||||
|
<string>sans-serif</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
|
||||||
|
-->
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>sans</string>
|
||||||
|
</test>
|
||||||
|
<edit name="family" mode="assign" binding="same">
|
||||||
|
<string>sans-serif</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<config>
|
||||||
|
<!--
|
||||||
|
These are the default Unicode chars that are expected to be blank
|
||||||
|
in fonts. All other blank chars are assumed to be broken and
|
||||||
|
won't appear in the resulting charsets
|
||||||
|
-->
|
||||||
|
<blank>
|
||||||
|
<int>0x0020</int> <!-- SPACE -->
|
||||||
|
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
|
||||||
|
<int>0x00AD</int> <!-- SOFT HYPHEN -->
|
||||||
|
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
|
||||||
|
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
|
||||||
|
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
|
||||||
|
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
|
||||||
|
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
|
||||||
|
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
|
||||||
|
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
|
||||||
|
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
|
||||||
|
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
|
||||||
|
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
|
||||||
|
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
|
||||||
|
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
|
||||||
|
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
|
||||||
|
<int>0x2000</int> <!-- EN QUAD -->
|
||||||
|
<int>0x2001</int> <!-- EM QUAD -->
|
||||||
|
<int>0x2002</int> <!-- EN SPACE -->
|
||||||
|
<int>0x2003</int> <!-- EM SPACE -->
|
||||||
|
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
|
||||||
|
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
|
||||||
|
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
|
||||||
|
<int>0x2007</int> <!-- FIGURE SPACE -->
|
||||||
|
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
|
||||||
|
<int>0x2009</int> <!-- THIN SPACE -->
|
||||||
|
<int>0x200A</int> <!-- HAIR SPACE -->
|
||||||
|
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
|
||||||
|
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
|
||||||
|
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
|
||||||
|
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
|
||||||
|
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
|
||||||
|
<int>0x2028</int> <!-- LINE SEPARATOR -->
|
||||||
|
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
|
||||||
|
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
|
||||||
|
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
|
||||||
|
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
|
||||||
|
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
|
||||||
|
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
|
||||||
|
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
|
||||||
|
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
|
||||||
|
<int>0x2060</int> <!-- WORD JOINER -->
|
||||||
|
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
|
||||||
|
<int>0x2062</int> <!-- INVISIBLE TIMES -->
|
||||||
|
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
|
||||||
|
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
|
||||||
|
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
|
||||||
|
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
|
||||||
|
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
|
||||||
|
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
|
||||||
|
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
|
||||||
|
<int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
|
||||||
|
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
|
||||||
|
<int>0x3164</int> <!-- HANGUL FILLER -->
|
||||||
|
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
|
||||||
|
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
|
||||||
|
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
|
||||||
|
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
|
||||||
|
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
|
||||||
|
</blank>
|
||||||
|
<!--
|
||||||
|
Rescan configuration every 30 seconds when FcFontSetList is called
|
||||||
|
-->
|
||||||
|
<rescan>
|
||||||
|
<int>30</int>
|
||||||
|
</rescan>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
</fontconfig>
|
||||||
|
|
BIN
resources/fontconfig/fonts/truetype/Ubuntu-R.ttf
Normal file
BIN
resources/fontconfig/fonts/truetype/Ubuntu-R.ttf
Normal file
Binary file not shown.
4291
resources/ssl/certs/ca-certificates.crt
Normal file
4291
resources/ssl/certs/ca-certificates.crt
Normal file
File diff suppressed because it is too large
Load diff
|
@ -157,9 +157,9 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
def taskName = "ndkbuild" + compileTask.name
|
def taskName = "ndkbuild" + compileTask.name
|
||||||
tasks.create(name: taskName, type: Exec) {
|
|
||||||
def debug = compileTask.name.contains("Debug")
|
def debug = compileTask.name.contains("Debug")
|
||||||
def arch = matcher.group(1)
|
def arch = matcher.group(1)
|
||||||
|
tasks.create(name: taskName, type: Exec) {
|
||||||
commandLine getNdkDir(),
|
commandLine getNdkDir(),
|
||||||
'APP_BUILD_SCRIPT=../jni/Android.mk',
|
'APP_BUILD_SCRIPT=../jni/Android.mk',
|
||||||
'NDK_APPLICATION_MK=../jni/Application.mk',
|
'NDK_APPLICATION_MK=../jni/Application.mk',
|
||||||
|
@ -170,7 +170,23 @@ android {
|
||||||
'SERVO_TARGET_DIR=' + getTargetDir(debug, arch)
|
'SERVO_TARGET_DIR=' + getTargetDir(debug, arch)
|
||||||
}
|
}
|
||||||
|
|
||||||
compileTask.dependsOn taskName
|
def src = getTargetDir(debug, arch) +
|
||||||
|
'/../../gstreamer/gst-build-' +
|
||||||
|
getNDKAbi(arch) +
|
||||||
|
'/libgstreamer_android.so'
|
||||||
|
Task copyGStreamerTask = project.task("copyGStreamerTask${compileTask.name}", type: Copy) {
|
||||||
|
from src
|
||||||
|
into getJniLibsPath(debug, arch) + '/' + getNDKAbi(arch) + '/'
|
||||||
|
}
|
||||||
|
|
||||||
|
Task copyGStreamerObjTask = project.task("copyGStreamerTask${compileTask.name}Obj", type: Copy) {
|
||||||
|
from src
|
||||||
|
into getTargetDir(debug, arch) + '/apk/obj/local/' + getNDKAbi(arch) + '/'
|
||||||
|
}
|
||||||
|
|
||||||
|
copyGStreamerObjTask.dependsOn taskName
|
||||||
|
copyGStreamerTask.dependsOn copyGStreamerObjTask
|
||||||
|
compileTask.dependsOn copyGStreamerTask
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import android.app.Activity;
|
||||||
public class JNIServo {
|
public class JNIServo {
|
||||||
JNIServo() {
|
JNIServo() {
|
||||||
System.loadLibrary("c++_shared");
|
System.loadLibrary("c++_shared");
|
||||||
|
System.loadLibrary("gstreamer_android");
|
||||||
System.loadLibrary("simpleservo");
|
System.loadLibrary("simpleservo");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,8 @@ 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,
|
||||||
|
@ -147,6 +149,11 @@ 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, mServoLog, width, height, density, showLogs);
|
||||||
|
try {
|
||||||
|
GStreamer.init((Context) mActivity);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
package org.freedesktop.gstreamer;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.res.AssetManager;
|
||||||
|
|
||||||
|
public class GStreamer {
|
||||||
|
private static native void nativeInit(Context context) throws Exception;
|
||||||
|
|
||||||
|
public static void init(Context context) throws Exception {
|
||||||
|
nativeInit(context);
|
||||||
|
copyFonts(context);
|
||||||
|
copyCaCertificates(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void copyFonts(Context context) {
|
||||||
|
AssetManager assetManager = context.getAssets();
|
||||||
|
File filesDir = context.getFilesDir();
|
||||||
|
File fontsFCDir = new File (filesDir, "fontconfig");
|
||||||
|
File fontsDir = new File (fontsFCDir, "fonts");
|
||||||
|
File fontsCfg = new File (fontsFCDir, "fonts.conf");
|
||||||
|
|
||||||
|
fontsDir.mkdirs();
|
||||||
|
|
||||||
|
try {
|
||||||
|
/* Copy the config file */
|
||||||
|
copyFile (assetManager, "fontconfig/fonts.conf", fontsCfg);
|
||||||
|
/* Copy the fonts */
|
||||||
|
for(String filename : assetManager.list("fontconfig/fonts/truetype")) {
|
||||||
|
File font = new File(fontsDir, filename);
|
||||||
|
copyFile (assetManager, "fontconfig/fonts/truetype/" + filename, font);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void copyCaCertificates(Context context) {
|
||||||
|
AssetManager assetManager = context.getAssets();
|
||||||
|
File filesDir = context.getFilesDir();
|
||||||
|
File sslDir = new File (filesDir, "ssl");
|
||||||
|
File certsDir = new File (sslDir, "certs");
|
||||||
|
File certs = new File (certsDir, "ca-certificates.crt");
|
||||||
|
|
||||||
|
certsDir.mkdirs();
|
||||||
|
|
||||||
|
try {
|
||||||
|
/* Copy the certificates file */
|
||||||
|
copyFile (assetManager, "ssl/certs/ca-certificates.crt", certs);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void copyFile(AssetManager assetManager, String assetPath, File outFile) throws IOException {
|
||||||
|
InputStream in;
|
||||||
|
OutputStream out;
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
int read;
|
||||||
|
|
||||||
|
if (outFile.exists())
|
||||||
|
outFile.delete();
|
||||||
|
|
||||||
|
in = assetManager.open(assetPath);
|
||||||
|
out = new FileOutputStream (outFile);
|
||||||
|
while((read = in.read(buffer)) != -1){
|
||||||
|
out.write(buffer, 0, read);
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
out.flush();
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue