[openwebif] support file transcoding.
[vuplus_openvuplus] / meta-openvuplus / recipes-vuplus / e2openplugins / files / openwebif-filestreamproxy-support.patch
1 diff --git a/plugin/controllers/ajax.py b/plugin/controllers/ajax.py
2 index 1a60d78..4db8c5c 100644
3 --- a/plugin/controllers/ajax.py
4 +++ b/plugin/controllers/ajax.py
5 @@ -123,6 +123,11 @@ class AjaxController(BaseController):
6                         movies = getMovieList(request.args["dirname"][0])
7                 else:
8                         movies = getMovieList()
9 +               info = getInfo()
10 +               model = info["model"]
11 +               movies['transcoding'] = False
12 +               if model in ("solo2", "duo2"):
13 +                       movies['transcoding'] = True
14                 return movies
15  
16         def P_workinprogress(self, request):
17 diff --git a/plugin/controllers/models/stream.py b/plugin/controllers/models/stream.py
18 index de2f6ed..2311c5b 100644
19 --- a/plugin/controllers/models/stream.py
20 +++ b/plugin/controllers/models/stream.py
21 @@ -73,7 +73,14 @@ def getTS(self,request):
22                 else:
23                         progopt=""
24  
25 -               response = "#EXTM3U\n#EXTVLCOPT--http-reconnect=true \n%shttp://%s:%s/file?file=%s\n" % (progopt,request.getRequestHostname(), config.OpenWebif.port.value, quote(filename))
26 +               portNumber = config.OpenWebif.port.value
27 +               info = getInfo()
28 +               model = info["model"]
29 +               if model in ("solo2","duo2"):
30 +                       if "device" in request.args :
31 +                               if request.args["device"][0] == "phone" :
32 +                                       portNumber = 8003;
33 +               response = "#EXTM3U\n#EXTVLCOPT--http-reconnect=true \n%shttp://%s:%s/file?file=%s\n" % (progopt,request.getRequestHostname(), portNumber, quote(filename))
34                 request.setHeader('Content-Type', 'application/text')
35                 return response
36         else:
37 diff --git a/plugin/controllers/views/ajax/movies.tmpl b/plugin/controllers/views/ajax/movies.tmpl
38 index 6b0670c..7a026cf 100755
39 --- a/plugin/controllers/views/ajax/movies.tmpl
40 +++ b/plugin/controllers/views/ajax/movies.tmpl
41 @@ -49,19 +49,28 @@
42                                                 </div>\r
43                                         #end if\r
44                                 </div>\r
45 -                               <div class="moviecontainer_right">\r
46 -                                       <div style="padding: 3px; text-align: right;">\r
47 -                                               <a target="_blank" href='/web/ts.m3u?file=$quote($movie.filename)'>\r
48 -                                               <img align="top" src="../images/ico_stream.png" title="Stream $movie.eventname" border="0">\r
49 -                                               </a>\r
50 -                                               <a href='/file?action=download&file=$quote($movie.filename)'>\r
51 -                                               <img align="top" src="../images/ico_download.png" title="Download $movie.eventname" border="0">\r
52 -                                               </a>\r
53 -                                               <a href='#' onClick="deleteMovie('$quote($movie.serviceref)', '$count'); return false;">\r
54 -                                               <img src="../images/ico_delete.png" title="Delete Movie" border="0"></a>\r
55 -                                               </a>\r
56 -                                       </div>\r
57 -                               </div>\r
58 +                                <div class="moviecontainer_right">\r
59 +                                        <div style="padding: 3px; text-align: right;">\r
60 +                                               #if $transcoding\r
61 +                                               <a href="#" onclick="jumper80('$quote($movie.filename)');">\r
62 +                                                <img align="top" src="../images/ico_stream.png" title="Stream $movie.eventname" border="0">\r
63 +                                                </a>\r
64 +                                                <a href="#" onclick="jumper8003('$quote($movie.filename)');">\r
65 +                                                <img align="top" src="../images/ico_stream.png" title="Stream(8003) $movie.eventname" border="0">\r
66 +                                                </a>\r
67 +                                               #else\r
68 +                                                <a target="_blank" href='/web/ts.m3u?file=$quote($movie.filename)'>\r
69 +                                                <img align="top" src="../images/ico_stream.png" title="Stream $movie.eventname" border="0">\r
70 +                                                </a>\r
71 +                                               #end if\r
72 +                                                <a href='/file?action=download&file=$quote($movie.filename)'>\r
73 +                                                <img align="top" src="../images/ico_download.png" title="Download $movie.eventname" border="0">\r
74 +                                                </a>\r
75 +                                                <a href='#' onClick="deleteMovie('$quote($movie.serviceref)', '$count'); return false;">\r
76 +                                                <img src="../images/ico_delete.png" title="Delete Movie" border="0"></a>\r
77 +                                                </a>\r
78 +                                        </div>\r
79 +                                </div>\r
80                                 <div style="clear: both;"></div>\r
81                                 #set $count += 1\r
82                         </div>\r
83 @@ -72,4 +81,4 @@
84  \r
85  <script type="text/javascript">\r
86  \$('#moviebuttons').buttonset();\r
87 -</script>
88 \ No newline at end of file
89 +</script>\r
90 diff --git a/plugin/controllers/views/main.tmpl b/plugin/controllers/views/main.tmpl
91 index 760bab8..fc217a7 100755
92 --- a/plugin/controllers/views/main.tmpl
93 +++ b/plugin/controllers/views/main.tmpl
94 @@ -202,5 +202,9 @@
95                 <input type="hidden" name="name">\r
96                 <input type="hidden" name="device">\r
97         </form>\r
98 +       <form name="portFormTs" action="/web/ts.m3u" method="GET" target="_blank">\r
99 +               <input type="hidden" name="file">\r
100 +               <input type="hidden" name="device">\r
101 +       </form>\r
102  </body>\r
103  </html>\r
104 diff --git a/plugin/public/js/transcoding.js b/plugin/public/js/transcoding.js
105 index 8729835..785a4b7 100644
106 --- a/plugin/public/js/transcoding.js
107 +++ b/plugin/public/js/transcoding.js
108 @@ -41,6 +41,20 @@ function getOSType() {
109                 return "unknown";
110  }
111  
112 +function jumper80( file ) {
113 +       var deviceType = getDeviceType();
114 +       document.portFormTs.file.value = file;
115 +       document.portFormTs.device.value = "etc";
116 +       document.portFormTs.submit();
117 +}
118 +
119 +function jumper8003( file ) {
120 +       var deviceType = getDeviceType();
121 +       document.portFormTs.file.value = file;
122 +       document.portFormTs.device.value = "phone";
123 +       document.portFormTs.submit();
124 +}
125 +
126  function jumper8002( sref, sname ) {
127         var deviceType = getDeviceType();
128         document.portForm.ref.value = sref;