libbluray | branch: master | hpi1 <[email protected]> | Fri Jan 24 12:51:00 2014 +0200| [148015edc1d46b73f3b6b9e9e6bfcf2e6af23eac] | committer: hpi1
(quick)fix deadlock when playlist player is started before stopping previous one. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=148015edc1d46b73f3b6b9e9e6bfcf2e6af23eac --- src/libbluray/bdj/java/org/videolan/media/content/BDHandler.java | 2 +- .../bdj/java/org/videolan/media/content/PlayerManager.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libbluray/bdj/java/org/videolan/media/content/BDHandler.java b/src/libbluray/bdj/java/org/videolan/media/content/BDHandler.java index bbdadfc..6f135fe 100644 --- a/src/libbluray/bdj/java/org/videolan/media/content/BDHandler.java +++ b/src/libbluray/bdj/java/org/videolan/media/content/BDHandler.java @@ -432,7 +432,7 @@ public abstract class BDHandler implements Player, ServiceContentHandler { return true; } - private boolean doDeallocateAction() { + protected boolean doDeallocateAction() { ControllerErrorEvent error; switch (state) { case Realizing: diff --git a/src/libbluray/bdj/java/org/videolan/media/content/PlayerManager.java b/src/libbluray/bdj/java/org/videolan/media/content/PlayerManager.java index 1b5d278..3ce854b 100644 --- a/src/libbluray/bdj/java/org/videolan/media/content/PlayerManager.java +++ b/src/libbluray/bdj/java/org/videolan/media/content/PlayerManager.java @@ -77,8 +77,9 @@ public class PlayerManager { if (player instanceof org.videolan.media.content.playlist.Handler) { synchronized (playlistPlayerLock) { if (playlistPlayer != null && player != playlistPlayer) { - playlistPlayer.stop(); - playlistPlayer.deallocate(); + //playlistPlayer.stop(); + //playlistPlayer.deallocate(); + playlistPlayer.doDeallocateAction(); } playlistPlayer = player; } _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
