From 60719cc5f0cdc13defcf73eb4a0701ee9b654289 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Thu, 25 Mar 2021 09:04:28 +0000
Subject: [PATCH] AGPL Header hinzugefuegt

---
 src/de/uhilger/avdirektor/handler/OMXPlayer.java |  116 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 61 insertions(+), 55 deletions(-)

diff --git a/src/de/uhilger/avdirektor/handler/OMXPlayer.java b/src/de/uhilger/avdirektor/handler/OMXPlayer.java
index 33cb7bc..7c0e407 100644
--- a/src/de/uhilger/avdirektor/handler/OMXPlayer.java
+++ b/src/de/uhilger/avdirektor/handler/OMXPlayer.java
@@ -1,6 +1,23 @@
+/*
+    AV-Direktor - Control OMXPlayer on Raspberry Pi via HTTP
+    Copyright (C) 2021  Ulrich Hilger
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License as
+    published by the Free Software Foundation, either version 3 of the
+    License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 package de.uhilger.avdirektor.handler;
 
-import com.sun.net.httpserver.HttpExchange;
 import de.uhilger.avdirektor.App;
 import de.uhilger.avdirektor.MeldeThread;
 import de.uhilger.avdirektor.ProzessLauscher;
@@ -11,9 +28,6 @@
 import java.io.Writer;
 import java.net.HttpURLConnection;
 import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -31,19 +45,56 @@
   
   private static final Logger logger = Logger.getLogger(OMXPlayer.class.getName());
   
+  public static final String CMD_STOP = "q";
+  public static final String CMD_DEC_SPEED = "1";
+  public static final String CMD_INC_SPEED = "2";
+  public static final String CMD_PREV_AUDIO = "j";
+  public static final String CMD_NEXT_AUDIO = "k";
+  public static final String CMD_PREV_CHAPTER = "i";
+  public static final String CMD_NEXT_CHAPTER = "o";
+  public static final String CMD_PREV_SUB = "n";
+  public static final String CMD_NEXT_SUB = "m";
+  public static final String CMD_TOGGLE_SUB = "s";
+  public static final String CMD_PAUSE_RESUME = "p";
+  public static final String CMD_DEC_VOL = "-";
+  public static final String CMD_INC_VOL = "+";
+  
+  public static final String PFEIL_LINKS = "5b44";
+  public static final String PFEIL_RECHTS = "5b43";
+  public static final String PFEIL_HERAUF = "5b41";
+  public static final String PFEIL_HERUNTER = "5b42";
+  
+  public static final String SP_RUECK_30 = "rueck30";
+  public static final String SP_VOR_30 = "rueck30";
+  public static final String SP_VOR_600 = "vor600";
+  public static final String SP_RUECK_600 = "rueck600";  
+
+  public static final String OPT_LOCAL_AUDIO = "-o%20local";
+  public static final String OPT_HDMI_AUDIO = "-o%20hdmi";
+  
+  public static final String F_PLAY = "play";
+  public static final String F_SEEK = "seek";
+  public static final String F_PING = "ping";
+
+  public static final String BLANK = " ";
+
   /**
    * Einen Prozess zum Abspielen mit dem omxplayer starten
    * @param urlStr  URL der Quelle, die abgespielt werden soll
    * @param token
    * @return Antwort des Servers
    */
+  /*
   public String abspielen(String urlStr, String token) {
     return abspielenMitParametern(urlStr, null, token);
   }
+  */
   
+  /*
   public String abspielenMitRueckmeldung(String urlStr, String meldeUrlStr, String token) {
     return abspielenMitParameternUndRueckmeldung(urlStr, null, meldeUrlStr, token);
   }
+  */
   
   /**
    * Einen Prozess zum Abspielen mit dem omxplayer starten 
@@ -57,11 +108,13 @@
    * @param token
    * @return Antwort des Servers
    */
+  /*
   public String abspielenMitParametern(String urlStr, String parameter, String token) {
     return abspielenMitParameternUndRueckmeldung(urlStr, parameter, null, token);
   }
+  */
   
-  public String abspielenMitParameternUndRueckmeldung(String urlStr, String parameter, String meldeUrlStr, String token) {
+  public String abspielen(String urlStr, String parameter, String meldeUrlStr, String token) {
     String antwort;// = null;
     try {
       //Object o = t.getAttribute(App.PI_PLAYER);
@@ -72,7 +125,7 @@
       StringBuilder kommando = new StringBuilder("omxplayer ");
       if(parameter != null) {
         kommando.append(parameter);
-        kommando.append(App.BLANK);
+        kommando.append(BLANK);
       }
       if(urlStr.startsWith("http")) {
         kommando.append(urlStr.replace(" ", "%20"));
@@ -141,7 +194,7 @@
         // t.removeAttribute(App.PI_PLAYER);
         antwort = "Es ist kein Player zum Beenden vorhanden, aber der Servlet-Kontext wurde bereinigt.";
       } else {
-        kommando(App.CMD_STOP);
+        kommando(CMD_STOP);
         //t.removeAttribute(PI_PLAYER);
         antwort = "Player gestoppt, Kontext bereinigt.";
       }
@@ -175,7 +228,7 @@
         Writer out = new BufferedWriter(new OutputStreamWriter(os));
         out.write(k);
         out.flush();
-        if(k.equals(App.CMD_STOP)) {
+        if(k.equals(CMD_STOP)) {
           out.close();
           App.setPlayerProcess(null);
           //player_process.destroy();
@@ -192,53 +245,6 @@
     return antwort;
   }
   
-  /* --- --- */
-  
-  protected String getParam(Map map, String key) {
-    Object o = map.get(key);
-    if(o != null) {
-      return o.toString();
-    } else {
-      return null;
-    }
-  }
-  
-  /*
-    Den Query-Teil einer URL in die Parameter zerlegen
-  */
-  protected Map getQueryMap(HttpExchange t) {
-    HashMap map = new HashMap();
-    String query = t.getRequestURI().getQuery();
-    if(query != null && query.length() > 0) {
-      String qParts[] = query.split("&");
-      for(String qPart : qParts) {
-        logger.finer("qPart: " + qPart);
-        String pParts[] = qPart.split("=");
-        map.put(pParts[0], pParts[1]);
-        logger.finer("pParts[0]: " + pParts[0] + ", pParts[1]: " + pParts[1]);
-      }
-    }
-    return map;
-  }
-  
-  protected String getResponseString(Map map, String cmd, String antwort) {
-    Set keys = map.keySet();
-    StringBuilder buf = new StringBuilder();
-    buf.append(cmd);
-    buf.append(System.lineSeparator());
-    keys.forEach((Object key) -> {
-      buf.append("key: ");
-      buf.append(key);
-      buf.append(System.lineSeparator());
-      buf.append("value: "); 
-      buf.append(map.get(key));
-      buf.append(System.lineSeparator());
-      //logger.log(Level.FINE, "key {0} value {1}", new Object[]{key, map.get(key)});
-    });
-    buf.append(antwort);
-    return buf.toString();
-  }
-    
   /* ------ Implementierung ProzessLauscher ----------------- */
   
   @Override

--
Gitblit v1.9.3