[FFmpeg-trac] #5908(avcodec:new): audiotoolbox ac3 decoder will hang on some inputs
FFmpeg
trac at avcodec.org
Mon Oct 24 21:38:07 EEST 2016
#5908: audiotoolbox ac3 decoder will hang on some inputs
---------------------------------+--------------------------------------
Reporter: tmm1 | Type: defect
Status: new | Priority: normal
Component: avcodec | Version: git-master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
---------------------------------+--------------------------------------
To reproduce, use ffplay to play this sample:
http://s3.amazonaws.com/tmm1/ac3_at_deadlock.ts
One ffplay starts, hit the left/right keys in rapid succession 3-4 times
to seek forward and back. Audio will stop playing, and when you try to
quit with the Q key the player will deadlock.
{{{
$ ./ffplay_g -threads 1 -codec:a ac3_at -i /tmp/ac3_at_deadlock.ts
ffplay version n3.1.3-359-g2a65f1e Copyright (c) 2003-2016 the FFmpeg
developers
built with Apple LLVM version 8.0.0 (clang-800.0.38)
...
}}}
Using lldb I see the audio decoder is stuck with the following backtrace:
{{{
* thread #6: tid = 0x721540, 0x00007fffbce57bc9
libsystem_platform.dylib`_platform_bzero$VARIANT$Haswell + 41
* frame #0: 0x00007fffbce57bc9
libsystem_platform.dylib`_platform_bzero$VARIANT$Haswell + 41
frame #1: 0x00000001150072c2
AudioCodecs`ACUDCDecoder::ProduceOutputBufferList(AudioBufferList*,
unsigned int&, AudioStreamPacketDescription*) + 392
frame #2: 0x000000011500712d
AudioCodecs`ACUDCDecoder::ProduceOutputPackets(void*, unsigned int&,
unsigned int&, AudioStreamPacketDescription*) + 53
frame #3: 0x0000000115149384 AudioCodecs`ProduceOutputPackets(void*,
void*, unsigned int*, unsigned int*, AudioStreamPacketDescription*,
unsigned int*) + 23
frame #4: 0x00007fffa6a9daa3
AudioToolbox`CodecConverter::DecoderFillBuffer(unsigned int&,
AudioBufferList&, AudioStreamPacketDescription*) + 1199
frame #5: 0x00007fffa6aa9c93
AudioToolbox`BufferedAudioConverter::GetInputBytes(unsigned int, unsigned
int&, CABufferList const*&) + 135
frame #6: 0x00007fffa6aa9b82
AudioToolbox`CBRConverter::RenderOutput(CABufferList*, unsigned int,
unsigned int&, AudioStreamPacketDescription*) + 106
frame #7: 0x00007fffa6a9cc9d
AudioToolbox`BufferedAudioConverter::FillBuffer(unsigned int&,
AudioBufferList&, AudioStreamPacketDescription*) + 281
frame #8: 0x00007fffa6a9cf7f
AudioToolbox`AudioConverterChain::RenderOutput(CABufferList*, unsigned
int, unsigned int&, AudioStreamPacketDescription*) + 99
frame #9: 0x00007fffa6a9cc9d
AudioToolbox`BufferedAudioConverter::FillBuffer(unsigned int&,
AudioBufferList&, AudioStreamPacketDescription*) + 281
frame #10: 0x00007fffa6a9c76f
AudioToolbox`AudioConverterFillComplexBuffer + 282
frame #11: 0x000000010d7316ab
libavcodec.57.dylib`___lldb_unnamed_symbol344$$libavcodec.57.dylib + 715
frame #12: 0x000000010dc753db
libavcodec.57.dylib`avcodec_decode_audio4 + 251
frame #13: 0x000000010d2fe7eb ffplay`___lldb_unnamed_symbol45$$ffplay
+ 747
frame #14: 0x000000010d2fc0a1 ffplay`___lldb_unnamed_symbol39$$ffplay
+ 1153
frame #15: 0x000000010eb2cf8d libSDL-1.2.0.dylib`SDL_RunThread + 53
frame #16: 0x000000010eb4f764 libSDL-1.2.0.dylib`RunThread + 9
frame #17: 0x00007fffbce5dabb libsystem_pthread.dylib`_pthread_body +
180
frame #18: 0x00007fffbce5da07 libsystem_pthread.dylib`_pthread_start +
286
frame #19: 0x00007fffbce5d231 libsystem_pthread.dylib`thread_start +
13
}}}
This happens reproducibly on both macOS and iOS.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5908>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list