[FFmpeg-trac] #7215(ffmpeg:new): xWMA 22KHz files produce garbled output
FFmpeg
trac at avcodec.org
Thu May 17 03:31:27 EEST 2018
#7215: xWMA 22KHz files produce garbled output
-----------------------------------+--------------------------------------
Reporter: kerohazel | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version: git-master
Keywords: xwma | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-----------------------------------+--------------------------------------
Summary of the bug:
I have several xWMA audio files from a game (Hydrophobia: Prophecy). Some
play correctly, others produce garbled noise. I noticed that all the files
that play correctly are 44.1 or 48 KHz. The ones that do not are all 22050
Hz. Note the overflow errors in the output below.
How to reproduce (one of the garbled files):
{{{
$ ffplay -v 9 -loglevel 99 -i Fear\ Sound\ 1.xWMA
ffplay version N-91062-gf995aa8 Copyright (c) 2003-2018 the FFmpeg
developers
built with gcc 6.2.0 (Ubuntu 6.2.0-5ubuntu12) 20161005
configuration:
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 19.101 / 58. 19.101
libavformat 58. 13.102 / 58. 13.102
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 22.100 / 7. 22.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
Initialized opengl renderer.
[NULL @ 0x7f588c000940] Opening 'Fear Sound 1.xWMA' for reading
[file @ 0x7f588c0012c0] Setting default whitelist 'file,crypto'
Probing mp3 score:1 size:2048
Probing xwma score:100 size:2048 0KB vq= 0KB sq= 0B f=0/0
[xwma @ 0x7f588c000940] Format xwma probed with size=2048 and score=100
[xwma @ 0x7f588c000940] Before avformat_find_stream_info() pos: 250 bytes
read:32768 seeks:0 nb_streams:1
[xwma @ 0x7f588c000940] max_analyze_duration 5000000 reached at 5109388
microseconds st:0
[xwma @ 0x7f588c000940] stream 0: start_time: -418293516410647.438
duration: 18.019
[xwma @ 0x7f588c000940] format: start_time: -9223372036854.775 duration:
18.019 bitrate=20 kb/s
[xwma @ 0x7f588c000940] After avformat_find_stream_info() pos: 33694 bytes
read:45772 seeks:0 frames:35
Input #0, xwma, from 'Fear Sound 1.xWMA':
Duration: 00:00:18.02, bitrate: 20 kb/s
Stream #0:0, 35, 1/22050: Audio: wmav2 (a[1][0][0] / 0x0161), 22050
Hz, 1 channels, fltp, 48 kb/s
detected 4 logical cores
[ffplay_abuffer @ 0x7f588c055140] Setting 'sample_rate' to value '22050'
[ffplay_abuffer @ 0x7f588c055140] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 0x7f588c055140] Setting 'channels' to value '1'
[ffplay_abuffer @ 0x7f588c055140] Setting 'time_base' to value '1/22050'
[ffplay_abuffer @ 0x7f588c055140] tb:1/22050 samplefmt:fltp
samplerate:22050 chlayout:(null)
[ffplay_abuffersink @ 0x7f588c055240] auto-inserting filter
'auto_resampler_0' between the filter 'ffplay_abuffer' and the filter
'ffplay_abuffersink'
[AVFilterGraph @ 0x7f588c003f40] query_formats: 2 queried, 0 merged, 3
already done, 0 delayed
[auto_resampler_0 @ 0x7f588c055dc0] [SWR @ 0x7f588c0560c0] Using fltp
internally between filters
[auto_resampler_0 @ 0x7f588c055dc0] ch:1 chl:1 channels fmt:fltp r:22050Hz
-> ch:1 chl:1 channels fmt:s16 r:22050Hz
[wmav2 @ 0x7f588c002cc0] overflow (120 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] overflow (488 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 6 times
[wmav2 @ 0x7f588c002cc0] overflow (475 > 466) in spectral RLE, ignoring
Audio frame changed from rate:22050 ch:1 fmt:fltp layout:0 channels
serial:-1 to rate:22050 ch:1 fmt:fltp layout:0 channels serial:1
[ffplay_abuffer @ 0x7f5878001a00] Setting 'sample_rate' to value '22050'
[ffplay_abuffer @ 0x7f5878001a00] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 0x7f5878001a00] Setting 'channels' to value '1'
[ffplay_abuffer @ 0x7f5878001a00] Setting 'time_base' to value '1/22050'
[ffplay_abuffer @ 0x7f5878001a00] tb:1/22050 samplefmt:fltp
samplerate:22050 chlayout:(null)
[ffplay_abuffersink @ 0x7f5878009080] auto-inserting filter
'auto_resampler_0' between the filter 'ffplay_abuffer' and the filter
'ffplay_abuffersink'
[AVFilterGraph @ 0x7f5878001700] query_formats: 2 queried, 0 merged, 3
already done, 0 delayed
[auto_resampler_0 @ 0x7f587800a740] [SWR @ 0x7f587800ac00] Using fltp
internally between filters
[auto_resampler_0 @ 0x7f587800a740] ch:1 chl:1 channels fmt:fltp r:22050Hz
-> ch:1 chl:1 channels fmt:s16 r:22050Hz
[wmav2 @ 0x7f588c002cc0] overflow (605 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (239 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] len -1 invalid
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] overflow (513 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (118 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (243 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] overflow (245 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (260 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (244 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (142 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (117 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (858 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (487 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (275 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (476 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (254 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] Exponent out of range: 103
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 3 times
[wmav2 @ 0x7f588c002cc0] overflow (245 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] overflow (122 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (259 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (473 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (469 > 466) in spectral RLE, ignoring
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] overflow (154 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (120 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (166 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (503 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] len -1 invalid
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 2 times
[wmav2 @ 0x7f588c002cc0] overflow (667 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
Last message repeated 1 times
[wmav2 @ 0x7f588c002cc0] overflow (590 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (469 > 466) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (933 > 932) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (141 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (1156 > 932) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (234 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] overflow (118 > 116) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (243 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
[wmav2 @ 0x7f588c002cc0] overflow (343 > 233) in spectral RLE, ignoring
[wmav2 @ 0x7f588c002cc0] frame_len overflow
}}}
For comparison, here is a file that does play correctly:
{{{
$ ffplay -v 9 -loglevel 99 -i Tactical\ Moves.xWMA
ffplay version N-91062-gf995aa8 Copyright (c) 2003-2018 the FFmpeg
developers
built with gcc 6.2.0 (Ubuntu 6.2.0-5ubuntu12) 20161005
configuration:
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 19.101 / 58. 19.101
libavformat 58. 13.102 / 58. 13.102
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 22.100 / 7. 22.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
Initialized opengl renderer.
[NULL @ 0x7f0dc4000940] Opening 'Tactical Moves.xWMA' for reading
[file @ 0x7f0dc40012c0] Setting default whitelist 'file,crypto'
Probing xwma score:100 size:2048
[xwma @ 0x7f0dc4000940] Format xwma probed with size=2048 and score=100
[xwma @ 0x7f0dc4000940] Before avformat_find_stream_info() pos: 1506 bytes
read:32768 seeks:0 nb_streams:1
[xwma @ 0x7f0dc4000940] max_analyze_duration 5000000 reached at 5203175
microseconds st:0
[xwma @ 0x7f0dc4000940] stream 0: start_time: -209146758205323.719
duration: 134.676
[xwma @ 0x7f0dc4000940] format: start_time: -9223372036854.775 duration:
134.676 bitrate=48 kb/s
[xwma @ 0x7f0dc4000940] After avformat_find_stream_info() pos: 39416 bytes
read:65536 seeks:0 frames:16
Input #0, xwma, from 'Tactical Moves.xWMA':
Duration: 00:02:14.68, bitrate: 48 kb/s
Stream #0:0, 16, 1/44100: Audio: wmav2 (a[1][0][0] / 0x0161), 44100
Hz, 1 channels, fltp, 48 kb/s
detected 4 logical cores
[ffplay_abuffer @ 0x7f0dc4068f80] Setting 'sample_rate' to value '44100'
[ffplay_abuffer @ 0x7f0dc4068f80] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 0x7f0dc4068f80] Setting 'channels' to value '1'
[ffplay_abuffer @ 0x7f0dc4068f80] Setting 'time_base' to value '1/44100'
[ffplay_abuffer @ 0x7f0dc4068f80] tb:1/44100 samplefmt:fltp
samplerate:44100 chlayout:(null)
[ffplay_abuffersink @ 0x7f0dc406a200] auto-inserting filter
'auto_resampler_0' between the filter 'ffplay_abuffer' and the filter
'ffplay_abuffersink'
[AVFilterGraph @ 0x7f0dc4049f40] query_formats: 2 queried, 0 merged, 3
already done, 0 delayed
[auto_resampler_0 @ 0x7f0dc406a980] [SWR @ 0x7f0dc406ad80] Using fltp
internally between filters
[auto_resampler_0 @ 0x7f0dc406a980] ch:1 chl:1 channels fmt:fltp r:44100Hz
-> ch:1 chl:1 channels fmt:s16 r:44100Hz
Audio frame changed from rate:44100 ch:1 fmt:fltp layout:0 channels
serial:-1 to rate:44100 ch:1 fmt:fltp layout:0 channels serial:1
[ffplay_abuffer @ 0x7f0dac011a40] Setting 'sample_rate' to value '44100'
[ffplay_abuffer @ 0x7f0dac011a40] Setting 'sample_fmt' to value 'fltp'
[ffplay_abuffer @ 0x7f0dac011a40] Setting 'channels' to value '1'
[ffplay_abuffer @ 0x7f0dac011a40] Setting 'time_base' to value '1/44100'
[ffplay_abuffer @ 0x7f0dac011a40] tb:1/44100 samplefmt:fltp
samplerate:44100 chlayout:(null)
[ffplay_abuffersink @ 0x7f0dac012d80] auto-inserting filter
'auto_resampler_0' between the filter 'ffplay_abuffer' and the filter
'ffplay_abuffersink'
[AVFilterGraph @ 0x7f0dac011500] query_formats: 2 queried, 0 merged, 3
already done, 0 delayed
[auto_resampler_0 @ 0x7f0dac014440] [SWR @ 0x7f0dac0148c0] Using fltp
internally between filters
[auto_resampler_0 @ 0x7f0dac014440] ch:1 chl:1 channels fmt:fltp r:44100Hz
-> ch:1 chl:1 channels fmt:s16 r:44100Hz
}}}
I can provide any of the xWMA files in question if needed. Just to make
sure the files weren't corrupted somehow, I found a small standalone
Windows xWMA player here (http://www.din.or.jp/~ch3/down_e.html) and it
played the 22KHz file with no issues.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7215>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list