diff options
author | Jan Alexander Steffens (heftig) <jsteffens@make.tv> | 2015-01-13 16:07:06 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-01-19 19:36:13 +0100 |
commit | a636c39638e7d667d71ec5a1070c3e468cf45a73 (patch) | |
tree | b310f4c10cfd5bf6d4966bfa486e50e494cf900b /gst/playback/gstdecodebin2.c | |
parent | 63afbce6bee5dcb94d668c12a0a6dc798a98f268 (diff) | |
download | gstreamer-plugins-base-a636c39638e7d667d71ec5a1070c3e468cf45a73.tar.gz |
audioresample: Try to prevent endless looping
Speex may decide not to consume any samples because it can't write any. I've
seen a hang during draining caused by the resample loop never terminating.
In that case, resampling happened as normal until olen was 0 but ilen was
still 1. _process_native then reduced ichunk to 0, so ilen never decreased
below 1 and the loop never terminated.
Instead of reverting 684cf44 ({audioresample: don't skip input samples),
break only if all output samples have been produced and speex refuses
to consume any more input samples.
https://bugzilla.gnome.org/show_bug.cgi?id=732908
Diffstat (limited to 'gst/playback/gstdecodebin2.c')
0 files changed, 0 insertions, 0 deletions