From 669ad47b6e59b02bfc8acce0cdf4c74515226da0 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Fri, 06 Jan 2023 17:37:53 +0000
Subject: [PATCH] Problem beim Abspielen vom mp3 mit Album Bildern behoben

---
 src/de/uhilger/calypso/handler/OMXPlayer.java |   70 +++++++++-------------------------
 1 files changed, 19 insertions(+), 51 deletions(-)

diff --git a/src/de/uhilger/calypso/handler/OMXPlayer.java b/src/de/uhilger/calypso/handler/OMXPlayer.java
index 10b869f..f012ad9 100644
--- a/src/de/uhilger/calypso/handler/OMXPlayer.java
+++ b/src/de/uhilger/calypso/handler/OMXPlayer.java
@@ -18,6 +18,7 @@
 
 package de.uhilger.calypso.handler;
 
+import com.sun.net.httpserver.HttpExchange;
 import de.uhilger.calypso.App;
 import de.uhilger.calypso.MeldeThread;
 import de.uhilger.calypso.ProzessLauscher;
@@ -30,6 +31,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -64,8 +66,6 @@
   public static final String CMD_PREV_SUB = "n";
   public static final String CMD_STOP = "q";
   public static final String CMD_TOGGLE_SUB = "s";
-  public static final String F_PING = "ping";
-  public static final String F_PLAY = "play";
   public static final String F_PLAY_ON = "playon";
   public static final String F_SEEK = "seek";
   public static final String OPT_HDMI_AUDIO = "-o%20hdmi";
@@ -115,6 +115,23 @@
     }
     return antwort;
   }
+  
+  @Override
+  public StringBuilder buildParams(HttpExchange t, Map map) {
+    StringBuilder params = new StringBuilder();
+    params.append("-o ");
+    params.append(getParam(map, "o"));
+    params.append(" --threshold ");
+    params.append(getParam(map, "th"));
+    params.append(" --timeout ");
+    params.append(getParam(map, "ti"));
+    String log = getParam(map, "log");
+    if (log != null && log.equalsIgnoreCase("true")) {
+      params.append(" --genlog");
+    }
+    return params;
+  }
+  
     
   /**
    * Einen eventuell laufenden Abspielprozess beenden und den 
@@ -149,55 +166,6 @@
     return antwort;
   }
   */
-  
-  /**
-   * Dem laufenden Abspielprozess ein Kommando uebermitteln
-   * @param k  das Kommando laut 
-   * <a href="https://github.com/huceke/omxplayer/blob/master/README.md" target="_blank">Liste der Kommandos</a>
-   * @return die Antwort des Servers
-   */
-  @Override
-  public String kommando(String k) {
-    String antwort; // = null;
-    try {
-      //Object o = t.getAttribute(App.PI_PLAYER);
-      Process o = App.getPlayerProcess();
-      if(o == 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.";
-      } else {
-        Process player_process = o;
-        OutputStream os = player_process.getOutputStream();
-        Writer out = new BufferedWriter(new OutputStreamWriter(os));
-        out.write(k);
-        out.flush();
-        if(k.equals(CMD_STOP)) {
-          out.close();
-          
-          /*
-            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);
-          //servletContext.removeAttribute(PI_PLAYER);
-        }
-        antwort = "Kommando '" + k + "' ausgefuehrt.";
-      }
-    } 
-    catch(IOException ex) {
-      antwort = "Fehler: " + ex.getMessage();
-    }
-    return antwort;
-  }
   
   /* ------ Implementierung ProzessLauscher ----------------- */
   

--
Gitblit v1.9.3