From b8f54a31743133ed69d8119bfdea9be9e8b1ed9d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 10 Jun 2015 23:01:41 -0400 Subject: [PATCH] fix build --- dashboard-ui/scripts/htmlmediarenderer.js | 6 +++ dashboard-ui/scripts/mediaplayer.js | 5 +- dashboard-ui/scripts/site.js | 4 +- .../thirdparty/cordova/android/vlcplayer.js | 48 +++++++++++++++++-- .../thirdparty/jquery.unveil-custom.js | 8 ++++ 5 files changed, 62 insertions(+), 9 deletions(-) diff --git a/dashboard-ui/scripts/htmlmediarenderer.js b/dashboard-ui/scripts/htmlmediarenderer.js index c6831e771a..8c516fbed8 100644 --- a/dashboard-ui/scripts/htmlmediarenderer.js +++ b/dashboard-ui/scripts/htmlmediarenderer.js @@ -159,6 +159,12 @@ return null; }; + self.stop = function () { + if (mediaElement) { + mediaElement.pause(); + } + }; + self.pause = function () { if (mediaElement) { mediaElement.pause(); diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 511b338175..52597b6a6d 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -1338,7 +1338,7 @@ if (mediaRenderer) { - mediaRenderer.pause(); + mediaRenderer.stop(); $(mediaRenderer).off("ended.playnext").one("ended", function () { @@ -1654,9 +1654,10 @@ var mediaRenderer = getAudioRenderer(); - mediaRenderer.setCurrentSrc(audioUrl); + // Set volume first to avoid an audible change mediaRenderer.volume(initialVolume); mediaRenderer.setPoster(self.getPosterUrl(item)); + mediaRenderer.setCurrentSrc(audioUrl); $(mediaRenderer).on("volumechange.mediaplayerevent", function () { diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index c98a954d10..0f01e334b6 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1958,8 +1958,8 @@ var AppInfo = {}; } if (Dashboard.isRunningInCordova() && $.browser.android) { - //define("audiorenderer", ["thirdparty/cordova/android/vlcplayer"]); - define("audiorenderer", ["scripts/htmlmediarenderer"]); + define("audiorenderer", ["thirdparty/cordova/android/vlcplayer"]); + //define("audiorenderer", ["scripts/htmlmediarenderer"]); define("videorenderer", ["scripts/htmlmediarenderer"]); } else { diff --git a/dashboard-ui/thirdparty/cordova/android/vlcplayer.js b/dashboard-ui/thirdparty/cordova/android/vlcplayer.js index 0fa3db8c8c..c48fda5e04 100644 --- a/dashboard-ui/thirdparty/cordova/android/vlcplayer.js +++ b/dashboard-ui/thirdparty/cordova/android/vlcplayer.js @@ -49,7 +49,7 @@ self.currentTime = function (val) { if (val != null) { - AndroidVlcPlayer.setPosition(val); + AndroidVlcPlayer.sendVlcCommand("setposition", val.toString()); return; } @@ -65,18 +65,22 @@ return null; }; + self.stop = function () { + AndroidVlcPlayer.sendVlcCommand("stop", null); + }; + self.pause = function () { - AndroidVlcPlayer.pause(); + AndroidVlcPlayer.sendVlcCommand("pause", null); }; self.unpause = function () { - AndroidVlcPlayer.unpause(); + AndroidVlcPlayer.sendVlcCommand("unpause", null); }; self.volume = function (val) { if (playerState) { if (val != null) { - AndroidVlcPlayer.setVolume(val); + AndroidVlcPlayer.sendVlcCommand("setvolume", (val * 100).toString()); return; } @@ -88,6 +92,7 @@ if (!val) { self.destroy(); + return; } if (type == 'audio') { @@ -95,6 +100,8 @@ } else { AndroidVlcPlayer.playVideoVlc(val); } + + playerState.currentSrc = val; }; self.currentSrc = function () { @@ -114,12 +121,43 @@ self.destroy = function () { - AndroidVlcPlayer.destroy(); + AndroidVlcPlayer.destroyVlc(); playerState = {}; }; self.setPoster = function (url) { }; + + self.report = function (eventName, duration, position, isPaused, volume) { + + var state = playerState; + console.log('Vlc: ' + eventName + ' - ' + position + ' - ' + duration); + state.duration = duration; + state.currentTime = position; + state.isPaused = isPaused; + state.volume = (volume || 0) / 100; + + if (eventName == 'playbackstop') { + onEnded(); + } + else if (eventName == 'volumechange') { + onVolumeChange(); + } + else if (eventName == 'positionchange') { + onTimeUpdate(); + } + else if (eventName == 'paused') { + onPause(); + } + else if (eventName == 'unpaused') { + onPlaying(); + } + else if (eventName == 'playing') { + onPlaying(); + } + }; + + window.AudioRenderer.Current = self; } window.AudioRenderer = vlcRenderer; diff --git a/dashboard-ui/thirdparty/jquery.unveil-custom.js b/dashboard-ui/thirdparty/jquery.unveil-custom.js index 3fb49336cf..85504b0e43 100644 --- a/dashboard-ui/thirdparty/jquery.unveil-custom.js +++ b/dashboard-ui/thirdparty/jquery.unveil-custom.js @@ -18,6 +18,14 @@ // If less than 100, the search window ends up not getting images // If less than 200, this happens on the home page // Need to fix those before this can be set to 0 + + // Non-ios browsers can generally handle a higher value and still perform well + // This helps eliminate the draw-in effect as you scroll + if (!$.browser.ipad && !$.browser.iphone) { + return 1000; + //return Math.max(screen.height, screen.width, 1000); + } + return 500; }