Once the samplerate option of the transcode module is used, I got tons of errors like :
[00000387] mux_ts mux warning: packet with too strange dts (dts=15247128362,old=15247132073,pcr=15247159173)[00000387] mux_ts mux warning: packet with too strange dts (dts=15247152362,old=15247154484,pcr=15247239173)[00000387] mux_ts mux warning: packet with too strange dts (dts=15247176362,old=15247178484,pcr=15247317573)[00000387] mux_ts mux warning: packet with too strange dts (dts=15247200362,old=15247202484,pcr=15247397573)[00000387] mux_ts mux warning: packet with too strange dts (dts=15247224362,old=15247226484,pcr=15247477573)[00000387] mux_ts mux warning: packet with too strange dts (dts=15247248362,old=15247250484,pcr=15247555985)
If I use another muxer, such as ASF which produces a stream without displaying errors, the resulting sound is totally broken and I got tons of errors like :
[00000411] main audio output warning: audio drift is too big (136886), dropping buffer
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Linked items
0
Link issues together to show that they're related.
Learn more.
this is a playback log of stream encoded and muxed by vlc-0.9.1-TEST2
it playback skipping Audio
Basically if any user change sample rate of the audio and stream it with Video in any container format the encoded audio output is broken and is un-useable.
main debug: audio output is starving (188755), playing silencemain warning: output date isn't PTS date, requesting resampling (-43755)main warning: buffer is 73789 in advance, triggering downsamplingmain warning: timing screwed, stopping resamplingmain warning: buffer is 113213 in advance, triggering downsamplingmain warning: audio drift is too big (-120914), clearing outmain warning: timing screwed, stopping resamplingmain warning: mixer start isn't output start (-55982)main debug: audio output is starving (290789), playing silencemain warning: output date isn't PTS date, requesting resampling (-40789)main warning: buffer is 70789 in advance, triggering downsamplingmain warning: timing screwed, stopping resamplingmain warning: buffer is 108335 in advance, triggering downsamplingmain warning: audio drift is too big (-121671), clearing outmain warning: timing screwed, stopping resamplingmain warning: mixer start isn't output start (-53465)main debug: audio output is starving (194233), playing silencemain warning: buffer is 41333 in advance, triggering downsamplingmain warning: output date isn't PTS date, requesting resampling (-44233)main warning: timing screwed, stopping resamplingmain warning: buffer is 93101 in advance, triggering downsamplingmain warning: audio drift is too big (-121443), clearing outmain warning: timing screwed, stopping resamplingmain warning: mixer start isn't output start (-56161)main debug: audio output is starving (291255), playing silencemain warning: output date isn't PTS date, requesting resampling (-41255)main warning: buffer is 71266 in advance, triggering downsamplingmain warning: timing screwed, stopping resamplingmain warning: buffer is 108812 in advance, triggering downsamplingmain warning: audio drift is too big (-120281), clearing outmain warning: timing screwed, stopping resamplingmain warning: mixer start isn't output start (-63931)main debug: audio output is starving (171489), playing silencemain warning: buffer is 41333 in advance, triggering downsamplingmain warning: timing screwed, stopping resamplingmain warning: buffer is 63915 in advance, triggering downsamplingmain warning: timing screwed, stopping resamplingmain warning: buffer is 97725 in advance, triggering downsamplingmain warning: audio drift is too big (-120452), clearing outmain warning: timing screwed, stopping resamplingmain warning: mixer start isn't output start (-52253)main debug: audio output is starving (257566), playing silencemain warning: buffer is 41334 in advance, triggering downsampling
Yep, it works great with mp4a codec but it crashes when transcoding into AMR, which I need more than mp4a :)
(gdb) bt[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x00002b517722def5 in raise () from /lib/libc.so.6[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x00002b517722f413 in abort () from /lib/libc.so.6[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x00002b517726a3e8 in ?? () from /lib/libc.so.6[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x00002b517726f968 in ?? () from /lib/libc.so.6[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x00002b517727219c in ?? () from /lib/libc.so.6[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x00002b5177273a98 in malloc () from /lib/libc.so.6[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x00002b51762926b3 in block_Alloc (i_size=442) at misc/block.c:89[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x00002aaaaba52dee in transcode_audio_alloc (p_filter=0x87c5a0, size=442) at transcode.c:1093[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x00002aaabd2801c8 in Convert (p_filter=0x87c5a0, p_block=0x851500) at mono.c:483[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x00002b51762b1d0a in filter_chain_AudioFilter (p_chain=0x8624e0, p_block=0x851500) at misc/filter_chain.c:401[#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x00002aaaaba53cff in transcode_audio_process (p_stream=0x825520, id=0x84c1d0, in=0x84e820, out=0x43004b10) at transcode.c:1366[#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x00002aaaaba52ce8 in Send (p_stream=0x825520, id=0x84c1d0, p_buffer=0x84e820) at transcode.c:1011
Could you retry with VLC from master (pre 1.0)? I have made a few fixes in transcode regarding audio.
It works great with "high" samplerate (>= 24000Hz) but still crashes with "low" samplerate (8000Hz for AMR or even 12000Hz for mp4a) ; cf backtrace in this ticket.
Could you retry with VLC from master (pre 1.0)? I have made a few fixes in transcode regarding audio.
It works great with "high" samplerate (>= 24000Hz) but still crashes with "low" samplerate (8000Hz for AMR or even 12000Hz for mp4a) ; cf backtrace in this ticket.
The problem seems to be that with low samplerate (8000Hz), the bandlimited resampler tries to access to unallocated bytes :
==21572== Thread 13:==21572== Invalid read of size 4==21572== at 0x1148E6BB: FilterFloatUD (bandlimited.c:699)==21572== by 0x1148DA00: DoWork (bandlimited.c:425)==21572== by 0x1148E209: Resample (bandlimited.c:606)==21572== by 0x50F847B: filter_chain_AudioFilter (filter_chain.c:381)==21572== by 0x24D6D253: transcode_audio_process (transcode.c:1335)==21572== by 0x24D6BF6E: Send (transcode.c:965)==21572== by 0x50FEBAC: sout_InputSendBuffer (stream_output.c:277)==21572== by 0x508F5B9: DecoderPlaySout (decoder.c:1634)==21572== by 0x508FA5F: DecoderProcessSout (decoder.c:1754)==21572== by 0x50902B6: DecoderProcess (decoder.c:1962)==21572== by 0x508DA1E: DecoderThread (decoder.c:884)==21572== by 0x50E50CE: thread_entry (threads.c:946)==21572== Address 0x3a391b70 is 0 bytes after a block of size 1,712 alloc'd==21572== at 0x4C2260E: malloc (vg_replace_malloc.c:207)==21572== by 0x50D9CAD: block_Alloc (block.c:92)==21572== by 0x24D6C094: transcode_audio_alloc (transcode.c:1048)==21572== by 0x1148DFC1: Resample (bandlimited.c:576)==21572== by 0x50F847B: filter_chain_AudioFilter (filter_chain.c:381)==21572== by 0x24D6D253: transcode_audio_process (transcode.c:1335)==21572== by 0x24D6BF6E: Send (transcode.c:965)==21572== by 0x50FEBAC: sout_InputSendBuffer (stream_output.c:277)==21572== by 0x508F5B9: DecoderPlaySout (decoder.c:1634)==21572== by 0x508FA5F: DecoderProcessSout (decoder.c:1754)==21572== by 0x50902B6: DecoderProcess (decoder.c:1962)==21572== by 0x508DA1E: DecoderThread (decoder.c:884)
With the following "patch" it works fine in AMR/8000 :