Bug#1071666: ffmpeg: autopkgtest failure with ffmpeg 7.0
Package: ffmpeg
Version: 7:7.0-1+b1
Severity: normal
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The autopkgtest job [1] fails with ffmpeg 7.0 with the following error:
"no single success: something is definitely wrong"
AFAICT this is caused by an extra column in the ``ffmpeg -format``
command which results in an empty "muxers" list, which in turn causes
it to skip all the tests.
If I apply the attached patch then the muxers list is no longer empty
and then it does run all the tests.
There's still a failure though [2], but now it's only one test
that fails:
```
Test 674:
trying muxer 'nut' with 'a' encoder 'adpcm_ima_wav' for codec 'adpcm_ima_wav'
ffmpeg -threads 2 -f lavfi -i sine=d=0.1 -strict -2 -c:a adpcm_ima_wav -f nut /tmp/autopkgtest-lxc.uwh7i80y/downtmp/autopkgtest_tmp/test/adpcm_ima_wav.nut -y -hide_banner -nostdin
Input #0, lavfi, from 'sine=d=0.1':
Duration: N/A, start: 0.000000, bitrate: 705 kb/s
Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> adpcm_ima_wav (native))
Output #0, nut, to '/tmp/autopkgtest-lxc.uwh7i80y/downtmp/autopkgtest_tmp/test/adpcm_ima_wav.nut':
Metadata:
encoder : Lavf61.1.100
Stream #0:0: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 44100 Hz, mono, s16p, 176 kb/s
Metadata:
encoder : Lavc61.3.100 adpcm_ima_wav
[out#0/nut @ 0x556381aa17c0] video:0KiB audio:3KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 9.700521%
size= 3KiB time=00:00:00.10 bitrate= 269.6kbits/s speed=46.9x
FAILED: nut;a=adpcm_ima_wav; probing failed: 1
```
There are also several "SUCCESS" test which mention "streamcopying fails".
I don't know if that's expected though.
I don't know if the patch is correct (so didn't tag it as such) and it's
certainly incomplete as there's still a failure. I didn't look into why
that was though.
Hopefully it does help find a proper/complete fix for autopkgtest.
Cheers,
Diederik
[1] https://salsa.debian.org/diederik/ffmpeg/-/jobs/5762517
[2] https://salsa.debian.org/diederik/ffmpeg/-/jobs/5762735
- -- System Information:
Debian Release: trixie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 6.8.9-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages ffmpeg depends on:
ii libavcodec-extra61 [libavcodec61] 7:7.0-1+b1
ii libavdevice61 7:7.0-1+b1
ii libavfilter10 7:7.0-1+b1
ii libavformat-extra61 [libavformat61] 7:7.0-1+b1
ii libavutil59 7:7.0-1+b1
ii libc6 2.38-11
ii libplacebo338 6.338.2-2
ii libpostproc58 7:7.0-1+b1
ii libsdl2-2.0-0 2.30.2+dfsg-1
ii libswresample5 7:7.0-1+b1
ii libswscale8 7:7.0-1+b1
ffmpeg recommends no packages.
Versions of packages ffmpeg suggests:
pn ffmpeg-doc <none>
- -- no debconf information
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQT1sUPBYsyGmi4usy/XblvOeH7bbgUCZk84QQAKCRDXblvOeH7b
bvVIAQDA4LvXWWAPSZQwaqZlylM725y7ufLDUipcQjCdeAPB2wEAkt24mkzhrX4a
k4j1ha90YnCJ4osRP4cQB7zVM9NgPAE=
=T+qu
-----END PGP SIGNATURE-----
>From 7a9c17ed2508f9f4a3ac8e8fc104e1da07335935 Mon Sep 17 00:00:00 2001
From: Diederik de Haas <didi.debian@cknow.org>
Date: Thu, 23 May 2024 12:08:28 +0200
Subject: [PATCH] d/tests: Update list_formats for extra output column in
ffmpeg 7.0
The ``ffmpeg -formats`` command got an extra output column.
``ffmpeg -formats`` output header for ffmpeg 6.1:
```
File formats:
D. = Demuxing supported
.E = Muxing supported
```
``ffmpeg -formats`` output header for ffmpeg 7.0:
```
Formats:
D.. = Demuxing supported
.E. = Muxing supported
..d = Is a device
```
This caused problems with the ``sed`` statement and caused the list of
muxers to be empty, which caused the autopkgtests to fail.
Fix the ``sed`` statement in the ``list_formats`` function so that the
list of muxers is no longer empty.
---
debian/tests/encdec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/tests/encdec b/debian/tests/encdec
index 377bd70d..97588833 100755
--- a/debian/tests/encdec
+++ b/debian/tests/encdec
@@ -160,7 +160,7 @@ list_formats() {
# Get the raw list
lines=$(ffmpeg -hide_banner -formats | grep "^ $match")
for line in $lines; do
- item=$(echo "$line" | sed "s/^ [D ][E ] \([^ ]*\) .*/\1/")
+ item=$(echo "$line" | sed "s/^ [D ][E ][d ] \([^ ]*\) .*/\1/")
item=${item%%,*}
echo "$item"
done
--
2.45.1
Reply to: