diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2009-01-10 22:08:15 +0100 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2009-01-10 22:08:15 +0100 |
commit | 2a4f6f520b36d548960ade7c4d80162a0b6af224 (patch) | |
tree | ea6cd1fe80c75a270e84b58cb3a9792e6580d722 /m4 | |
parent | 8619a3368fb968b6416025e11009a09268352987 (diff) | |
download | xine-lib-2a4f6f520b36d548960ade7c4d80162a0b6af224.tar.gz xine-lib-2a4f6f520b36d548960ade7c4d80162a0b6af224.tar.bz2 |
Fix locking issues in startup phase which could lead to disconnects.
input_vdr's RPC thread needs to lock frontend. But frontend is also locked
during xine_open() and xine_play(). xine_play() furthermore waits up to 10
seconds for the decoder to return the first frame. So it is unlikely that
the RPC thread can lock the frontend to execute VDR's commands before VDR
sends the first frame. Finally the RPC thread gave up locking the frontend
after 5 seconds and the connect to VDR failed.
To fix this issue, the RPC commands during startup phase are now handled
by the thread which has called xine_open() as it already owns the frontend
lock.
Diffstat (limited to 'm4')
0 files changed, 0 insertions, 0 deletions