Control: forwarded -1 libav-devel@libav.org Hi,
In Debian, we've received this bugreport regarding a bugfix in our video4linux2 handling. Is the patch below acceptable for master? Best, Reinhard ---------- Forwarded message ---------- From: Bernhard Übelacker <bernha...@vr-web.de> Date: Wed, Jul 2, 2014 at 3:13 PM Subject: Bug#753528: libav-tools: Floating point exception is raised when recording vom video4linux2 To: Debian Bug Tracking System <sub...@bugs.debian.org> Package: libav-tools Version: 6:10.2-1 Severity: minor Tags: patch Dear Maintainer, tried to record some old analog tapes from tv card to DVD compatible files. In avconv_opt.c:opt_target it is tried to determine the norm. For this the streams are evaluated. This leads in my case to this exception. A Workaround is to specify the norm as prefix to the target (instead "-target dvd" use "-target pal-dvd"). Attached patch avoids the exception so avconv can print the message that the user have to specify manualle the norm. Console output: $ export LANG=C $ avconv -f alsa -i hw:0,0 -f video4linux2 -channel 2 -i /dev/video0 -qscale 8 -target dvd out.mpeg avconv version 10.2-6:10.2-1, Copyright (c) 2000-2014 the Libav developers built on Jun 28 2014 13:45:13 with gcc 4.9 (Debian 4.9.0-9) [alsa @ 0x20f5900] Estimating duration from bitrate, this may be inaccurate Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, alsa, from 'hw:0,0': Duration: N/A, start: 90.295177, bitrate: N/A Stream #0.0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s [video4linux2 @ 0x2106720] Estimating duration from bitrate, this may be inaccurate Input #1, video4linux2, from '/dev/video0': Duration: N/A, start: 90.796022, bitrate: 124416 kb/s Stream #1.0: Video: rawvideo, yuv420p, 720x576, 124416 kb/s, 25 fps, 1000k tbn Floating point exception $ gdb --args avconv -f alsa -i hw:0,0 -f video4linux2 -channel 2 -i /dev/video0 -qscale 8 -target dvd out.mpeg (gdb) run .... Program received signal SIGFPE, Arithmetic exception. 0x000000000040c4bb in opt_target (optctx=0x7fffffffda90, opt=<optimized out>, arg=<optimized out>) at /build/libav-KCSjC9/libav-10.2/avconv_opt.c:1731 1731 /build/libav-KCSjC9/libav-10.2/avconv_opt.c: No such file or directory. (gdb) bt #0 0x000000000040c4bb in opt_target (optctx=0x7fffffffda90, opt=<optimized out>, arg=<optimized out>) at /build/libav-KCSjC9/libav-10.2/avconv_opt.c:1731 #1 0x0000000000409f07 in write_option (arg=0x7fffffffe49f "dvd", opt=<optimized out>, po=0x6212c0 <options+1600>, optctx=0x7fffffffda90) at /build/libav-KCSjC9/libav-10.2/cmdutils.c:287 #2 parse_optgroup (optctx=0x7fffffffda90, g=0x6ba350) at /build/libav- KCSjC9/libav-10.2/cmdutils.c:387 #3 0x0000000000410088 in open_files (l=<optimized out>, l=<optimized out>, open_file=<optimized out>, inout=<optimized out>) at /build/libav- KCSjC9/libav-10.2/avconv_opt.c:2083 #4 avconv_parse_options (argc=0, argv=0x0) at /build/libav- KCSjC9/libav-10.2/avconv_opt.c:2135 #5 0x0000000000405785 in main (argc=16, argv=0x7fffffffe0d8) at /build/libav- KCSjC9/libav-10.2/avconv.c:2455 (gdb) info locals c = 0x6d1b40 i = <optimized out> j = <optimized out> fr = <optimized out> o = 0x7fffffffda90 norm = UNKNOWN frame_rates = {0x41a5de "25", 0x41a977 "30000/1001", 0x41a982 "24000/1001"} (gdb) display c->time_base 1: c->time_base = {num = 0, den = 1} Patch: --- libav-10.2.orig/avconv_opt.c +++ libav-10.2/avconv_opt.c @@ -1728,6 +1728,8 @@ static int opt_target(void *optctx, cons AVCodecContext *c = input_files[j]->ctx->streams[i]->codec; if (c->codec_type != AVMEDIA_TYPE_VIDEO) continue; + if (!c->time_base.num) + continue; fr = c->time_base.den * 1000 / c->time_base.num; if (fr == 25000) { norm = PAL; -- System Information: Debian Release: jessie/sid APT prefers testing-updates APT policy: (990, 'testing-updates'), (990, 'testing'), (500, 'testing-proposed-updates') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.14-1-amd64 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libav-tools depends on: ii dpkg 1.17.10 ii libavcodec55 6:10.2-1 ii libavdevice54 6:10.2-1 ii libavfilter4 6:10.2-1 ii libavformat55 6:10.2-1 ii libavresample1 6:10.2-1 ii libavutil53 6:10.2-1 ii libc6 2.19-4 ii libsdl1.2debian 1.2.15-9 ii libswscale2 6:10.2-1 ii libvdpau1 0.7-2 ii libx11-6 2:1.6.2-2 libav-tools recommends no packages. Versions of packages libav-tools suggests: ii frei0r-plugins 1.4-3 -- no debconf information _______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintain...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers -- regards, Reinhard _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel