mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	pipewire-v4l2: the start of a v4l2 LD_PRELOAD library
This commit is contained in:
		
							parent
							
								
									57b3fe537e
								
							
						
					
					
						commit
						e68fd36f90
					
				
					 8 changed files with 910 additions and 0 deletions
				
			
		
							
								
								
									
										65
									
								
								pipewire-v4l2/src/pw-v4l2.in
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										65
									
								
								pipewire-v4l2/src/pw-v4l2.in
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,65 @@
 | 
			
		|||
#!/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 [ x"$LD_PRELOAD" = x ] ; then
 | 
			
		||||
   LD_PRELOAD="@LIBV4L2_PATH@/libpw-v4l2.so"
 | 
			
		||||
else
 | 
			
		||||
   LD_PRELOAD="$LD_PRELOAD @LIBV4L2_PATH@/libpw-v4l2.so"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
export LD_PRELOAD
 | 
			
		||||
 | 
			
		||||
exec "$@"
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue