From: Oliver Ertl Date: Sun, 6 Jan 2008 11:08:15 +0000 (+0000) Subject: [Packages] multimedia/uvc-streamer: Add UCI configuration file and a init script X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=b28425ed40bc0fe8b0e8b75f2eb102fc178e15da [Packages] multimedia/uvc-streamer: Add UCI configuration file and a init script SVN-Revision: 10126 --- diff --git a/multimedia/uvc-streamer/Makefile b/multimedia/uvc-streamer/Makefile index 5d12808c44..f49c0213ef 100644 --- a/multimedia/uvc-streamer/Makefile +++ b/multimedia/uvc-streamer/Makefile @@ -40,7 +40,11 @@ MAKE_FLAGS += \ define Package/uvc-streamer/install $(INSTALL_DIR) $(1)/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/uvc_stream $(1)/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/uvc_stream $(1)/sbin/$(PKG_NAME) + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_DATA) ./files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME) + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME) endef $(eval $(call BuildPackage,uvc-streamer)) diff --git a/multimedia/uvc-streamer/files/uvc-streamer.config b/multimedia/uvc-streamer/files/uvc-streamer.config new file mode 100644 index 0000000000..95d1e6a7be --- /dev/null +++ b/multimedia/uvc-streamer/files/uvc-streamer.config @@ -0,0 +1,6 @@ +config uvc-streamer + option device '/dev/video0' + option resolution '640x480' + option framespersecond '5' + option port '8080' + option enabled '1' diff --git a/multimedia/uvc-streamer/files/uvc-streamer.init b/multimedia/uvc-streamer/files/uvc-streamer.init new file mode 100644 index 0000000000..46a36ef194 --- /dev/null +++ b/multimedia/uvc-streamer/files/uvc-streamer.init @@ -0,0 +1,53 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2007 OpenWrt.org +START=50 + +SSD=start-stop-daemon +NAME=uvc_streamer +PIDF=/var/run/$NAME.pid +PROG=/sbin/$NAME + +append_bool() { + local section="$1" + local option="$2" + local value="$3" + local _val + config_get_bool _val "$section" "$option" '0' + [ "$_val" -gt 0 ] && append args "$3" +} + +append_string() { + local section="$1" + local option="$2" + local value="$3" + local _val + config_get _val "$section" "$option" + [ -n "$_val" ] && append args "$3 $_val" +} + +start_service() { + local section="$1" + args="" + append_string "$section" device "-d" + append_string "$section" resolution "-r" + append_bool "$section" framespersecond "-f" + append_string "$section" port "-p" + config_get_bool "enabled" "$section" "enabled" '1' + [ "$enabled" -gt 0 ] && $SSD -S -p $PIDF -q -x $PROG -- -b $args +} + +stop_service() { + killall $NAME 2>&1 > /dev/null + # FIXME: Fix Busybox start-stop-daemon to work with multiple PIDs + # $SSD -K -p $PIDF -q +} + +start() { + config_load "uvc-streamer" + config_foreach start_service "uvc-streamer" +} + +stop() { + config_load "uvc-streamer" + config_foreach stop_service "uvc-streamer" +}