Opened 13 years ago
Closed 13 years ago
#810 closed defect (fixed)
Muxing MXF audio only files leads to a floating point exception
Reported by: | Clément Bœsch | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | mxf fpe |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Steps to reproduce:
% make tests/audiogen % ./tests/audiogen a.sw 48000 2 % ./ffmpeg -ar 48000 -ac 2 -i a.sw -y a.mxf
Backtrace:
(gdb) r Starting program: /home/ubitux/proj/ffmpeg/ffmpeg_g -ar 48000 -ac 2 -i a.sw -y a.mxf [Thread debugging using libthread_db enabled] ffmpeg version N-36003-gf27930c, Copyright (c) 2000-2011 the FFmpeg developers built on Dec 21 2011 00:07:07 with gcc 4.6.2 20111125 (prerelease) configuration: --enable-gpl --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-x11grab --enable-libopenjpeg --enable-version3 --enable-libmodplug --enable-libass --cc='ccache cc' libavutil 51. 32. 0 / 51. 32. 0 libavcodec 53. 46. 1 / 53. 46. 1 libavformat 53. 27. 0 / 53. 27. 0 libavdevice 53. 4. 0 / 53. 4. 0 libavfilter 2. 53. 0 / 2. 53. 0 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 51. 2. 0 / 51. 2. 0 [s16le @ 0x141d840] Estimating duration from bitrate, this may be inaccurate Input #0, s16le, from 'a.sw': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s Output #0, mxf, to 'a.mxf': Metadata: encoder : Lavf53.27.0 Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le -> pcm_s16le) Press [q] to stop, [?] for help Program received signal SIGFPE, Arithmetic exception. 0x0000000000a9ec0b in av_rescale_rnd (a=<optimized out>, b=0, c=0, rnd=<optimized out>) at libavutil/mathematics.c:91 91 return (a * b + r)/c; (gdb) bt #0 0x0000000000a9ec0b in av_rescale_rnd (a=<optimized out>, b=0, c=0, rnd=<optimized out>) at libavutil/mathematics.c:91 #1 0x0000000000553acb in ff_interleave_new_audio_packet (flush=0, stream_index=0, pkt=0x7fffffffbfa0, s=<optimized out>) at libavformat/audiointerleave.c:87 #2 ff_audio_rechunk_interleave (s=0x1425c80, out=0x7fffffffc050, pkt=0x0, flush=0, get_packet=0x502fd0 <mxf_interleave_get_packet>, compare_ts=0x502f60 <mxf_compare_timestamps>) at libavformat/audiointerleave.c:132 #3 0x0000000000543175 in interleave_packet (flush=0, in=0x7fffffffc300, out=0x7fffffffc050, s=<optimized out>) at libavformat/utils.c:3454 #4 av_interleaved_write_frame (s=0x1425c80, pkt=0x7fffffffc300) at libavformat/utils.c:3477 #5 0x00000000004466d5 in write_frame (s=0x1425c80, pkt=0x7fffffffc300, avctx=0x141e860, bsfc=0x0) at ffmpeg.c:833 #6 0x0000000000448ec9 in do_audio_out (ist=0x141dd90, ost=0x1424830, s=0x1425c80, decoded_frame=<optimized out>) at ffmpeg.c:1072 #7 transcode_audio (got_output=0x7fffffffc3c8, pkt=0x7fffffffc2a0, ist=0x141dd90) at ffmpeg.c:1838 #8 output_packet (ist=<optimized out>, ost_table=0x1424830, nb_ostreams=<optimized out>, pkt=<optimized out>) at ffmpeg.c:2043 #9 0x000000000044b72e in transcode (output_files=0x1424b00, nb_output_files=1, input_files=0x1424c10, nb_input_files=0) at ffmpeg.c:2804 #10 0x00000000004432a2 in main (argc=<optimized out>, argv=0x7fffffffe698) at ffmpeg.c:4885 (gdb)
The time base seems to be set only with when a video stream is specified, so trying to rescale it in case of audio only leads to a floating exception. The issue might also be reproducible with data or subtitles muxing without video.
Change History (3)
comment:1 by , 13 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
comment:2 by , 13 years ago
comment:3 by , 13 years ago
Keywords: | fpe added |
---|---|
Resolution: | → fixed |
Status: | open → closed |
The fpe was fixed by Tomas Härdin, I suggest to open a new ticket for the "audio only mxf muxing" enhancement.
Note:
See TracTickets
for help on using tickets.
patch on ML