Revert "Make sure that LOCK is released after adding one element"
This reverts commit c05b772e90
.
- Should fix a racing condition if the playlist is cleared (picked up by both kodimonitor and playqueue monitor)
This commit is contained in:
parent
48810a227f
commit
87b22f1588
1 changed files with 34 additions and 39 deletions
|
@ -179,14 +179,12 @@ class PlayqueueMonitor(Thread):
|
|||
elif identical:
|
||||
LOG.debug('Detected playqueue item %s moved to position %s',
|
||||
i + j, i)
|
||||
with LOCK:
|
||||
PL.move_playlist_item(playqueue, i + j, i)
|
||||
del old[j], index[j]
|
||||
break
|
||||
else:
|
||||
LOG.debug('Detected new Kodi element at position %s: %s ',
|
||||
i, new_item)
|
||||
with LOCK:
|
||||
try:
|
||||
if playqueue.id is None:
|
||||
PL.init_Plex_playlist(playqueue, kodi_item=new_item)
|
||||
|
@ -199,10 +197,10 @@ class PlayqueueMonitor(Thread):
|
|||
pass
|
||||
except IndexError:
|
||||
# This is really a hack - happens when using Addon Paths
|
||||
# and repeatedly starting the same element. Kodi will
|
||||
# then not pass kodi id nor file path AND will also not
|
||||
# start-up playback. Hence kodimonitor kicks off
|
||||
# playback. Also see kodimonitor.py - _playlist_onadd()
|
||||
# and repeatedly starting the same element. Kodi will then
|
||||
# not pass kodi id nor file path AND will also not
|
||||
# start-up playback. Hence kodimonitor kicks off playback.
|
||||
# Also see kodimonitor.py - _playlist_onadd()
|
||||
pass
|
||||
else:
|
||||
for j in range(i, len(index)):
|
||||
|
@ -213,7 +211,6 @@ class PlayqueueMonitor(Thread):
|
|||
# Kodi exit
|
||||
return
|
||||
LOG.debug('Detected deletion of playqueue element at pos %s', i)
|
||||
with LOCK:
|
||||
PL.delete_playlist_item_from_PMS(playqueue, i)
|
||||
LOG.debug('Done comparing playqueues')
|
||||
|
||||
|
@ -226,6 +223,7 @@ class PlayqueueMonitor(Thread):
|
|||
if stopped():
|
||||
break
|
||||
sleep(1000)
|
||||
with LOCK:
|
||||
for playqueue in PLAYQUEUES:
|
||||
kodi_pl = js.playlist_get_items(playqueue.playlistid)
|
||||
if playqueue.old_kodi_pl != kodi_pl:
|
||||
|
@ -234,9 +232,6 @@ class PlayqueueMonitor(Thread):
|
|||
# Only initialize if directly fired up using direct
|
||||
# paths. Otherwise let default.py do its magic
|
||||
LOG.debug('Not yet initiating playback')
|
||||
elif playqueue.pkc_edit:
|
||||
playqueue.pkc_edit = False
|
||||
LOG.debug('PKC just edited the playqueue - skipping')
|
||||
else:
|
||||
# compare old and new playqueue
|
||||
self._compare_playqueues(playqueue, kodi_pl)
|
||||
|
|
Loading…
Reference in a new issue