[openwebif] support file transcoding.
[vuplus_openvuplus] / meta-openvuplus / recipes-vuplus / e2openplugins / files / openwebif-filestreamproxy-support.patch
diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif-filestreamproxy-support.patch b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif-filestreamproxy-support.patch
new file mode 100644 (file)
index 0000000..a530932
--- /dev/null
@@ -0,0 +1,128 @@
+diff --git a/plugin/controllers/ajax.py b/plugin/controllers/ajax.py
+index 1a60d78..4db8c5c 100644
+--- a/plugin/controllers/ajax.py
++++ b/plugin/controllers/ajax.py
+@@ -123,6 +123,11 @@ class AjaxController(BaseController):
+                       movies = getMovieList(request.args["dirname"][0])
+               else:
+                       movies = getMovieList()
++              info = getInfo()
++              model = info["model"]
++              movies['transcoding'] = False
++              if model in ("solo2", "duo2"):
++                      movies['transcoding'] = True
+               return movies
+       def P_workinprogress(self, request):
+diff --git a/plugin/controllers/models/stream.py b/plugin/controllers/models/stream.py
+index de2f6ed..2311c5b 100644
+--- a/plugin/controllers/models/stream.py
++++ b/plugin/controllers/models/stream.py
+@@ -73,7 +73,14 @@ def getTS(self,request):
+               else:
+                       progopt=""
+-              response = "#EXTM3U\n#EXTVLCOPT--http-reconnect=true \n%shttp://%s:%s/file?file=%s\n" % (progopt,request.getRequestHostname(), config.OpenWebif.port.value, quote(filename))
++              portNumber = config.OpenWebif.port.value
++              info = getInfo()
++              model = info["model"]
++              if model in ("solo2","duo2"):
++                      if "device" in request.args :
++                              if request.args["device"][0] == "phone" :
++                                      portNumber = 8003;
++              response = "#EXTM3U\n#EXTVLCOPT--http-reconnect=true \n%shttp://%s:%s/file?file=%s\n" % (progopt,request.getRequestHostname(), portNumber, quote(filename))
+               request.setHeader('Content-Type', 'application/text')
+               return response
+       else:
+diff --git a/plugin/controllers/views/ajax/movies.tmpl b/plugin/controllers/views/ajax/movies.tmpl
+index 6b0670c..7a026cf 100755
+--- a/plugin/controllers/views/ajax/movies.tmpl
++++ b/plugin/controllers/views/ajax/movies.tmpl
+@@ -49,19 +49,28 @@
+                                               </div>\r
+                                       #end if\r
+                               </div>\r
+-                              <div class="moviecontainer_right">\r
+-                                      <div style="padding: 3px; text-align: right;">\r
+-                                              <a target="_blank" href='/web/ts.m3u?file=$quote($movie.filename)'>\r
+-                                              <img align="top" src="../images/ico_stream.png" title="Stream $movie.eventname" border="0">\r
+-                                              </a>\r
+-                                              <a href='/file?action=download&file=$quote($movie.filename)'>\r
+-                                              <img align="top" src="../images/ico_download.png" title="Download $movie.eventname" border="0">\r
+-                                              </a>\r
+-                                              <a href='#' onClick="deleteMovie('$quote($movie.serviceref)', '$count'); return false;">\r
+-                                              <img src="../images/ico_delete.png" title="Delete Movie" border="0"></a>\r
+-                                              </a>\r
+-                                      </div>\r
+-                              </div>\r
++                                <div class="moviecontainer_right">\r
++                                        <div style="padding: 3px; text-align: right;">\r
++                                              #if $transcoding\r
++                                              <a href="#" onclick="jumper80('$quote($movie.filename)');">\r
++                                                <img align="top" src="../images/ico_stream.png" title="Stream $movie.eventname" border="0">\r
++                                                </a>\r
++                                                <a href="#" onclick="jumper8003('$quote($movie.filename)');">\r
++                                                <img align="top" src="../images/ico_stream.png" title="Stream(8003) $movie.eventname" border="0">\r
++                                                </a>\r
++                                              #else\r
++                                                <a target="_blank" href='/web/ts.m3u?file=$quote($movie.filename)'>\r
++                                                <img align="top" src="../images/ico_stream.png" title="Stream $movie.eventname" border="0">\r
++                                                </a>\r
++                                              #end if\r
++                                                <a href='/file?action=download&file=$quote($movie.filename)'>\r
++                                                <img align="top" src="../images/ico_download.png" title="Download $movie.eventname" border="0">\r
++                                                </a>\r
++                                                <a href='#' onClick="deleteMovie('$quote($movie.serviceref)', '$count'); return false;">\r
++                                                <img src="../images/ico_delete.png" title="Delete Movie" border="0"></a>\r
++                                                </a>\r
++                                        </div>\r
++                                </div>\r
+                               <div style="clear: both;"></div>\r
+                               #set $count += 1\r
+                       </div>\r
+@@ -72,4 +81,4 @@
\r
+ <script type="text/javascript">\r
+ \$('#moviebuttons').buttonset();\r
+-</script>
+\ No newline at end of file
++</script>\r
+diff --git a/plugin/controllers/views/main.tmpl b/plugin/controllers/views/main.tmpl
+index 760bab8..fc217a7 100755
+--- a/plugin/controllers/views/main.tmpl
++++ b/plugin/controllers/views/main.tmpl
+@@ -202,5 +202,9 @@
+               <input type="hidden" name="name">\r
+               <input type="hidden" name="device">\r
+       </form>\r
++      <form name="portFormTs" action="/web/ts.m3u" method="GET" target="_blank">\r
++              <input type="hidden" name="file">\r
++              <input type="hidden" name="device">\r
++      </form>\r
+ </body>\r
+ </html>\r
+diff --git a/plugin/public/js/transcoding.js b/plugin/public/js/transcoding.js
+index 8729835..785a4b7 100644
+--- a/plugin/public/js/transcoding.js
++++ b/plugin/public/js/transcoding.js
+@@ -41,6 +41,20 @@ function getOSType() {
+               return "unknown";
+ }
++function jumper80( file ) {
++      var deviceType = getDeviceType();
++      document.portFormTs.file.value = file;
++      document.portFormTs.device.value = "etc";
++      document.portFormTs.submit();
++}
++
++function jumper8003( file ) {
++      var deviceType = getDeviceType();
++      document.portFormTs.file.value = file;
++      document.portFormTs.device.value = "phone";
++      document.portFormTs.submit();
++}
++
+ function jumper8002( sref, sname ) {
+       var deviceType = getDeviceType();
+       document.portForm.ref.value = sref;