Better error reporting for errors when sending video to dreambox
[playVideoOnDreamboxProxy.git] / www / play.php
index 5d631a00f1cef370e9e3b95f7d610f886d7ae009..810995123a9881030249c296421364ec3b657b45 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 $youtubedlPath = '/usr/bin/youtube-dl';
-$dreamboxHost  = 'dreambox';
+$dreamboxUrl   = 'http://dreambox';
 
 require_once __DIR__ . '/functions.php';
 $cfgFile = __DIR__ . '/../data/config.php';
@@ -8,6 +8,8 @@ if (file_exists($cfgFile)) {
     include $cfgFile;
 }
 
+set_error_handler('errorHandlerStore');
+
 $pageUrl  = getPageUrl();
 $json     = getYoutubeDlJson($pageUrl, $youtubedlPath);
 $videoUrl = extractVideoUrlFromJson($json);
@@ -16,23 +18,27 @@ if (php_sapi_name() == 'cli') {
 } else {
     header('Video-URL: ' . $videoUrl);
 }
-playVideoOnDreambox($videoUrl, $dreamboxHost);
+playVideoOnDreambox($videoUrl, $dreamboxUrl);
 
 
 function errorInput($msg)
 {
-    header('HTTP/1.0 400 Bad Request');
-    header('Content-type: text/plain');
+    if (!headers_sent()) {
+        header('HTTP/1.0 400 Bad Request');
+        header('Content-type: text/plain');
+    }
     echo $msg . "\n";
     exit(1);
 }
 
 function errorOut($msg, $httpStatus = '500 Internal Server Error')
 {
-    header('HTTP/1.0 ' . $httpStatus);
-    header('Content-type: text/plain');
+    if (!headers_sent()) {
+        header('HTTP/1.0 ' . $httpStatus);
+        header('Content-type: text/plain');
+    }
     echo $msg . "\n";
     syslog(LOG_ERR, 'playVideoOnDreamboxProxy: ' . $httpStatus . ': ' . $msg);
     exit(2);
 }
-?>
\ No newline at end of file
+?>