#!/bin/sh

# This file is part of PipeWire.
#
# Copyright © 2021 Wim Taymans
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#

while getopts 'hr:vs:p:' param ; do
	case $param in
		r)
			PIPEWIRE_REMOTE="$OPTARG"
			export PIPEWIRE_REMOTE
			;;
		v)
			if [ -z "$PIPEWIRE_DEBUG" ]; then
				PIPEWIRE_DEBUG=3
			else
				PIPEWIRE_DEBUG=$(( PIPEWIRE_DEBUG + 1 ))
			fi
			export PIPEWIRE_DEBUG
			;;
		*)
			echo "$0 - run v4l2 applications on PipeWire"
			echo " "
			echo "$0 [options] application [arguments]"
			echo " "
			echo "options:"
			echo "	-h                  show brief help"
			echo "	-r <remote>         remote daemon name"
			echo "	-v                  verbose debug info"
			exit 0
			;;
	esac
done

shift $(( OPTIND - 1 ))

if [ "$LD_PRELOAD" = "" ] ; then
   LD_PRELOAD='@LIBV4L2_PATH@/libpw-v4l2.so'
else
   LD_PRELOAD="$LD_PRELOAD "'@LIBV4L2_PATH@/libpw-v4l2.so'
fi

export LD_PRELOAD

exec "$@"
