summaryrefslogtreecommitdiffstats
path: root/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer
diff options
context:
space:
mode:
Diffstat (limited to 'minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer')
-rw-r--r--minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer58
1 files changed, 58 insertions, 0 deletions
diff --git a/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer b/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer
new file mode 100644
index 00000000..aef12489
--- /dev/null
+++ b/minikrebs/profiles/instacam_yuv/customfiles/etc/init.d/mjpeg-streamer
@@ -0,0 +1,58 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2009-2012 OpenWrt.org
+
+START=50
+
+SERVICE_DAEMONIZE=1
+SERVICE_WRITE_PID=1
+
+PROG=/usr/bin/mjpg_streamer
+
+error() {
+ echo "${initscript}:" "$@" 1>&2
+}
+
+section_enabled() {
+ config_get_bool enabled "$1" 'enabled' 0
+ [ $enabled -gt 0 ]
+}
+
+start_instance() {
+ local s="$1"
+
+ section_enabled "$s" || return 1
+
+ config_get device "$s" 'device'
+ config_get resolution "$s" 'resolution'
+ config_get fps "$s" 'fps'
+ config_get www "$s" 'www'
+ config_get port "$s" 'port'
+
+ [ -c "$device" ] || {
+ error "device '$device' does not exist"
+ return 1
+ }
+
+ # run in yuv (legacy) mode, impacts performance but at least something is happening
+ service_start /usr/bin/mjpg_streamer --input "input_uvc.so \
+ --device $device --fps $fps --resolution $resolution -yuv" \
+ --output "output_http.so --www $www --port $port"
+}
+
+stop_instance() {
+ local s="$1"
+
+ section_enabled "$s" || return 1
+
+ service_stop /usr/bin/mjpg_streamer
+}
+
+start() {
+ config_load 'mjpg-streamer'
+ config_foreach start_instance 'mjpg-streamer'
+}
+
+stop() {
+ config_load 'mjpg-streamer'
+ config_foreach stop_instance 'mjpg-streamer'
+}