packages/mpjpg-streamer: use new service functions

git-svn-id: svn://svn.openwrt.org/openwrt/packages@29175 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nico 2011-11-16 09:44:16 +00:00
parent fd04302f28
commit 45984535eb
3 changed files with 49 additions and 16 deletions

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=mjpg-streamer
PKG_REV:=148
PKG_VERSION:=r$(PKG_REV)
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer/mjpg-streamer/

View File

@ -1,6 +1,6 @@
config mjpg-streamer core
option enabled "0"
option device "/dev/video0"
option resolution "640x480"
option fps "5"
option port "8080"
option enabled "true"

View File

@ -1,23 +1,56 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2009 OpenWrt.org
# Copyright (C) 2009-2011 OpenWrt.org
START=50
SSD=start-stop-daemon
NAME=mjpg_streamer
PIDF=/var/run/$NAME.pid
PROG=/usr/bin/$NAME
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 port "$s" 'port'
[ -c "$device" ] || {
error "device '$device' does not exist"
return 1
}
service_start /usr/bin/mjpg_streamer --input "input_uvc.so \
--device $device --fps $fps --resolution $resolution" \
--output "output_http.so --port $port"
}
stop_instance() {
local s="$1"
section_enabled "$s" || return 1
service_stop /usr/bin/mjpg_streamer
}
start() {
config_load mjpg-streamer
config_get device core device
config_get resolution core resolution
config_get fps core fps
config_get port core port
config_get_bool enabled core enabled
[ $enabled -gt 0 -a -c $device ] && sleep 3 && $SSD -S -m -p $PIDF -q -x $PROG -- --input "input_uvc.so --device $device --fps $fps --resolution $resolution" --output "output_http.so --port $port" &
config_load 'mjpg-streamer'
config_foreach start_instance 'mjpg-streamer'
}
stop() {
$SSD -K -p $PIDF
config_load 'mjpg-streamer'
config_foreach stop_instance 'mjpg-streamer'
}