First decent version of the module

This commit is contained in:
2026-05-20 10:37:08 +02:00
parent a8fb9b3b9f
commit 6bdfeb68db
6 changed files with 68 additions and 79 deletions
Executable → Regular
+18 -20
View File
@@ -70,8 +70,18 @@ case "${1:-help}" in
status)
get_status_json
;;
stop)
log "stop: killing provider and feeder"
pkill -9 -f "/virtual_camera_provider" 2>/dev/null || true
pkill -9 -f "ffmpeg.*video0" 2>/dev/null || true
echo 1 > /data/local/tmp/virtualcam_disabled 2>/dev/null
log "stop: disabled flag set"
get_status_json
log "stop: done"
;;
start)
log "start: killing old provider"
log "start: removing disable flag"
rm -f /data/local/tmp/virtualcam_disabled 2>/dev/null
pkill -9 -f "/virtual_camera_provider" 2>/dev/null || true
mkdir -p "$LIB_DST" 2>/dev/null
cp "$MODDIR/vendor/lib64"/*.so "$LIB_DST/" 2>/dev/null
@@ -85,6 +95,7 @@ case "${1:-help}" in
restart)
log "restart: killing provider"
pkill -9 -f "/virtual_camera_provider" 2>/dev/null || true
rm -f /data/local/tmp/virtualcam_disabled 2>/dev/null
sleep 2
mkdir -p "$LIB_DST" 2>/dev/null
cp "$MODDIR/vendor/lib64"/*.so "$LIB_DST/" 2>/dev/null
@@ -95,13 +106,9 @@ case "${1:-help}" in
get_status_json
log "restart: done"
;;
stop)
log "stop: killing provider"
pkill -9 -f "/virtual_camera_provider" 2>/dev/null || true
log "stop: done"
echo '{"status":"stopped"}'
;;
start_feeder)
log "start_feeder: removing feeder disable flag"
rm -f /data/local/tmp/virtualcam_feeder_disabled 2>/dev/null
log "start_feeder: loading config"
load_config
pkill -9 -f "ffmpeg.*video0" 2>/dev/null || true
@@ -135,10 +142,11 @@ case "${1:-help}" in
echo '{"status":"feeder_started"}'
;;
stop_feeder)
log "stop_feeder: killing ffmpeg"
log "stop_feeder: killing ffmpeg and setting feeder disable flag"
pkill -9 -f "ffmpeg.*video0" 2>/dev/null || true
echo 1 > /data/local/tmp/virtualcam_feeder_disabled 2>/dev/null
log "stop_feeder: done"
echo '{"status":"feeder_stopped"}'
get_status_json
;;
get_config)
load_config
@@ -170,17 +178,7 @@ case "${1:-help}" in
)\""
echo "}"
;;
device_info)
dumpsys media.camera 2>/dev/null > /data/local/tmp/cam_dump.txt 2>/dev/null
F0=$(dumpsys media.camera 2>/dev/null | grep -A10 "virtual/0 (" | grep Facing | head -1)
F1=$(dumpsys media.camera 2>/dev/null | grep -A10 "virtual/1 (" | grep Facing | head -1)
L0=$(dumpsys media.camera 2>/dev/null | grep -A10 "virtual/0 (" | grep "FULL\|LEVEL" | head -1)
L1=$(dumpsys media.camera 2>/dev/null | grep -A10 "virtual/1 (" | grep "FULL\|LEVEL" | head -1)
echo "Camera0: Facing=$F0 Level=$L0"
echo "Camera1: Facing=$F1 Level=$L1"
echo "Full dump: /data/local/tmp/cam_dump.txt"
;;
*)
echo "Usage: $0 {status|start|stop|restart|start_feeder|stop_feeder|get_config|validate|device_info}"
echo "Usage: $0 {status|start|stop|restart|start_feeder|stop_feeder|get_config|validate}"
;;
esac