From f1eaa75a57147991e6021923b9d11cce2abf7724 Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Sat, 1 Dec 2018 14:01:50 +0100 Subject: [PATCH] Add error handler for the video player --- .../src/main/java/ctbrec/ui/PreviewPopupHandler.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/client/src/main/java/ctbrec/ui/PreviewPopupHandler.java b/client/src/main/java/ctbrec/ui/PreviewPopupHandler.java index 42d5d960..78eb1559 100644 --- a/client/src/main/java/ctbrec/ui/PreviewPopupHandler.java +++ b/client/src/main/java/ctbrec/ui/PreviewPopupHandler.java @@ -185,6 +185,7 @@ public class PreviewPopupHandler implements EventHandler { Collections.sort(sources); StreamSource best = sources.get(0); checkInterrupt(); + LOG.debug("Preview url for {} is {}", model.getName(), best.getMediaPlaylistUrl()); video = new Media(best.getMediaPlaylistUrl()); if(videoPlayer != null) { videoPlayer.dispose(); @@ -206,6 +207,7 @@ public class PreviewPopupHandler implements EventHandler { }); } }); + videoPlayer.setOnError(() -> onError(videoPlayer)); } catch (IllegalStateException e) { if(e.getMessage().equals("Stream url unknown")) { // fine hls url for mfc not known yet @@ -229,6 +231,16 @@ public class PreviewPopupHandler implements EventHandler { }); } + private void onError(MediaPlayer videoPlayer) { + LOG.error("Error while starting preview stream", videoPlayer.getError()); + if(videoPlayer.getError().getCause() != null) { + LOG.error("Error while starting preview stream root cause:", videoPlayer.getError().getCause()); + } + Platform.runLater(() -> { + showTestImage(); + }); + } + private void resize(double w, double h) { preview.setFitWidth(w); preview.setFitHeight(h);