bae34504024d28f16c11e97eb183d38b6f6edf58
[v4l2-persistent-settings.git] / v4l2-settings-restore.sh
1 #!/bin/bash
2 #
3 # v4l2-settings-restore.sh - restore v4l2 device settings
4 #
5 # Copyright (C) 2018  Antonio Ospite <ao2@ao2.it>
6 #
7 # This program is free software. It comes without any warranty, to
8 # the extent permitted by applicable law. You can redistribute it
9 # and/or modify it under the terms of the Do What The Fuck You Want
10 # To Public License, Version 2, as published by Sam Hocevar. See
11 # http://sam.zoy.org/wtfpl/COPYING for more details.
12 #
13 # NOTE: this script is meant to be called by an udev rule.
14
15 [ "$DEBUG" = "true" ] && set -x
16 set -e
17
18 source /etc/default/v4l2-persistent-settings || :
19
20 : "${SETTINGS_DIR:=/tmp}"
21
22 SETTINGS_FILE="${SETTINGS_DIR}/${ID_V4L_PRODUCT}.conf"
23
24 if [ "$ACTION" = "add" ] && [ -f "$SETTINGS_FILE" ];
25 then
26   while read -r setting;
27   do
28     CTRL=$(echo -n "$setting" | cut -d ' ' -f 1)
29     VAL=$(echo -n "$setting" | cut -d ' ' -f 2)
30     v4l2-ctl -d "$DEVNAME" --set-ctrl "${CTRL}=${VAL}"
31   done < "$SETTINGS_FILE"
32 fi