mirror of
https://github.com/kunkundi/crossdesk.git
synced 2026-10-17 01:13:19 +08:00
[feat] add native Android controller
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Check Android's native packets against the shared desktop wire parser."""
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import tempfile
|
||||
|
||||
ANDROID = Path(__file__).resolve().parents[1]
|
||||
ROOT = ANDROID.parents[1]
|
||||
headers = list((ANDROID / '.native/packages/n/nlohmann_json').glob('*/**/include/nlohmann/json.hpp'))
|
||||
if not headers:
|
||||
raise SystemExit('Build the Android app first to populate its pinned native dependencies.')
|
||||
with tempfile.TemporaryDirectory(prefix='crossdesk-android-protocol-') as temporary:
|
||||
binary = Path(temporary) / 'controller-protocol-test'
|
||||
subprocess.run([os.environ.get('CXX', 'c++'), '-std=c++17',
|
||||
'-I' + str(headers[0].parents[1]),
|
||||
'-I' + str(ANDROID / 'native'),
|
||||
'-I' + str(ROOT / 'deps/submodules/minirtc/src/api'),
|
||||
'-I' + str(ROOT / 'libs/wire/include'),
|
||||
str(ANDROID / 'native/tests/controller_protocol_test.cpp'),
|
||||
str(ROOT / 'libs/wire/src/remote_action.cpp'), '-o', str(binary)], check=True)
|
||||
subprocess.run([str(binary)], check=True)
|
||||
video_test = Path(temporary) / 'video-pipeline-test'
|
||||
subprocess.run([os.environ.get('CXX', 'c++'), '-std=c++17', '-pthread',
|
||||
'-I' + str(ANDROID / 'native'),
|
||||
'-I' + str(ROOT / 'deps/submodules/minirtc/src/api'),
|
||||
str(ANDROID / 'native/tests/video_pipeline_test.cpp'),
|
||||
'-o', str(video_test)], check=True)
|
||||
subprocess.run([str(video_test)], check=True, timeout=10)
|
||||
print('PASS: Android video settings / desktop wire round-trip and native network fields')
|
||||
print('PASS: long video latency, invalid clocks, latest-frame rendering and shutdown')
|
||||
Reference in New Issue
Block a user