From c18e1dfdb92661fcb8d2eaff87517ec5232f0f46 Mon Sep 17 00:00:00 2001 From: ulrich Date: Fri, 23 Apr 2021 17:53:30 +0000 Subject: [PATCH] Abspielprozess wird nicht mehr auf null gesetzt --- src/de/uhilger/avdirektor/handler/OMXPlayer.java | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/de/uhilger/avdirektor/handler/OMXPlayer.java b/src/de/uhilger/avdirektor/handler/OMXPlayer.java index 0fa96c2..926e9c8 100644 --- a/src/de/uhilger/avdirektor/handler/OMXPlayer.java +++ b/src/de/uhilger/avdirektor/handler/OMXPlayer.java @@ -136,11 +136,11 @@ try { Process o = App.getPlayerProcess(); if(o == null) { - antwort = "Es ist kein Player zum Beenden vorhanden, aber der Servlet-Kontext wurde bereinigt."; - App.setPlayerProcess(null); + antwort = "Es ist kein Player zum Beenden vorhanden."; + //App.setPlayerProcess(null); } else { kommando(CMD_STOP); // setzt den Prozess der App auf null - antwort = "Player gestoppt, Kontext bereinigt."; + antwort = "Player gestoppt."; } } catch(Exception ex) { @@ -163,7 +163,7 @@ //Object o = t.getAttribute(App.PI_PLAYER); Process o = App.getPlayerProcess(); if(o == null) { - App.setPlayerProcess(null); + //App.setPlayerProcess(null); //servletContext.removeAttribute(PI_PLAYER); //t.setAttribute(App.PI_PLAYER, null); antwort = "Es wird nichts abgespielt dem ein Kommando gesendet werden kann."; @@ -175,7 +175,16 @@ out.flush(); if(k.equals(CMD_STOP)) { out.close(); - App.setPlayerProcess(null); + + /* + fuer den Fall, dass ein Stopp-Signal den Player nicht erreicht + oder dort nicht funktioniert, gibt es keine Moeglichkeit festzustellen, + dass der Player noch spielt. Damit in einem solchen Fall der Zeiger + auf den Abspielprozess nicht verloren geht, wird der Zeiger nicht + auf null gesetzt. + */ + + //App.setPlayerProcess(null); //player_process.destroy(); //player_process = null; //t.setAttribute(App.PI_PLAYER, null); @@ -202,7 +211,14 @@ logger.log(Level.INFO, "Abspielen beendet, Meldung an {0} mit Statuscode {1} gesendet.", new Object[]{meldeUrlStr, status}); - App.setPlayerProcess(null); + /* + fuer den Fall, dass ein Stopp-Signal den Player nicht erreicht + oder dort nicht funktioniert, gibt es keine Moeglichkeit festzustellen, + dass der Player noch spielt. Damit in einem solchen Fall der Zeiger + auf den Abspielprozess nicht verloren geht, wird der Zeiger nicht + auf null gesetzt. + */ + //App.setPlayerProcess(null); } catch(IOException ex) { logger.log(Level.INFO, ex.getMessage(), ex); } -- Gitblit v1.9.3