Added gstreamer support to the magicleap port

This commit is contained in:
Alan Jeffrey 2019-08-06 17:59:22 -05:00
parent 555fa75b2c
commit 11b3d78f40
11 changed files with 246 additions and 11 deletions

View file

@ -583,6 +583,11 @@ class MachCommands(CommandBase):
env.setdefault("OPENSSL_VERSION", "1.0.2k")
env.setdefault("OPENSSL_STATIC", "1")
# GStreamer configuration
env.setdefault("GSTREAMER_DIR", path.join(target_path, target, "native", "gstreamer-1.16.0"))
env.setdefault("GSTREAMER_URL", "https://servo-deps.s3.amazonaws.com/gstreamer/gstreamer-magicleap-1.16.0-20190808-110815.tgz")
env.setdefault("PKG_CONFIG_PATH", path.join(env["GSTREAMER_DIR"], "system", "lib64", "pkgconfig"))
# Override the linker set in .cargo/config
env.setdefault("CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER", path.join(ml_support, "fake-ld.sh"))
@ -594,6 +599,28 @@ class MachCommands(CommandBase):
if status:
return status
# Download prebuilt Gstreamer if necessary
if not os.path.exists(path.join(env["GSTREAMER_DIR"], "system")):
if not os.path.exists(env["GSTREAMER_DIR"] + ".tgz"):
check_call([
'curl',
'-L',
'-f',
'-o', env["GSTREAMER_DIR"] + ".tgz",
env["GSTREAMER_URL"],
])
check_call([
'mkdir',
'-p',
env["GSTREAMER_DIR"],
])
check_call([
'tar',
'xzf',
env["GSTREAMER_DIR"] + ".tgz",
'-C', env["GSTREAMER_DIR"],
])
if very_verbose:
print (["Calling", "cargo", "build"] + opts)
for key in env:

View file

@ -230,6 +230,11 @@ class PackageCommands(CommandBase):
raise Exception("Magic Leap builds need the MAGICLEAP_SDK environment variable")
if not env.get("MLCERT"):
raise Exception("Magic Leap builds need the MLCERT environment variable")
# GStreamer configuration
env.setdefault("GSTREAMER_DIR", path.join(
self.get_target_dir(), "magicleap", target, "native", "gstreamer-1.16.0"
))
mabu = path.join(env.get("MAGICLEAP_SDK"), "mabu")
packages = [
"./support/magicleap/Servo3D/Servo3D.package",
@ -244,6 +249,7 @@ class PackageCommands(CommandBase):
mabu,
"-o", target_dir,
"-t", build_type,
"GSTREAMER_DIR=" + env["GSTREAMER_DIR"],
package
]
try: