GNOME Bugzilla – Bug 665756
Showing a video background on the speaker screen crashes Pinpoint
Last modified: 2018-08-17 19:57:27 UTC
Overview: Running Pinpoint with the sample introduction.pin file, after downloading a video and renaming to bunny.ogv, crashes when the video slide should appear on the speaker screen. Steps to Reproduce: 1) Download an Ogg Video file and rename to bunny.ogv. Place in Pinpoint build directory. I used the Big Buck Bunny preview located at http://developer.longtailvideo.com/trac/browser/trunk/html5/test/files/bunny.ogv?rev=944 and a few others. 2) Run Pinpoint with the sample presentation: ./pinpoint introduction.pin 3) Activate the speaker screen with F1. 4) Advance the presentation to slide #7 using the right arrow key. Actual Results: Segfault. Expected Results: The presentation should continue, possibly showing a thumbnail of the video on the speaker screen. Build Date & Platform: Pinpoint built from Git 92e553a47504a44b04fc28267877494116cdb296, 'blank screen when B is pressed', on Arch Linux.
Created attachment 204345 [details] [review] Patch to fix the race condition Pinpoint crashed due to the race condition. Pinpoint creates a new thread to update the frames every 15 milliseconds. However, rendering the thumbnail of the video may take longer, and then there will be 2 threads updating the frame spontaneously, so the cairo context will be cleaned by a thread when it finishes the thumbnail rendering and the other gets NULL when it tries to use the context. My patch did a simple check and skip the frame until the previous one is done, and it works for me.
Seems to prevent the crash for me too. Thanks, Gary!
this patch fixes the problem for me as well.
just for the record it works fine for me too, Thanks for the patch Gary!.
So, why not commit it? The patch is essential to being able to use videos in presentations.
Hmmm. I tested this again today in Fedora 17, using pinpoint master + the patch, and it doesn't work anymore. For some reason, it just hangs the UI when you try to switch to a slide that contains video with the presenter mode active. There is no error/warning in the terminal and no segfault. Using Clutter 1.10.4. Gary, could you check if this fix is still working with newer distros?
Actually, I wonder if it might be due to the warnings as shown in bug 677122; namely, there is a suspicious "‘clutter_gst_video_sink_new’ is deprecated".
I think I fixed the "UI hangs" problem with this patch : http://git.gnome.org/browse/pinpoint/commit/?id=f95713006bdb900bcc2b1231f4ba5aedca8591ce It has been merged on master together with the patch proposed in this bug report. Feel free to check it out and see if everything works well.
Indeed, it works now with those commits in master: commit f95713006bdb900bcc2b1231f4ba5aedca8591ce Author: Lionel Landwerlin <llandwerlin@gmail.com> Date: Wed May 30 22:39:28 2012 +0100 Don't run gstreamer in a sub mainloop with the same maincontext commit a1990fc0bfc722c194d5b8dfc59ca114e0c10561 Author: Gary Ching-Pang Lin <chingpang@gmail.com> Date: Fri Dec 30 18:04:37 2011 +0800 Skip the frames until the previous frame is rendered
pinpoint is not under active development anymore since 2015. Its codebase has been archived: https://gitlab.gnome.org/Archive/pinpoint/commits/master Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.