File: test_tags

package info (click to toggle)
ffmpegfs 2.2-1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 11,044 kB
  • sloc: cpp: 15,932; sh: 4,644; ansic: 411; makefile: 204; php: 53
file content (91 lines) | stat: -rwxr-xr-x 2,476 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash

ADDOPT=""

. "${BASH_SOURCE%/*}/funcs.sh" "$1"

VIDEO=$2

# Fixes to make these checks work with Libav 12
#
# Change...
# ^TXXX=DESCRIPTION -> TXXX=comment
# ^TDRL             -> TDRC
# ^desc             -> ?cmt (but keep ^description=)
#
get_metadata() {
        local -n outvar=$2    # -n makes it a nameref.
        echo Checking $1
        cat "$1" > /dev/null
        outvar=`./metadata "$1" | fgrep = | sort -u | sed -r 's/^encoder=.*//I'`
}

# Detect FFmpeg or Libav version
# FFmpeg versions prior to 3.2.x store a title in the file and the encoder version, nothing else...
FFMPEGVERSION=`./metadata -v | sed -n 's/^FFmpeg[^0-9]\([0-9]*\.[0-9]*\).*$/\1/p' | head -n 1`
LIBAVVERSION=`./metadata -v | sed -n 's/^Libav[^0-9]\([0-9]*\.[0-9]*\).*$/\1/p' | head -n 1`

if [ -z "${FFMPEGVERSION}" ] && [ -z "${LIBAVVERSION}" ];
then
	FFMPEGVERSION=`./metadata -v | sed -n 's/^FFmpeg \(.*\)$/\1/p' | head -n 1`
	LIBAVVERSION=`./metadata -v | sed -n 's/^Libav \(.*\)$/\1/p' | head -n 1`
fi

if [ ! -z "${FFMPEGVERSION}" ];
then
	echo "FFmpeg version is ${FFMPEGVERSION}"

	LIBRARY=ffmpeg
	if  [[ "${FFMPEGVERSION}" == N* ]];
	then
		echo "FFmpeg Nightly Build"
		VERSION=N
        elif (( $(echo "${FFMPEGVERSION} >= 4.3" | bc -l) )); then
                echo "FFmpeg > 4.3"
                VERSION=4.3
        elif (( $(echo "${FFMPEGVERSION} >= 4.2" | bc -l) )); then
                echo "FFmpeg > 4.2"
                VERSION=4.2
        elif (( $(echo "${FFMPEGVERSION} >= 4.0" | bc -l) )); then
                echo "FFmpeg > 4.0"
                VERSION=4.0
        elif (( $(echo "${FFMPEGVERSION} > 3.2" | bc -l) )); then
                echo "FFmpeg > 3.2.x"
		VERSION=3.2+
        else
        	echo "FFmpeg <= 3.2.x"
		VERSION=3.2-
        fi
elif [ ! -z "${LIBAVVERSION}" ];
then
	echo "Libav version is ${LIBAVVERSION}"

	# Using Libav, no known version differences
	LIBRARY=libav
	VERSION=
else
	echo "Internal error: FFmpeg/Libav version unknown."
	exit 99
fi

if [ "${VIDEO}" == "1" ];
then
	FILELIST="raven_e raven_d snowboard"
else
        FILELIST="raven_e raven_d"
fi

for FILE in ${FILELIST}
do
	TAGFILE=tags/${LIBRARY}${VERSION}/${FILE}.${DESTTYPE}.tag
	get_metadata "${DIRNAME}/${FILE}.${FILEEXT}" TAGS
	echo "${TAGS}" > "${FILE}.${DESTTYPE}.tag"
	echo "Compare file: ${TAGFILE}" 
	echo "Tags found:"
	echo "${TAGS}"
	cmp -c ${TAGFILE} "${FILE}.${DESTTYPE}.tag"
	printf "*** PASS ***\n\n"
	rm -f "${FILE}.${DESTTYPE}.tag"
done 

echo "OK"