# HG changeset patch
# User veltr
# Date 1359470321 -3600
# Node ID 2b036bd80f6db72954e0dd27ca52f68ae524b33b
# Parent 6a90c96f0b4c6a9427380180e10ebb6b6da9ae80
Added a placeholder player for video-less tests
diff -r 6a90c96f0b4c -r 2b036bd80f6d src/widgets/PlaceholderPlayer.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/widgets/PlaceholderPlayer.css Tue Jan 29 15:38:41 2013 +0100
@@ -0,0 +1,5 @@
+.Ldt-PlaceholderPlayer {
+ font-size: 40px; text-align: center;
+ padding: 20px 0; font-weight: bolder;
+ background: #333333; color: #FFFFFF;
+}
diff -r 6a90c96f0b4c -r 2b036bd80f6d src/widgets/PlaceholderPlayer.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/widgets/PlaceholderPlayer.js Tue Jan 29 15:38:41 2013 +0100
@@ -0,0 +1,63 @@
+/* This is a fake player, for when no video is available */
+
+IriSP.Widgets.PlaceholderPlayer = function(player, config) {
+ IriSP.Widgets.Widget.call(this, player, config);
+};
+
+IriSP.Widgets.PlaceholderPlayer.prototype = new IriSP.Widgets.Widget();
+
+IriSP.Widgets.PlaceholderPlayer.prototype.defaults = {
+}
+
+IriSP.Widgets.PlaceholderPlayer.prototype.template = '
(loading)
';
+
+IriSP.Widgets.PlaceholderPlayer.prototype.draw = function() {
+
+ this.renderTemplate();
+
+ var paused = true,
+ timeDelta = 0,
+ currentTime = new IriSP.Model.Time(0),
+ media = this.media,
+ sel = this.$.find(".Ldt-PlaceholderPlayer");
+
+ function updateTime() {
+ if (!paused) {
+ currentTime = new IriSP.Model.Time(new Date().valueOf() - timeDelta);
+ if (currentTime <= media.duration) {
+ media.trigger("timeupdate", currentTime);
+ setTimeout(updateTime, 100);
+ } else {
+ currentTime = media.duration;
+ media.pause();
+ }
+ }
+ sel.text(currentTime.toString(true));
+ }
+
+
+ // Binding functions to Popcorn
+ media.on("setcurrenttime", function(_milliseconds) {
+ timeDelta = new Date().valueOf() - _milliseconds;
+ currentTime = new IriSP.Model.Time(_milliseconds);
+ media.trigger("seeked");
+ media.trigger("timeupdate", currentTime);
+ sel.text(currentTime.toString(true));
+ });
+
+ media.on("setplay", function() {
+ paused = false;
+ timeDelta = new Date().valueOf() - currentTime
+ media.trigger("play");
+ updateTime();
+ });
+
+ media.on("setpause", function() {
+ paused = true;
+ media.trigger("pause");
+ updateTime();
+ });
+
+ media.trigger("loadedmetadata");
+
+}
\ No newline at end of file
diff -r 6a90c96f0b4c -r 2b036bd80f6d test/index.htm
--- a/test/index.htm Mon Jan 28 18:17:26 2013 +0100
+++ b/test/index.htm Tue Jan 29 15:38:41 2013 +0100
@@ -11,9 +11,10 @@
Metadataplayer test configurations
+
-
-
+
+
diff -r 6a90c96f0b4c -r 2b036bd80f6d test/placeholderplayer.htm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/placeholderplayer.htm Tue Jan 29 15:38:41 2013 +0100
@@ -0,0 +1,61 @@
+
+
+
+
+
+ Metadataplayer test with Placeholder Player
+
+
+
+
+
+ Metadataplayer test with Placeholder Player
+
+
+
+
+
+