GNOME Bugzilla – Bug 667828
[hlsdemux] Update thread is blocked by fetcher thread in getting from playing state to pause state
Last modified: 2013-03-14 12:44:41 UTC
Created attachment 205148 [details] [review] Removing the deadlock by stopping the fetcher thread before update thread. I have observed update thread blocked by fetcher thread while going from PLAYING to PAUSE state. Fetcher thread should be stopped before stopping the update thread. I am attaching a proposed patch for the fix. It works fine for me.
Do you have a way to reproduce the issue with more likelyhood ?
(In reply to comment #1) > Do you have a way to reproduce the issue with more likelyhood ? No, There are no definite steps to reproduce it. But lete me explain my setup. this may help in understanding the issue. I was testing hlsdemux on N9 platform (MeeGo) with webkit. The platform had a resource management system working. I was playing hls stream then moving the browser to background and foreground, when i expereienced this issue. In the code itself, gst_hls_demux_stop_update is always called after gst_hls_demux_stop_fetcher except in this particular case. I also verified with backtrace that fetcher thread is indeed blocking the update thread. If this patch, i did not experience any deadlock.
Nothing should be stopped in PAUSED.