Support transcoding solo2/duo2.
[vuplus_openvuplus] / meta-openvuplus / recipes-vuplus / e2openplugins / enigma2-plugin-extensions-openwebif / openwebif_8001_8002.patch
diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif/openwebif_8001_8002.patch b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif/openwebif_8001_8002.patch
new file mode 100644 (file)
index 0000000..909a9ae
--- /dev/null
@@ -0,0 +1,143 @@
+diff --git a/plugin/controllers/models/stream.py b/plugin/controllers/models/stream.py
+index fe4ddd4..71b1eaa 100644
+--- a/plugin/controllers/models/stream.py
++++ b/plugin/controllers/models/stream.py
+@@ -25,11 +25,21 @@ def getStream(session, request, m3ufile):
+       if "name" in request.args:
+               name = request.args["name"][0]
+       # #EXTINF:-1,%s\n  remove not compatiple with old api
+-      if sRef != '':
++
++      if "device" in request.args :
++              if request.args["device"][0] == "phone" :
++                      portNumber = 8002;
++              else :
++                      portNumber = config.OpenWebif.streamport.value
++      else : 
++              portNumber = config.OpenWebif.streamport.value
++      
++      if sRef != '' :
+               progopt="#EXTVLCOPT:program=%d\n" % (int(sRef.split(':')[3],16))
+       else:
+               progopt=""
+-      response = "#EXTM3U \n#EXTVLCOPT--http-reconnect=true \n%shttp://%s:%s/%s\n" % (progopt,request.getRequestHostname(),config.OpenWebif.streamport.value, sRef)
++      response = "#EXTM3U \n#EXTVLCOPT--http-reconnect=true \n%shttp://%s:%s/%s\n" % (progopt,request.getRequestHostname(), portNumber, sRef)
++      
+       request.setHeader('Content-Type', 'application/text')
+       return response
+diff --git a/plugin/controllers/views/ajax/channels.tmpl b/plugin/controllers/views/ajax/channels.tmpl
+index 5975ce8..2915c5b 100755
+--- a/plugin/controllers/views/ajax/channels.tmpl
++++ b/plugin/controllers/views/ajax/channels.tmpl
+@@ -12,9 +12,12 @@
+                                                       <a href="#" onclick="open_epg_pop('$channel.ref')">
+                                                       <img src="../images/ico_epg.png" title="Show EPG for $channel.name" border="0">
+                                                       </a>
+-                                                      <a target="_blank" href='/web/stream.m3u?ref=$channel.ref&name=$channel.name'>
++                                                      <a href="#" onclick="jumper8001('$channel.ref', '$channel.name');">
+                                                       <img align="top" src="../images/ico_stream.png" title="Stream $channel.name" border="0">
+                                                       </a>
++                                                      <a href="#" onclick="jumper8002('$channel.ref', '$channel.name');">
++                                                      <img align="top" src="../images/ico_stream.png" title="Stream Port 8002 $channel.name" border="0">
++                                                      </a>
+                                               </div>
+                                       
+ #if $channel.has_key('now_title')
+diff --git a/plugin/controllers/views/main.tmpl b/plugin/controllers/views/main.tmpl
+index 1844226..6dcfb66 100755
+--- a/plugin/controllers/views/main.tmpl
++++ b/plugin/controllers/views/main.tmpl
+@@ -9,6 +9,79 @@
+ <script type="text/javascript" src="/js/jquery-ui-1.8.18.custom.min.js"></script>\r
+ <script type="text/javascript" src="/js/openwebif.js"></script>\r
\r
++<script>\r
++\r
++      // VuPlus Port Jumper \r
++      // 2012.12.10\r
++\r
++      function getWinSize(win) {                      \r
++              if(!win) win = window;                  \r
++              var s = {};                     \r
++              \r
++              if(typeof win.innerWidth != "undefined") {\r
++                      s.screenWidth = win.screen.width;                               \r
++                      s.screenHeight = win.screen.height;                     \r
++              } else {\r
++                      s.screenWidth = 0;                              \r
++                      s.screenHeight = 0;                     \r
++              }                       \r
++\r
++              return s;               \r
++      }\r
++\r
++      function getDeviceType() {\r
++              var ss = getWinSize();  \r
++              var screenLen = 0;\r
++\r
++              // alert( ss.screenHeight );    \r
++              // alert( ss.screenWidth );     \r
++\r
++              if( ss.screenHeight > ss.screenWdith ) {                \r
++                      screenLen = ss.screenHeight;    \r
++              } else {                \r
++                      screenLen = ss.screenWidth;     \r
++              }       \r
++\r
++              if( screenLen < 500 ) {         \r
++                      return "phone"; \r
++              } else {\r
++                      return "tab";   }\r
++      }\r
++\r
++      function getOSType() {\r
++              var agentStr = navigator.userAgent;\r
++              \r
++              if(agentStr.indexOf("iPod") > -1 || agentStr.indexOf("iPhone") > -1)                            \r
++                      return "ios";   \r
++              else if(agentStr.indexOf("Android") > -1)               \r
++                      return "android";       \r
++              else            \r
++                      return "unknown";\r
++      }\r
++\r
++      function jumper8002( sref, sname ) {\r
++              var deviceType = getDeviceType();\r
++\r
++              document.portForm.ref.value = sref;\r
++              document.portForm.name.value = sname;\r
++\r
++              document.portForm.device.value = "phone";\r
++              document.portForm.submit();\r
++      }\r
++\r
++      function jumper8001( sref, sname ) {\r
++              var deviceType = getDeviceType();\r
++\r
++              document.portForm.ref.value = sref;\r
++              document.portForm.name.value = sname;\r
++\r
++              document.portForm.device.value = "etc";\r
++              document.portForm.submit();\r
++      }\r
++\r
++</script>\r
++\r
++\r
+ <title>Open Webif</title>\r
+ </head>\r
\r
+@@ -195,5 +268,12 @@
+                       <div id="footer"><h3>&nbsp;&nbsp;<a href="https://github.com/E2OpenPlugins">E2OpenPlugins</a> | <a href="http://www.vuplus-community.net">Black Hole</a> | <a href="http://openpli.org">OpenPli</a> | <a href="http://forum.sifteam.eu">Sif</a> | <a href="http://www.vuplus-support.org">Vti</a></h3></div>\r
+               </div>\r
+       </div>\r
++      \r
++      <form name="portForm" action="/web/stream.m3u" method="GET" target="_blank">\r
++              <input type="hidden" name="ref">\r
++              <input type="hidden" name="name">\r
++              <input type="hidden" name="device">\r
++      </form>\r
++      \r
+ </body>\r
+ </html>\r