GNOME Bugzilla – Bug 796553
playsink: broken audio visualization support
Last modified: 2018-08-16 18:02:04 UTC
The stream_finish_cond is not signaled and thus EOS isn't forwarded.
+ Trace 238638
Thread 22 (Thread 0x7fa7ab954700 (LWP 32613))
I assume the problem here is that the EOS goes via the audio path, thus gets send to two pads of the streamsynchronizer (audio and video), and then one of them waits for the other and blocks the other from ever receiving the EOS event. Can you confirm? Another queue might be needed somewhere to prevent that.
(In reply to Sebastian Dröge (slomo) from comment #1) > I assume the problem here is that the EOS goes via the audio path, thus gets > send to two pads of the streamsynchronizer (audio and video), and then one > of them waits for the other and blocks the other from ever receiving the EOS > event. > > Can you confirm? Yes this is the issue. > Another queue might be needed somewhere to prevent that. playsink actually has code for this but it's not executed when if the visualization is configured after playback started. So this is a playsink bug :)
I started working on a patch.
Created attachment 372694 [details] [review] patch
It would be great if a reviewer finds time to look at this patch, thanks in advance :)
Thanks! Pushed in master and 1.14: commit a6536585fc431de14e550ba7961382669683a814 (HEAD -> 1.14, origin/1.14) Author: Philippe Normand <philn@igalia.com> Date: Sat Jun 16 14:27:20 2018 +0100 playsink: audio visualization support fixes The queue between the audiotee and the audio chain wasn't properly added to the bin, leading to streamsynchronizer locks on EOS. Reconfiguration of the visualization chain wasn't working as expected either. It is now possible to dynamically enable/disable the audio visualization support. https://bugzilla.gnome.org/show_bug.cgi?id=796553