UNPKG

magcore-plugin-pvr

Version:

PVR plugin for magsdk applications.

2 lines 10.6 kB
module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";function r(){this.events={}}r.prototype={addListener:function(e,t){this.events[e]=this.events[e]||[],this.events[e].push(t)},once:function(e,t){var n=this;this.events[e]=this.events[e]||[],this.events[e].push(function r(){n.removeListener(e,r),t.apply(n,arguments)})},addListeners:function(e){var t;for(t in e)e.hasOwnProperty(t)&&this.addListener(t,e[t])},removeListener:function(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(function(e){return e!==t}),0===this.events[e].length&&(this.events[e]=void 0))},emit:function(e){var t,n=this.events[e];if(n)for(t=0;t<n.length;t++)n[t].apply(this,Array.prototype.slice.call(arguments,1))}},r.prototype.constructor=r,e.exports=r},function(e,t,n){"use strict";var r,a,o=n(0),i=n(2),s=n(4),d=new o,l={},c=["","Scheduled recording","Recording","Recording error!","Recorded"],u={WAITING:1,RECORDING:2,ERROR:3,FINISHED:4},g={badArgument:{code:"-1",message:"Wrong record parameters."},notEnoughMemory:{code:"-2",message:"Not enough memory."},wrongRange:{code:"-3",message:"Wrong record range. Record length must be less than 24 hours."},taskWasNotFound:{code:"-4",message:"Task with specified ID was not found."},wrongFileName:{code:"-5",message:"Wrong file name. Folder where you want to save recording must exist."},duplicateTasks:{code:"-6",message:"Record with that name already exists."},badStream:{code:"-7",message:"Error opening stream URL."},errorOpeningFile:{code:"-8",message:"Error opening output file."},tasksLimit:{code:"-9",message:"Maximum number of simultaneous recording is exceeded."},gotEndOfStream:{code:"-10",message:"Records app got a thread exit notification. File record is over."},errorWritingFile:{code:"-11",message:"Error writing file. Probably the disk is full or has been disconnected during recording."},wrongUrl:{code:"-12",message:"Wrong record url."},wrongFilename:{code:"-13",message:"Wrong file name."},wrongStartTime:{code:"-14",message:"Wrong record start time."},wrongEndtime:{code:"-15",message:"Wrong record end time."},wrongObject:{code:"-16",message:"Bad record."}},m={"-1":"badArgument","-2":"notEnoughMemory","-3":"wrongRange","-4":"taskWasNotFound","-5":"wrongFileName","-6":"duplicateTasks","-7":"badStream","-8":"errorOpeningFile","-9":"tasksLimit","-10":"gotEndOfStream","-11":"errorWritingFile","-12":"wrongUrl","-13":"wrongFilename","-14":"wrongStartTime","-15":"wrongEndtime","-16":"wrongObject"};function p(e){o.call(this),this.data={id:e.id,state:e.state,url:e.url,path:e.path,channel:e.channel,name:e.name,startTime:e.startTime,endTime:e.endTime,progress:e.progress,server:e.server,errorCode:e.errorCode}}function f(){var e=this,t={};o.call(this),this.list=[],r.rawDataList.forEach(function(t){e.list.push(new p(t))}),t.onChange=function(t){var n=e.list[r.idToIndexHash[t.id]],a=n.data.state;n.data.state=t.state,n.events["state"]&&n.emit("state",{item:n,curr:n.data.state,old:a,time:Date.now()})},t.onAdd=function(t){e.list.push(new p(t)),e.events["add"]&&e.emit("add",{item:e.list[e.list.length-1],time:Date.now()})},t.onRemove=function(t,n){e.events["remove"]&&e.emit("remove",{item:e.list.splice(n,1)[0],time:Date.now()})},t.onProgress=function(t){var n=e.list[r.idToIndexHash[t.id]],a=n.data.progress;n.data.progress=t.progress,n.events["progress"]&&n.emit("progress",{item:n,curr:n.data.progress,old:a,time:Date.now()})},r.triggers.push(t),this.destroy=function(){r.triggers.splice(r.triggers.indexOf(t),1),this.events={},this.list=[]}}(r={checkTimerId:0,checkTime:2e3,triggers:[],lostEvents:{remove:{},add:{}},rawDataList:[],idToIndexHash:{},sync:function(){var e,t,n,a;if(r.triggers.length||l.isActive){try{e=JSON.parse(pvrManager.GetAllTasks())}catch(t){e=[]}for(n=0;n<e.length;n++)void 0===(t=r.idToIndexHash[e[n].id])?(r.rawDataList.push({id:e[n].id,state:e[n].state,url:e[n].url,path:e[n].fileName,channel:e[n].fileName.split("records/")[1].split("/")[0],name:e[n].fileName.split("/").pop(),startTime:e[n].startTime,endTime:e[n].endTime,progress:e[n].state===u.FINISHED?100:0,server:!1,errorCode:e[n].errorCode}),r.idToIndexHash[e[n].id]=r.rawDataList.length-1,r.lostEvents.add[e[n].fileName]&&("function"==typeof r.lostEvents.add[e[n].fileName]&&r.lostEvents.add[e[n].fileName](r.rawDataList[r.rawDataList.length-1]),delete r.lostEvents.add[e[n].fileName]),r.triggers.forEach(o),l.addItem(r.rawDataList[r.rawDataList.length-1])):(e[n].state!==u.RECORDING&&e[n].state!==u.FINISHED||(a=(a=(a=Math.ceil((Date.now()/1e3-e[n].startTime)/(e[n].endTime-e[n].startTime)*100))<0?0:a)>100?100:a)!==r.rawDataList[t].progress&&(r.rawDataList[t].progress=a,r.triggers.forEach(i),l.emitProgress(r.rawDataList[t])),e[n].state!==r.rawDataList[t].state&&(r.rawDataList[t].state=e[n].state,r.rawDataList[t].errorCode=e[n].errorCode,r.triggers.forEach(s),l.emitChange(r.rawDataList[t])));e.length!==r.rawDataList.length&&function(e,t){var n,r,a,o=e.length,i=t.length,s=[];for(a=0;a<o;a++){for(n=r=0;n<i&&t[n].id!==e[a].id;)n++;for(;r<s.length&&s[r].id!==e[a].id;)r++;n===i&&r===s.length&&(s[s.length]=e[a])}return s}(r.rawDataList,e).forEach(function(e){var t,n=r.rawDataList.indexOf(e);r.lostEvents.remove[e.path]&&("function"==typeof r.lostEvents.remove[e.path]&&r.lostEvents.remove[e.path](e),delete r.lostEvents.remove[e.path]),t=r.rawDataList.splice(n,1),r.triggers.forEach(function(t){"function"==typeof t.onRemove&&t.onRemove(e,n)}),l.removeItem(t[0])})}function o(e){"function"==typeof e.onAdd&&e.onAdd(r.rawDataList[r.rawDataList.length-1])}function i(e){"function"==typeof e.onProgress&&e.onProgress(r.rawDataList[t])}function s(e){"function"==typeof e.onChange&&e.onChange(r.rawDataList[t])}}}).sync(),r.checkTimerId=window.setInterval(r.sync,r.checkTime),p.prototype=Object.create(o.prototype),p.prototype.constructor=p,p.prototype.stop=function(e){pvrManager.ChangeEndTime(this.data.id,Math.ceil(Date.now()/1e3)),"function"==typeof e&&e({item:this},null)},p.prototype.states=u,f.prototype=Object.create(o.prototype),f.prototype.constructor=f,f.prototype.recordStates=u,f.prototype.add=function(e,t){var n,a;"function"==typeof t&&(e.channel?e.name&&"string"==typeof e.name?e.startTime?e.endTime?(a=e.name.split("/").map(function(e,t,n){var r;return(e=(e||"").trim()).length>=247&&(t===n.length-1?(r="."+e.split(".").pop(),e=e.substring(0,247-r.length),e+=r):e=e.substring(0,247)),e}),e.name=a.join("/"),r.lostEvents.add[e.name]=t,n=pvrManager.CreateTask(e.channel,e.name,e.startTime,e.endTime),m[n]&&(t(null,g[m[n]]),delete r.lostEvents.add[e.name])):t(null,g.wrongObject):t(null,g.wrongStartTime):t(null,g.wrongFileName):t(null,g.wrongUrl))},f.prototype.remove=function(e,t,n){t=t||{},"function"==typeof n&&(e&&e instanceof p?(r.lostEvents.remove[e.data.path]=n,pvrManager.RemoveTask(e.data.id,t.deleteFile?3:1)):n(null,g.wrongObject))},l={isActive:!1,idToIndexHash:{},list:[],emitChange:function(e){try{l.idToIndexHash[e.id].state=c[e.state],l.idToIndexHash[e.id].emit("change")}catch(e){}},emitProgress:function(e){try{l.idToIndexHash[e.id].progress=e.progress,l.idToIndexHash[e.id].emit("change")}catch(e){}},addItem:function(e){var t=new o;t.id=e.id,t.layout=s.layouts.record,t.geometry=s.geometry.horizontal,t.state=c[e.state],t.progress=e.progress,t.data={name:e.name,url:e.path,mime:"content/video"},l.idToIndexHash[e.id]=t,l.list.push(t);try{d.emit("add",[t])}catch(e){}},removeItem:function(e){var t=l.list.splice(l.list.indexOf(l.idToIndexHash[e.id]),1);delete l.idToIndexHash[e.id];try{d.emit("remove",t)}catch(e){}}},d.init=function(e,t){this.api=e,l.isActive=!0,t({provider:d,data:r.rawDataList.map(function(e){var t=new o;return t.id=e.id,t.layout=s.layouts.record,t.geometry=s.geometry.horizontal,t.state=c[e.state],t.progress=e.progress,t.data={name:e.name,url:e.path,mime:"content/video"},l.idToIndexHash[e.id]=t,l.list.push(t),t})})},d.search=function(e,t){t(!1,l.list.map(function(t){if(-1!==t.data.name.indexOf(e))return t}))},e.exports={onInit:function(e,t){i.load({name:window.core.environment.language,path:e.path+"lang"},function(){a=i.gettext,c=["",a("Scheduled recording"),a("Recording"),a("Recording error!"),a("Recorded")],t()})},onAppInit:function(e,t){t(null,new f)},onContentBoardInit:function(e,t){d.init(e.api,function(e){t(null,e)})}}},function(e,t,n){"use strict";var r=n(0),a=n(3),o=new r;function i(e){var t=new a(e);o._=o.gettext=t.gettext,o.pgettext=t.pgettext,o.ngettext=t.ngettext}o.defaultLanguage="en",o.load=function(e,t){var n;t=t||null,e.ext=e.ext||"json",e.path=e.path||"lang",e.name===o.defaultLanguage?(i(),null!==t&&t(null)):((n=new XMLHttpRequest).onload=function(){var e,r;try{r=JSON.parse(n.responseText)}catch(t){e=t}e?n.onerror(e):(i(r),null!==t&&t(null),o.events["load"]&&o.emit("load"))},n.ontimeout=n.onerror=function(e){i(),null!==t&&t(null),o.events["error"]&&o.emit("error",e)},n.open("GET",e.path+"/"+e.name+"."+e.ext,!0),n.send(null))},e.exports=o},function(module,exports,__webpack_require__){"use strict";function Gettext(config){var data,meta;config=config||{},data=config.data||{},data[""]=data[""]||{},meta=config.meta,this.gettext=function(e){return data[""][e]||e},this.pgettext=function(e,t){return data[e]&&data[e][t]||t},this.ngettext=function(msgId,plural,value){var n,evalResult;return data&&meta&&data[""][msgId]?(evalResult=eval("n = "+value+"; "+meta.plural),"boolean"==typeof evalResult&&(evalResult=+evalResult),data[""][msgId][evalResult]):1===value?msgId:plural}}Gettext.prototype.constructor=Gettext,module.exports=Gettext},function(e,t,n){"use strict";e.exports={layouts:{tvChannel:1,video:2,record:3,static:4,application:5},geometry:{square:1,horizontal:2,vertical:3,round:4},actions:{favorite:1,accessControl:2,expandItemContent:3}}}]); //# sourceMappingURL=main.js.map