diff --git a/.local/bin/custom/prepare_webcam b/.local/bin/custom/prepare_webcam
deleted file mode 100755
index bfe8002..0000000
--- a/.local/bin/custom/prepare_webcam
+++ /dev/null
@@ -1,624 +0,0 @@
-#!/bin/bash
-
-# Script for using IP Webcam as a microphone/webcam in Debian Jessie,
-# Ubuntu 13.04, 14.04, 16.04 and Arch Linux
-
-# Copyright (C) 2011-2020 Antonio García Domínguez
-# Copyright (C) 2016 C.J. Adams-Collier
-# Copyright (C) 2016 Laptander
-# Licensed under GPLv3
-
-# Usage: ./prepare-videochat.sh [flip method]
-#
-# [flip method] is "none" by default. Here are some values you can try
-# out (from gst/videofilter/gstvideoflip.c):
-#
-# - clockwise: clockwise 90 degrees
-# - rotate-180: 180 degrees
-# - counterclockwise: counter-clockwise 90 degrees
-# - horizontal-flip: flip horizontally
-# - vertical-flip: flip vertically
-# - upper-left-diagonal: flip across upper-left/lower-right diagonal
-# - upper-right-diagonal: flip across upper-right/lower-left diagonal
-#
-# However, some of these flip methods do not seem to work. In
-# particular, those which change the picture size, such as clockwise
-# or counterclockwise. *-flip and rotate-180 do work, though.
-#
-# To be able to use audio from your phone as a virtual microphone, open pavucontrol,
-# then open Playback tab and choose 'IP Webcam' for gst-launch-1.0 playback Stream.
-# Then to use audio stream in Audacity, open it and press record button or click on
-# the Recording Meter Toolbar to start monitoring, then go to pavucontrol's Recording tab
-# and choose "Monitor of IP Webcam" for ALSA plug-in [audacity].
-#
-# If you want to be able to hear other applications sounds, for example from web-browser,
-# then while it is playing some sound, go to pavucontrol's Playback tab and choose your
-# default sound card for web-browser.
-
-#
-# INSTALLATION
-#
-# In Arch Linux
-# install ipwebcam-gst-git package from AUR
-#
-# MULTIPLE WEBCAMS
-#
-# This requires some extra work. First, you need to reload the
-# v4l2loopback module yourself and specify how many loopback devices
-# you want (default is 1). For instance, if you want 2:
-#
-# sudo modprobe -r v4l2loopback
-# sudo modprobe v4l2loopback exclusive_caps=1 devices=2
-#
-# Next, run two copies of this script with explicit WIFI_IP and DEVICE
-# settings (see CONFIGURATION):
-#
-# ./prepare-videochat.sh
-# ./prepare-videochat-copy.sh
-#
-# TROUBLESHOOTING
-#
-# 1. Does v4l2loopback work properly?
-#
-# Try running these commands. You'll first need to install mplayer and
-# ensure that your user can write to /dev/video*).
-#
-# sudo modprobe -r v4l2loopback
-# ls /dev/video*
-# (Note down the devices available.)
-# sudo modprobe v4l2loopback exclusive_caps=1
-# ls /dev/video*
-# (Note down the new devices: let X be the number of the first new device.)
-# v4l2-ctl -D -d /dev/videoX
-# gst-launch-1.0 videotestsrc ! v4l2sink device=/dev/videoX & mplayer -tv device=/dev/videoX tv://
-#
-#
-# You should be able to see the GStreamer test video source, which is
-# like a TV test card. Otherwise, there's an issue in your v4l2loopback
-# installation that you should address before using this script.
-#
-# 2. Does the video connection work properly?
-#
-# To make sure the video from IP Webcam works for you (except for
-# v4l2loopback and your video conference software), try this command
-# with a simplified pipeline (do not forget to replace $IP and $PORT
-# with your values):
-#
-# on Debian:
-# gst-launch-1.0 souphttpsrc location="http://$IP:$PORT/videofeed" \
-# do-timestamp=true is-live=true \
-# ! multipartdemux ! jpegdec ! ffmpegcolorspace ! ximagesink
-#
-# on Arch Linux:
-# gst-launch-1.0 souphttpsrc location="http://$IP:$PORT/videofeed" \
-# do-timestamp=true is-live=true \
-# ! multipartdemux ! jpegdec ! videoconvert ! ximagesink
-#
-# You should be able to see the picture from your webcam on a new window.
-# If that doesn't work, there's something wrong with your connection to
-# the phone.
-#
-# 3. Are you plugging several devices into your PC?
-#
-# By default, the script assumes you're only plugging one device into
-# your computer. If you're plugging in several Android devices to your
-# computer, you will first need to tell this script which one should
-# be used. Run 'adb devices' with only the desired device plugged in,
-# and note down the identifer.
-#
-# Then, uncomment the line that adds the -s flag to ADB_FLAGS below,
-# replacing 'deviceid' with the ID you just found, and run the script
-# normally.
-#
-# --
-#
-# Last tested with:
-# - souphttpsrc version 1.0.6
-# - v4l2sink version 1.0.6
-# - v4l2loopback version 0.7.0
-
-# Exit on first error
-set -e
-
-if [ -n "$1" ]; then
- FLIP_METHOD=$1
-else
- FLIP_METHOD=none
-fi
-
-GST_FLIP="! videoflip method=\"$FLIP_METHOD\" "
-if [ $FLIP_METHOD = 'none' ]; then
- GST_FLIP=""
-fi
-
-### CONFIGURATION
-
-# If your "adb" is not in your $PATH, set the full path to it here.
-# If "adb" is in your $PATH, you don't have to change this option.
-ADB_PATH=~/bin/android-sdk-linux_x86/platform-tools/adb
-if which adb > /dev/null ; then
- ADB=$(which adb)
-elif [ -f $ANDROID_SDK_ROOT/platform-tools/adb ] ; then
- ADB=$ANDROID_SDK_ROOT/platform-tools/adb
-elif [ -f $ANDROID_HOME/platform-tools/adb ] ; then
- ADB=$ANDROID_HOME/platform-tools/adb
-else
- ADB=$ADB_PATH
-fi
-
-# Flags for ADB.
-ADB_FLAGS=
-#ADB_FLAGS="$ADB_FLAGS -s deviceid" # use when you need to pick from several devices (check deviceid in 'adb devices')
-
-# idea: make ability to choose IP version (usefull for IPv6-only environment)
-# IP_VERSION=4
-
-# IP used by the phone in your wireless network
-WIFI_IP=192.168.2.140
-
-# Port on which IP Webcam is listening
-PORT=8080
-
-# To disable proxy while acessing WIFI_IP (set value 1 to disable, 0 for not)
-# For cases when host m/c is connected to a Proxy-Server and WIFI_IP belongs to local network
-DISABLE_PROXY=0
-
-# Dimensions of video
-WIDTH=640
-HEIGHT=480
-
-# Frame rate of video
-GST_FPS=24
-
-# Choose audio codec from wav, aac or opus
-# do not choose opus until editing pipeline. If choose opus, pipeline will not work
-# and some errors will appear in feed.log.
-# I do not know how to edit pipelines for now.
-AUDIO_CODEC=wav
-
-# Choose which stream to capture.
-# a - audio only, v - video only, av - audio and video.
-# Make sure that IP webcam is streaming corresponding streams, otherwise error will occur.
-CAPTURE_STREAM=av
-
-# Loopback device to be used. This only needs to be uncommented if you
-# want to skip autodetection (e.g. for multiple webcams):
-#DEVICE=/dev/video0
-
-# Force syncing to timestamps. Useful to keep audio and video in sync,
-# but may impact performance in slow connections. If you see errors about
-# timestamping or you do not need audio, you can try changing this to false.
-SYNC=true
-
-# Options for loading the v4l2loopback:
-# * use of exclusive_caps=1 is recommended in v4l2loopback#78
-V4L2_OPTS="exclusive_caps=1 card_label=\"IP Webcam\""
-
-### FUNCTIONS
-
-has_kernel_module() {
- # Checks if module exists in system (but does not load it)
- MODULE="$1"
- if lsmod | grep -w "$MODULE" >/dev/null 2>/dev/null; then
- # echo "$MODULE is loaded! So it exists."
- return 0
- else
- # Determining kernel object existence
- # I do not know why, but using -q in egrep makes it always return 1, so do not use it
- if [ `find /lib/modules/$(uname -r)/ -name "$MODULE.ko*" | egrep '.*' ||
- find /lib/modules/$(uname -r)/extra -name "$MODULE.ko*" | egrep '.*'||
- find /lib/modules/$(uname -r)/extramodules -name "$MODULE.ko*" | egrep '.*'` ]; then
- return 0
- else
- return 1
- fi
- fi
-
-}
-
-check_os_version() {
- # checks if the OS version can use newer GStreamer version
- DIST="$1"
- RELEASE="$2"
-
- case "$DIST" in
- "Debian") return "`echo "$RELEASE < 8.0" | bc`" ;;
- "Ubuntu") return "`echo "$RELEASE < 14.04" | bc`" ;;
- "LinuxMint") return "`echo "$RELEASE < 14.04" | bc`" ;;
- "Arch") return 0 ;;
- esac
- # assume other Distributions are also new enough, by now
- return 0
-}
-
-error() {
- zenity --error --no-wrap --text "$@" > /dev/null 2>&1
- exit 1
-}
-
-warning() {
- zenity --warning --no-wrap --text "$@" > /dev/null 2>&1
-}
-
-info() {
- zenity --info --no-wrap --text "$@" > /dev/null 2>&1
-}
-
-confirm() {
- zenity --question --no-wrap --text "$@" > /dev/null 2>&1
-}
-
-can_run() {
- # It's either the path to a file, or the name of an executable in $PATH
- which "$1" >/dev/null 2>/dev/null
-}
-
-install_package() {
- if [ $DIST = "Debian" ] || [ $DIST = "Ubuntu" ] || [ $DIST = "LinuxMint" ]; then
- echo "Trying to install $1 package."
- sudo apt-get install -y "$1"
- elif [ $DIST = "Arch" ]; then
- echo "Please install $1 package" 1>&2
- exit 1
- fi
-}
-
-start_adb() {
- can_run "$ADB" && "$ADB" $ADB_FLAGS start-server
-}
-
-phone_plugged() {
- test "$("$ADB" $ADB_FLAGS get-state 2>/dev/null)" = "device"
-}
-
-url_reachable() {
- if ! can_run curl && can_run apt-get; then
- # Some versions of Ubuntu do not have curl by default (Arch
- # has it in its core, so we don't need to check that case)
- sudo apt-get install -y curl
- fi
-
- CURL_OPTIONS=""
- if [ $DISABLE_PROXY = 1 ]; then
- CURL_OPTIONS="--noproxy $WIFI_IP"
- fi
-
- # -f produces a non-zero status code when answer is 4xx or 5xx
- curl $CURL_OPTIONS -f -m 5 -sI "$1" >/dev/null
-}
-
-iw_server_is_started() {
- if [ $CAPTURE_STREAM = av ]; then
- : # help me optimize this code
- temp=$(url_reachable "$AUDIO_URL"); au=$?; #echo au=$au
- temp=$(url_reachable "$VIDEO_URL"); vu=$?; #echo vu=$vu
- if [ $au = 0 -a $vu = 0 ]; then return 0; else return 1; fi
- elif [ $CAPTURE_STREAM = a ]; then
- if url_reachable "$AUDIO_URL"; then return 0; else return 1; fi
- elif [ $CAPTURE_STREAM = v ]; then
- if url_reachable "$VIDEO_URL"; then return 0; else return 1; fi
- else
- error "Incorrect CAPTURE_STREAM value ($CAPTURE_STREAM). Should be a, v or av."
- fi
-}
-
-start_iw_server() {
- # Note: recent versions of IP Webcam do not export the Rolling intent due
- # to security reasons. Users will have to start that on their own.
- echo "Please start IP Webcam or IP Webcam Pro server and press Enter"
- read
- sleep 2s
-}
-
-module_id_by_sinkname() {
- pacmd list-sinks | grep -e 'name:' -e 'module:' | grep -A1 "name: <$1>" | grep module: | cut -f2 -d: | tr -d ' '
-}
-
-# is this function needed somewhere?
-module_id_by_sourcename() {
- pacmd list-sources | grep -e 'name:' -e 'module:' | grep -A1 "name: <$1>" | grep module: | cut -f2 -d: | tr -d ' '
-}
-
-declare -A DISTS
-DISTS=(["Debian"]=1 ["Ubuntu"]=2 ["Arch"]=3 ["LinuxMint"]=4)
-
-if can_run lsb_release; then
- DIST=`lsb_release -i | cut -f2 -d ":"`
- RELEASE=`lsb_release -r | cut -f2 -d ":"`
-fi
-if [ -z "$DIST" ] || [ -z "${DISTS[$DIST]}" ] ; then
- if [ -f "/etc/arch-release" ]; then
- DIST="Arch"
- RELEASE=""
- elif [ -f "/etc/debian_version" ] ; then
- DIST="Debian"
- RELEASE=`perl -ne 'chomp; if(m:(jessie|testing|sid):){print "8.0"}elsif(m:[\d\.]+:){print}else{print "0.0"}' < /etc/debian_version`
- fi
-fi
-
-GST_VER="0.10"
-GST_VIDEO_CONVERTER="ffmpegcolorspace"
-GST_VIDEO_MIMETYPE="video/x-raw-yuv"
-GST_VIDEO_FORMAT="format=(fourcc)YUY2"
-
-GST_AUDIO_MIMETYPE="audio/x-raw-int"
-GST_AUDIO_FORMAT="width=16,depth=16,endianness=1234,signed=true"
-GST_AUDIO_RATE="rate=44100"
-GST_AUDIO_CHANNELS="channels=1"
-GST_AUDIO_LAYOUT=""
-
-GST_1_0_AUDIO_FORMAT="format=S16LE"
-GST_0_10_VIDEO_MIMETYPE=$GST_VIDEO_MIMETYPE
-GST_0_10_VIDEO_FORMAT=$GST_VIDEO_FORMAT
-
-if ! can_run bc; then
- install_package bc
-fi
-
-set +e
-check_os_version $DIST $RELEASE
-set -e
-if [ $? -eq 0 ]
-then
- GST_VER="1.0"
- GST_VIDEO_CONVERTER="videoconvert"
- GST_VIDEO_MIMETYPE="video/x-raw"
- GST_VIDEO_FORMAT="format=YUY2"
-
- GST_AUDIO_MIMETYPE="audio/x-raw"
- GST_AUDIO_FORMAT=$GST_1_0_AUDIO_FORMAT
- GST_AUDIO_LAYOUT=",layout=interleaved"
-fi
-
-DIMENSIONS="width=$WIDTH,height=$HEIGHT"
-
-GST_0_10_VIDEO_CAPS="$GST_0_10_VIDEO_MIMETYPE,$GST_0_10_VIDEO_FORMAT,$DIMENSIONS"
-GST_VIDEO_CAPS="$GST_VIDEO_MIMETYPE,$GST_VIDEO_FORMAT,$DIMENSIONS"
-GST_AUDIO_CAPS="$GST_AUDIO_MIMETYPE,$GST_AUDIO_FORMAT$GST_AUDIO_LAYOUT,$GST_AUDIO_RATE,$GST_AUDIO_CHANNELS"
-PA_AUDIO_CAPS="$GST_AUDIO_FORMAT $GST_AUDIO_RATE $GST_AUDIO_CHANNELS"
-
-# GStreamer debug string (see gst-launch manpage)
-GST_DEBUG=souphttpsrc:0,videoflip:0,$GST_CONVERTER:0,v4l2sink:0,pulse:0
-# Is $GST_CONVERTER defined anywhere? Maybe you mean videoconvert vs ffmpegcolorspace? It is in GST_VIDEO_CONVERTER
-
-### MAIN BODY
-
-
-if ! can_run zenity; then
- install_package zenity
-fi
-
-# Check if the user has v4l2loopback
-if ! has_kernel_module v4l2loopback; then
- if [ $DIST = "Debian" ] || [ $DIST = "Ubuntu" ] || [ $DIST = "Arch" ]; then
- install_package "v4l2loopback-dkms"
- if [ $DIST = "Ubuntu" ]; then
- install_package "python-apport"
- fi
-
- if [ $? != 0 ]; then
- info "Installation failed. Please install v4l2loopback manually from github.com/umlaeute/v4l2loopback."
- fi
- fi
-
- if has_kernel_module v4l2loopback; then
- info "The v4l2loopback kernel module was installed successfully."
- else
- error "Could not install the v4l2loopback kernel module through apt-get."
- fi
-fi
-
-# Probe module if not probed yet
-if lsmod | grep -w v4l2loopback >/dev/null 2>/dev/null; then
- # module is already loaded, do nothing
- :
-elif [ $CAPTURE_STREAM = v -o $CAPTURE_STREAM = av ]; then
- echo Loading module
- sudo modprobe v4l2loopback $V4L2_OPTS #-q > /dev/null 2>&1
-fi
-
-# check if the user has the pulse gst plugin installed
-if find "/usr/lib/gstreamer-$GST_VER/libgstpulseaudio.so" "/usr/lib/gstreamer-$GST_VER/libgstpulse.so" "/usr/lib/$(uname -m)-linux-gnu/gstreamer-$GST_VER/libgstpulse.so" 2>/dev/null | egrep -q '.*'; then
- # plugin installed, do nothing
- # info "Found the pulse gst plugin"
- :
-else
- if [ $DIST = "Debian" ] || [ $DIST = "Ubuntu" ]; then
- install_package "gstreamer${GST_VER}-pulseaudio"
- elif [ $DIST = "Arch" ]; then
- install_package "gst-plugins-good"
- fi
-fi
-
-# If the user hasn't manually specified which /dev/video* to use
-# through DEVICE, use the first "v4l2 loopback" device as the webcam:
-# this should help when loading v4l2loopback on a system that already
-# has a regular webcam. If that doesn't work, fall back to /dev/video0.
-if ! can_run v4l2-ctl; then
- install_package v4l-utils
-fi
-if [ -z "$DEVICE" ]; then
- if can_run v4l2-ctl; then
- for d in /dev/video*; do
- if v4l2-ctl -d "$d" -D | grep -q "v4l2 loopback"; then
- DEVICE=$d
- break
- fi
- done
- fi
- if [ -z "$DEVICE" ]; then
- DEVICE=/dev/video0
- warning "Could not find the v4l2loopback device: falling back to $DEVICE"
- fi
-fi
-
-# Test that we can read from and write to the device
-if ! test -r "$DEVICE"; then
- error "$DEVICE is not readable: please fix your permissions"
-fi
-if ! test -w "$DEVICE"; then
- error "$DEVICE is not writable: please fix your permissions"
-fi
-
-# Decide whether to connect through USB or through wi-fi
-IP=$WIFI_IP
-if ! can_run "$ADB"; then
- warning "adb is not available: you'll have to use Wi-Fi, which will be slower. Next time, please install the Android SDK from developer.android.com/sdk or install adb package in Ubuntu"
-else
- while ! phone_plugged && ! confirm "adb is available, but the phone is not plugged in. Are you sure you want to use Wi-Fi (slower)?\nIf you don't, please connect your phone to USB and allow usb debugging under developer settings."; do
- true
- sleep 1;
- done
- if phone_plugged; then
- if ss -ln src :$PORT | grep -q :$PORT; then
- warning "Your port $PORT seems to be in use: falling back to Wi-Fi. If you would like to use USB forwarding, please free it up and try again."
- else
- "$ADB" $ADB_FLAGS forward tcp:$PORT tcp:$PORT
- IP=127.0.0.1
- fi
- fi
-fi
-
-BASE_URL=http://$IP:$PORT
-VIDEO_URL=$BASE_URL/videofeed
-AUDIO_URL=$BASE_URL/audio.$AUDIO_CODEC
-
-# start adb daemon to avoid relaunching it in while
-if can_run "$ADB"; then
- start_adb
-fi
-
-# Remind the user to open up IP Webcam and start the server
-if phone_plugged && ! iw_server_is_started; then
- # If the phone is plugged to USB and we have ADB, we can start the server by sending an intent
- start_iw_server
-fi
-
-while ! iw_server_is_started; do
- if [ $CAPTURE_STREAM = av ]; then
- MESSAGE="The IP Webcam audio feed is not reachable at $AUDIO_URL.\nThe IP Webcam video feed is not reachable at $VIDEO_URL."
- elif [ $CAPTURE_STREAM = a ]; then
- MESSAGE="The IP Webcam audio feed is not reachable at $AUDIO_URL."
- elif [ $CAPTURE_STREAM = v ]; then
- MESSAGE="The IP Webcam video feed is not reachable at $VIDEO_URL."
- else
- error "Incorrect CAPTURE_STREAM value ($CAPTURE_STREAM). Should be a, v or av."
- fi
- info "$MESSAGE\nPlease install and open IP Webcam in your phone and start the server.\nMake sure that values of variables IP, PORT, CAPTURE_STREAM in this script are equal with settings in IP Webcam."
-done
-
-# idea: check if default-source is correct. If two copy of script are running,
-# then after ending first before second you will be set up with $SINK_NAME.monitor,
-# but not with your original defauld source.
-# The same issue if script was not end correctly, and you restart it.
-DEFAULT_SINK=$(pacmd dump | grep set-default-sink | cut -f2 -d " ")
-DEFAULT_SOURCE=$(pacmd dump | grep set-default-source | cut -f2 -d " ")
-
-SINK_NAME="ipwebcam"
-SINK_ID=$(module_id_by_sinkname $SINK_NAME)
-ECANCEL_ID=$(module_id_by_sinkname "${SINK_NAME}_echo_cancel")
-
-# Registering audio device if not yet registered
-if [ -z $SINK_ID ] ; then
- SINK_ID=$(pactl load-module module-null-sink \
- sink_name="$SINK_NAME" \
- $PA_AUDIO_CAPS \
- sink_properties="device.description='IP\ Webcam'")
-fi
-
-if [ -z $ECANCEL_ID ] ; then
- ECANCEL_ID=$(pactl load-module module-echo-cancel \
- sink_name="${SINK_NAME}_echo_cancel" \
- source_master="$SINK_NAME.monitor" \
- sink_master="$DEFAULT_SINK" \
- $PA_AUDIO_CAPS \
- aec_method="webrtc" save_aec=true use_volume_sharing=true) || true
-fi
-
-pactl set-default-source $SINK_NAME.monitor
-
-# Check for gst-launch
-GSTLAUNCH=gst-launch-${GST_VER}
-if [ $DIST = "Debian" ] || [ $DIST = "Ubuntu" ]; then
- if ! can_run "$GSTLAUNCH"; then
- install_package gstreamer${GST_VER}-tools
- fi
-elif [ $DIST = "Arch" ]; then
- if ! can_run "$GSTLAUNCH"; then
- error "You don't have gst-launch. Please install gstreamer and gst-plugins-good packages."
- fi
-fi
-if ! can_run "$GSTLAUNCH"; then
- error "Could not find gst-launch. Exiting."
- # exit 1 # you have already exited after error function.
-fi
-
-# Start the GStreamer graph needed to grab the video and audio
-set +e
-
-#sudo v4l2loopback-ctl set-caps $GST_0_10_VIDEO_CAPS $DEVICE
-
-pipeline_video() {
- echo souphttpsrc location="$VIDEO_URL" do-timestamp=true is-live=true \
- ! queue \
- ! multipartdemux \
- ! decodebin \
- $GST_FLIP \
- ! $GST_VIDEO_CONVERTER \
- ! videoscale \
- ! $GST_VIDEO_CAPS \
- ! v4l2sink device="$DEVICE" sync=$SYNC
-}
-
-pipeline_audio() {
- echo souphttpsrc location="$AUDIO_URL" do-timestamp=true is-live=true \
- ! $GST_AUDIO_CAPS ! queue \
- ! pulsesink device="$SINK_NAME" sync=$SYNC
-}
-
-if [ $CAPTURE_STREAM = av ]; then
- PIPELINE="$( pipeline_audio ) $( pipeline_video )"
-elif [ $CAPTURE_STREAM = a ]; then
- PIPELINE=$( pipeline_audio )
-elif [ $CAPTURE_STREAM = v ]; then
- PIPELINE=$( pipeline_video )
-else
- error "Incorrect CAPTURE_STREAM value ($CAPTURE_STREAM). Should be a, v or av."
-fi
-
-# echo "$PIPELINE"
-
-if [ $DISABLE_PROXY = 1 ]; then
- # Disabling proxy to access WIFI_IP viz. on local network
- unset http_proxy
-fi
-
-"$GSTLAUNCH" -e -vt --gst-plugin-spew \
- --gst-debug="$GST_DEBUG" \
- $PIPELINE \
- >feed.log 2>&1 &
- # Maybe we need edit this pipeline to transfer it to "Monitor of IP Webcam" to be able to use it as a microphone?
-
-GSTLAUNCH_PID=$!
-
-if [ $CAPTURE_STREAM = av ]; then
- MESSAGE="IP Webcam audio is streaming through pulseaudio sink '$SINK_NAME'.\nIP Webcam video is streaming through v4l2loopback device $DEVICE.\n"
-elif [ $CAPTURE_STREAM = a ]; then
- MESSAGE="IP Webcam audio is streaming through pulseaudio sink '$SINK_NAME'.\n"
-elif [ $CAPTURE_STREAM = v ]; then
- MESSAGE="IP Webcam video is streaming through v4l2loopback device $DEVICE.\n"
-else
- error "Incorrect CAPTURE_STREAM value ($CAPTURE_STREAM). Should be a, v or av."
-fi
-info "$MESSAGE You can now open your videochat app."
-
-echo "Press enter to end stream"
-perl -e ''
-
-kill $GSTLAUNCH_PID > /dev/null 2>&1 || echo ""
-pactl set-default-source ${DEFAULT_SOURCE}
-pactl unload-module ${ECANCEL_ID}
-pactl unload-module ${SINK_ID}
-
-echo "Disconnected from IP Webcam. Have a nice day!"
-# idea: capture ctrl-c signal and set default source back