File: test_tags

package info (click to toggle)
ffmpegfs 2.13-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 17,360 kB
  • sloc: cpp: 20,671; sh: 4,828; ansic: 325; makefile: 231; php: 53
file content (80 lines) | stat: -rwxr-xr-x 2,158 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
#!/bin/bash

ADDOPT=""

__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

. "${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
        cp "$1" /dev/null
        outvar=`./metadata "$1" | fgrep = | sort -u | sed -r 's/^encoder=.*//I' | sed -r '/^vendor_id=.*$/Id'`
}

# Detect FFmpeg 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`

if [ -z "${FFMPEGVERSION}" ] && [ -z "${LIBAVVERSION}" ];
then
	FFMPEGVERSION=`./metadata -v | sed -n 's/^FFmpeg \(.*\)$/\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
        fi
else
	echo "Internal error: FFmpeg/Libav version unknown."
	exit 99
fi

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

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

echo "OK"