Changeset 38143


Ignore:
Timestamp:
2013-09-23T23:59:42+02:00 (4 years ago)
Author:
luka
Message:

[packages] mjpg-streamer: upgrade package

Changes include:

  • version bump to r181
  • convert init script so it can use procd
  • add menu so one can select only desired features

Signed-off-by: Luka Perkov <luka@…>

Location:
packages/multimedia/mjpg-streamer
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • packages/multimedia/mjpg-streamer/Makefile

    r37929 r38143  
    11# 
    2 # Copyright (C) 2006-2011 OpenWrt.org 
     2# Copyright (C) 2006-2013 OpenWrt.org 
    33# 
    44# This is free software, licensed under the GNU General Public License v2. 
     
    99 
    1010PKG_NAME:=mjpg-streamer 
    11 PKG_REV:=148 
     11PKG_REV:=181 
    1212PKG_VERSION:=r$(PKG_REV) 
    13 PKG_RELEASE:=4 
     13PKG_RELEASE:=1 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
     
    2727  DEPENDS:=+libpthread +libjpeg 
    2828  URL:=http://mjpg-streamer.wiki.sourceforge.net/ 
     29  MENU:=1 
    2930endef 
    3031 
    3132define Package/mjpg-streamer/description 
    32         Streaming application for Linux-UVC compatible webcams 
     33 Streaming application for Linux-UVC compatible webcams 
     34endef 
     35 
     36define Package/mjpg-streamer/config 
     37  source "$(SOURCE)/Config.in" 
    3338endef 
    3439 
    3540EXTRA_CFLAGS += $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS) 
     41 
     42define Package/mjpg-streamer/conffiles 
     43/etc/config/mjpg-streamer 
     44endef 
    3645 
    3746define Package/mjpg-streamer/install 
     
    4251        $(INSTALL_DIR) $(1)/etc/init.d 
    4352        $(INSTALL_BIN) ./files/mjpg-streamer.init $(1)/etc/init.d/mjpg-streamer 
    44         $(INSTALL_DIR) $(1)/usr/lib 
    45         $(CP) $(foreach input_plugin,file uvc,$(PKG_BUILD_DIR)/input_$(input_plugin).so) $(1)/usr/lib 
    46         $(CP) $(foreach output_plugin,http file,$(PKG_BUILD_DIR)/output_$(output_plugin).so) $(1)/usr/lib 
    4753        $(INSTALL_DIR) $(1)/etc/hotplug.d/usb 
    4854        $(INSTALL_DATA) ./files/mjpg-streamer.hotplug $(1)/etc/hotplug.d/usb/20-mjpg-streamer 
     55        $(INSTALL_DIR) $(1)/usr/lib 
     56ifeq ($(CONFIG_MJPG_STREAMER_INPUT_FILE),y) 
     57        $(CP) $(PKG_BUILD_DIR)/input_file.so $(1)/usr/lib 
     58endif 
     59ifeq ($(CONFIG_MJPG_STREAMER_INPUT_UVC),y) 
     60        $(CP) $(PKG_BUILD_DIR)/input_uvc.so $(1)/usr/lib 
     61endif 
     62ifeq ($(CONFIG_MJPG_STREAMER_OUTPUT_FILE),y) 
     63        $(CP) $(PKG_BUILD_DIR)/output_file.so $(1)/usr/lib 
     64endif 
     65ifeq ($(CONFIG_MJPG_STREAMER_OUTPUT_HTTP),y) 
     66        $(CP) $(PKG_BUILD_DIR)/output_http.so $(1)/usr/lib 
     67endif 
     68ifeq ($(CONFIG_MJPG_STREAMER_WWW),y) 
    4969        $(INSTALL_DIR) $(1)/www/webcam 
    5070        $(INSTALL_DATA) $(PKG_BUILD_DIR)/www/* $(1)/www/webcam 
    51 endef 
    52  
    53 define Package/mjpg-streamer/conffiles 
    54 /etc/config/mjpg-streamer 
     71endif 
    5572endef 
    5673 
  • packages/multimedia/mjpg-streamer/files/mjpg-streamer.config

    r33059 r38143  
    1 config mjpg-streamer core 
    2         option enabled          "0" 
    3         option device           "/dev/video0" 
    4         option resolution       "640x480" 
    5         option fps              "5" 
    6         option www              "/www/webcam" 
    7         option port             "8080" 
     1config mjpg-streamer 'core' 
     2        option enabled '0' 
     3        option input 'uvc' 
     4        option output 'http' 
     5        option device '/dev/video0' 
     6        option resolution '640x480' 
     7        option fps '5' 
     8        option www '/www/webcam' 
     9        option port '8080' 
     10 
  • packages/multimedia/mjpg-streamer/files/mjpg-streamer.hotplug

    r17002 r38143  
    11case "$ACTION" in 
    22        add) 
    3                 # start process 
     3                # start process 
    44                /etc/init.d/mjpg-streamer start 
    5                 ;; 
     5                ;; 
    66        remove) 
    7                 # stop process 
     7                # stop process 
    88                /etc/init.d/mjpg-streamer stop 
    9                 ;; 
     9                ;; 
    1010esac 
    11  
  • packages/multimedia/mjpg-streamer/files/mjpg-streamer.init

    r33059 r38143  
    11#!/bin/sh /etc/rc.common 
    2 # Copyright (C) 2009-2012 OpenWrt.org 
     2# Copyright (C) 2009-2013 OpenWrt.org 
    33 
    4 START=50 
     4START=90 
     5STOP=10 
    56 
    6 SERVICE_DAEMONIZE=1 
    7 SERVICE_WRITE_PID=1 
    8  
     7USE_PROCD=1 
    98PROG=/usr/bin/mjpg_streamer 
    109 
     
    1312} 
    1413 
    15 section_enabled() { 
    16         config_get_bool enabled "$1" 'enabled' 0 
    17         [ $enabled -gt 0 ] 
    18 } 
    19  
    2014start_instance() { 
    2115        local s="$1" 
    2216 
    23         section_enabled "$s" || return 1 
     17        config_get_bool enabled "$1" 'enabled' 0 
     18        [ $enabled -eq 0 ] && return 
    2419 
    25         config_get device "$s" 'device' 
    26         config_get resolution "$s" 'resolution' 
    27         config_get fps "$s" 'fps' 
    28         config_get www "$s" 'www' 
    29         config_get port "$s" 'port' 
     20        config_get input "$s" 'input' 
     21        if [ -z "$input" ]; then 
     22                error "in section '$s' option input is missing" 
     23                return 1 
     24        fi 
    3025 
    31         [ -c "$device" ] || { 
    32                 error "device '$device' does not exist" 
     26        config_get output "$s" 'output' 
     27        if [ -z "$output" ]; then 
     28                error "in section '$s' option output is missing" 
    3329                return 1 
    34         } 
     30        fi 
    3531 
    36         service_start /usr/bin/mjpg_streamer --input "input_uvc.so \ 
    37                 --device $device --fps $fps --resolution $resolution" \ 
    38                 --output "output_http.so --www $www --port $port" 
     32        local input_arg 
     33        if [ "x$input" = 'xuvc' ]; then 
     34                input_arg="input_uvc.so" 
     35 
     36                config_get device "$s" 'device' 
     37                if [ ! -c "$device" ]; then 
     38                        error "device '$device' does not exist" 
     39                        return 1 
     40                fi 
     41                input_arg="${input_arg} --device $device" 
     42 
     43                config_get fps "$s" 'fps' 
     44                [ -n "$fps" ] && input_arg="${input_arg} --fps $fps" 
     45 
     46                config_get resolution "$s" 'resolution' 
     47                [ -n "$resolution" ] && input_arg="${input_arg} --resolution $resolution" 
     48        fi 
     49 
     50        if [ -z "$input_arg" ]; then 
     51                error "unsuported input option '$input' in section '$s'" 
     52                return 1 
     53        fi 
     54 
     55        local output_arg 
     56        if [ "x$output" = 'xhttp' ]; then 
     57                output_arg="output_http.so" 
     58 
     59                config_get port "$s" 'port' 
     60                [ -n "$port" ] && output_arg="${output_arg} --port $port" 
     61 
     62                config_get www "$s" 'www' 
     63                [ -n "$www" ] && output_arg="${output_arg} --www $www" 
     64        fi 
     65 
     66        if [ -z "$output_arg" ]; then 
     67                error "unsuported output option '$output' in section '$s'" 
     68                return 1 
     69        fi 
     70 
     71        procd_open_instance 
     72        procd_set_param command "$PROG" --input "$input_arg" --output "$output_arg" 
     73        procd_close_instance 
    3974} 
    4075 
    41 stop_instance() { 
    42         local s="$1" 
    43  
    44         section_enabled "$s" || return 1 
    45  
    46         service_stop /usr/bin/mjpg_streamer 
    47 } 
    48  
    49 start() { 
     76start_service() { 
    5077        config_load 'mjpg-streamer' 
    5178        config_foreach start_instance 'mjpg-streamer' 
    5279} 
    5380 
    54 stop() { 
    55         config_load 'mjpg-streamer' 
    56         config_foreach stop_instance 'mjpg-streamer' 
     81service_triggers() { 
     82        procd_add_reload_trigger 'mjpg-streamer' 
    5783} 
Note: See TracChangeset for help on using the changeset viewer.