summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM. Voerman <rekordc@gmail.com>2013-01-25 12:36:24 +0100
committerM. Voerman <rekordc@gmail.com>2013-01-25 12:36:24 +0100
commitec8a73c7431a9a09848f1d06ca7ccb8b8fc8bc0e (patch)
treeccd8e6fe89dc4607fc7e1d04d2c5c9e62c78c662
parent7129985c3eb6d05afe7e1546e5071641496b0760 (diff)
downloadvdr-vipclient-ec8a73c7431a9a09848f1d06ca7ccb8b8fc8bc0e.tar.gz
vdr-vipclient-ec8a73c7431a9a09848f1d06ca7ccb8b8fc8bc0e.tar.bz2
Resume added
-rw-r--r--History3
-rw-r--r--index.html43
-rw-r--r--settings.js29
3 files changed, 56 insertions, 19 deletions
diff --git a/History b/History
index d312ef6..bd55a08 100644
--- a/History
+++ b/History
@@ -1,4 +1,5 @@
-0.14
+0.14 Resume add. (Uses "VDR on SmartTV" plugin)
+
0.13 Bug fixes.
Cosmetic fixes.
diff --git a/index.html b/index.html
index d10ffd9..cf050d8 100644
--- a/index.html
+++ b/index.html
@@ -217,7 +217,7 @@ function onDataAvailableEvent(event) {
function updateStreamInfo() {
-alert("What can this stream do : " + mediaPlayer.getCapabilities());
+//alert("What can this stream do : " + mediaPlayer.getCapabilities());
var mpCap = "";
if (mediaPlayer.getCapabilities() & 1) {
// bit is set
@@ -247,7 +247,7 @@ if (mediaPlayer.getCapabilities() & 64) {
// bit is set
mpCap = mpCap + "CAPABILITY_TIMESHIFT ";
}
- alert (mpCap);
+// alert (mpCap);
var streamInfo = mediaPlayer.getStreamInfo();
var cList = streamInfo.availableComponents;
@@ -1848,7 +1848,7 @@ try {
// MPD Section
function MPD(ev) {
- alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code);
+// alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code);
if ( ev.state == 6 && ev.reason == "HostUnreachable" ) {
showDisplay("ERRR", false, 100, 0 );
@@ -1972,7 +1972,7 @@ if (DelisOK) {
case "Accept":
case "MediaPlayPause":
mediaList.style.opacity = 0;
- setTimeout("GetMarks(); position = 0; playRec(recLink[currMed]);",100);
+ setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?time=' + position);",100);
break;
case "Red":
DelRec();
@@ -2136,6 +2136,7 @@ if (DelisOK) {
}
break;
case "MediaStop":
+ setResume();
osdepginfo.style.opacity = 0;
isFullscreen = 0; play(channels[currChan]); isFullscreen = 1;
if (isRecording == 1) {
@@ -2242,6 +2243,7 @@ try {
recDura[i] = (x[i].getElementsByTagName("duration")[0].childNodes[0].nodeValue);
recStrt[i] = (x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue);
rec_New[i] = (x[i].getElementsByTagName("isnew")[0].childNodes[0].nodeValue);
+ recGUID[i] = (x[i].getElementsByTagName("guid")[0].childNodes[0].nodeValue);
}
MakeRecList();
getRecOK = 1;
@@ -2265,13 +2267,40 @@ try {
{
var y = x[i].childNodes[0].nodeValue.split(":");
recMark[i] = Number(y[0]*3600) + Number(y[1]*60) + Number(y[2]);
- alert(recMark[i]);
+// alert(recMark[i]);
}
} catch(e) {
alert("Getting Marks problem: " + e);
}
}
+function setResume() {
+try {
+ var xmlhttp = new XMLHttpRequest();
+ xmlhttp.open("POST", recServ + "/setResume.xml?guid=" + recGUID[currMed] + "&resume=" + position, false);
+ xmlhttp.send();
+ } catch(e) {
+ alert("Setting Resume problem: " + e);
+ }
+
+}
+
+function getResume() {
+position = 0;
+try {
+ var xmlhttp = new XMLHttpRequest();
+ xmlhttp.open("GET", recServ + "/getResume.xml?guid=" + recGUID[currMed], false);
+ xmlhttp.send();
+ xmlDoc=xmlhttp.responseXML;
+ position = Number(xmlDoc.getElementsByTagName("resume")[0].childNodes[0].nodeValue);
+ } catch(e) {
+ alert("Getting Resume problem: " + e);
+ }
+
+}
+
+
+
function DelRec() {
try {
@@ -2432,7 +2461,7 @@ function recordStop() {
}
function onStateChanged(ev) {
- alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code);
+// alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code);
if ( ( ev.state == 6 && ev.reason == "HostUnreachable" ) || ( ev.state == 2 && ev.reason == "PositionEnd" )) {
BackToTV();
@@ -2449,7 +2478,7 @@ function BackToTV() {
function onRecorderStateChanged(event) {
- alert("EVENT! " + event.reason + " *** " + event.state);
+// alert("EVENT! " + event.reason + " *** " + event.state);
RECicon = "\uE003"; // 0xE003 0x83 Fixed width blank
switch (event.state) {
case mediaRecorder.STATE_IDLE:
diff --git a/settings.js b/settings.js
index 477f3b3..2657fc9 100644
--- a/settings.js
+++ b/settings.js
@@ -9,6 +9,15 @@
var Xfactor = 1280 / 720;
var Yfactor = 720 / 576;
+var server_ip = "http://192.168.3.15";
+var StartVolume = 15; // Volume on (re)start of the portal.
+var currChan = 10; // default channel
+
+//
+//
+//
+//
+//
var showClock = 0; // 0 = no, 1 = yes
var SwitchGuide = 0; // 0 = no, 1 = yes
@@ -27,15 +36,12 @@ NN[3] = "TIMER";
NN[4] = "-----";
var ShowProtectedChannels = 1; // Default don't show protected channels.
-var StartVolume = 30; // Volume on (re)start of the portal.
var VolumeStep = 5; // Steps the volume buttons make
-var currChan = 10; // default channel
var ChanGroup = 0; // default TV group
var minChan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels.
// Server for Recordings
-var server_ip = "http://192.168.3.15";
var recServ = server_ip + ":8000";
var RestFulAPI = server_ip + ":8002";
var MPDAddress = server_ip + ":8888";
@@ -210,14 +216,15 @@ var audiotype = 0; // used for selecting "cfg.media.audio.typepriority","normal,
var subsmode = 0; // "cfg.media.subtitling.modepriority","Teletext,DVB"
var substype = 0; // "cfg.media.subtitling.typepriority","normal,hearing_impaired"
-var recTitl = new Array();
-var recLink = new Array();
-var recDesc = new Array();
-var recDura = new Array();
-var recStrt = new Array();
-var recList = new Array();
-var recMark = new Array();
-var rec_New = new Array();
+var recTitl = new Array(); // title of recording
+var recLink = new Array(); // link to get recording
+var recDesc = new Array(); // description of the recording
+var recDura = new Array(); // duration of the recording
+var recStrt = new Array(); // date of recording
+var recList = new Array(); // used to verify if the right recording is going to be deleted
+var recMark = new Array(); // marks made in the recording, eg by Noad, Markad
+var rec_New = new Array(); // Flag if recording is new (unseen)
+var recGUID = new Array(); // GUID of recording
var posMark = 0;
var recMap = 0;