From: Nicolas Thill Date: Wed, 16 Nov 2011 09:44:16 +0000 (+0000) Subject: packages/mpjpg-streamer: use new service functions X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e80bbb73ac0562fb912fa4c2c044eb7d049016b7;p=openwrt%2Fsvn-archive%2Farchive.git packages/mpjpg-streamer: use new service functions SVN-Revision: 29175 --- diff --git a/multimedia/mjpg-streamer/Makefile b/multimedia/mjpg-streamer/Makefile index 5f59a17446..768edebe3c 100644 --- a/multimedia/mjpg-streamer/Makefile +++ b/multimedia/mjpg-streamer/Makefile @@ -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/ diff --git a/multimedia/mjpg-streamer/files/mjpg-streamer.config b/multimedia/mjpg-streamer/files/mjpg-streamer.config index 1b1f7d7f98..5691c3ae8f 100644 --- a/multimedia/mjpg-streamer/files/mjpg-streamer.config +++ b/multimedia/mjpg-streamer/files/mjpg-streamer.config @@ -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" diff --git a/multimedia/mjpg-streamer/files/mjpg-streamer.init b/multimedia/mjpg-streamer/files/mjpg-streamer.init index 7b92c899d9..5a45968525 100644 --- a/multimedia/mjpg-streamer/files/mjpg-streamer.init +++ b/multimedia/mjpg-streamer/files/mjpg-streamer.init @@ -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' } -