Warning, /multimedia/kmplayer/tests/arte.smil is written in an unsupported language. File is not indexed.
0001 <smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Language">
0002 <head>
0003 <layout>
0004 <root-layout width="400" height="240"/>
0005 <region background-color="SlateGray" z-index="1">
0006 <region top="2" left="20" width="27" height="18">
0007 <region background-color="red">
0008 <region height="33.3%" background-color="black"/>
0009 <region top="66%" background-color="yellow"/>
0010 </region>
0011 <region id="de"/>
0012 </region>
0013 <region top="2" left="50" width="27" height="18">
0014 <region background-color="white">
0015 <region width="33.3%" background-color="red"/>
0016 <region left="66%" background-color="blue"/>
0017 </region>
0018 <region id="fr"/>
0019 </region>
0020 <region id="count" top="2" left="140" width="120" height="18"
0021 background-color="#475360"/>
0022 <region id="previous" top="2" left="280" width="30" height="18"
0023 background-color="#475360" showBackground="whenActive"/>
0024 <region id="index" top="2" left="320" width="20" height="18"
0025 background-color="#475360" showBackground="whenActive"/>
0026 <region id="next" top="2" left="350" width="30" height="18"
0027 background-color="#475360" showBackground="whenActive"/>
0028 <region top="25" left="20" width="360">
0029 <region id="title" height="20" background-color="#475360"/>
0030 <region id="play" right="0" width="40" height="20"
0031 background-color="white" showBackground="whenActive"/>
0032 <region top="25" background-color="SlateGray">
0033 <region height="140">
0034 <region id="description" width="175"
0035 background-color="#475360" fit="scroll"/>
0036 <region id="image" right="0" width="175"
0037 background-color="#475360" fit="meet"/>
0038 </region>
0039 <region id="status" bottom="0" height="40"
0040 background-color="black" fit="scroll"/>
0041 </region>
0042 </region>
0043 </region>
0044 <region id="glass" z-index="0" background-color="black"
0045 backgroundOpacity="80" sensitivity="transparent">
0046 <region id="video" top="22" left="17" width="366" height="206"
0047 showBackground="whenActive" background-color="black"/>
0048 </region>
0049 </layout>
0050 <state id="mystate" language="http://www.w3.org/TR/1999/REC-xpath-19991116">
0051 <data xmlns="">
0052 <message/>
0053 <language/>
0054 <feed>
0055 <index/>
0056 <count/>
0057 <rss/>
0058 </feed>
0059 <page>
0060 <uri/>
0061 <html/>
0062 </page>
0063 <vref>
0064 <uri/>
0065 <videoref/>
0066 </vref>
0067 <vlink>
0068 <uri/>
0069 <video/>
0070 </vlink>
0071 <json>
0072 <uri/>
0073 <value/>
0074 <streamer/>
0075 <url/>
0076 <tmp/>
0077 </json>
0078 <guide>
0079 <html/>
0080 </guide>
0081 <image/>
0082 <swf-player/>
0083 <movie-sd/>
0084 <video-uri/>
0085 </data>
0086 </state>
0087 <paramGroup id="centered-text">
0088 <param name="fontColor" value="white"/>
0089 <param name="regPoint" value="center"/>
0090 <param name="regAlign" value="center"/>
0091 </paramGroup>
0092 </head>
0093 <body>
0094 <par dur="indefinite">
0095 <text region="de" src="data:,DE" regPoint="center" regAlign="center"/>
0096 <text region="fr" src="data:,FR" regPoint="center" regAlign="center"/>
0097
0098 <text begin="mystate.stateChange(/data/message)"
0099 region="status" src="data:,{escape-uri(/data/message)}">
0100 <param name="fontColor" value="grey"/>
0101 <param name="fontSize" value="-2"/>
0102 </text>
0103
0104 <set targetElement="de" attributeName="background-color" to="red"
0105 begin="de.activateEvent" dur="0.1"/>
0106
0107 <setvalue begin="de.activateEvent" ref="language" value="'de'"/>
0108 <setvalue begin="fr.activateEvent" ref="language" value="'fr'"/>
0109
0110 <seq begin="mystate.stateChange(language)">
0111 <setvalue ref="/data/feed/count" value="-1"/>
0112 <setvalue ref="/data/feed/index" value="0"/>
0113 <setvalue ref="/data/feed/rss" value="'empty'"/>
0114 <setvalue ref="/data/message" value="'Clearing data'"/>
0115 <par dur="indefinite">
0116 <switch>
0117 <send expr="language = 'de'"
0118 action="http://videos.arte.tv/de/do_delegate/videos/index-3188626,view,rss.xml" method="get"
0119 replace="instance" target="/data/feed/rss"/>
0120 <send action="http://videos.arte.tv/fr/do_delegate/videos/index-3188626,view,rss.xml" method="get"
0121 replace="instance" target="/data/feed/rss"/>
0122 </switch>
0123 <seq begin="mystate.stateChange(/data/feed/rss)">
0124 <setvalue ref="/data/feed/count"
0125 value="count(/data/feed/rss/channel/item)"/>
0126 <switch>
0127 <setvalue expr="/data/feed/count > 0"
0128 ref="/data/feed/index" value="1"/>
0129 <setvalue ref="/data/message" value="'No items found'"/>
0130 </switch>
0131 </seq>
0132 <seq begin="mystate.stateChange(/data/feed/index)">
0133 <setvalue ref="/data/page/uri" value="'invalid'"/>
0134 <setvalue ref="/data/page/html" value="'empty'"/>
0135 <setvalue ref="/data/vref/uri" value="'invalid'"/>
0136 <setvalue ref="/data/vref/videoref" value="'empty'"/>
0137 <setvalue ref="/data/vlink/uri" value="'invalid'"/>
0138 <setvalue ref="/data/vlink/video" value="'empty'"/>
0139 <setvalue ref="/data/movie-sd" value="'invalid'"/>
0140 <setvalue ref="/data/json/value" value="'empty'"/>
0141 <setvalue ref="/data/image" value="'invalid'"/>
0142 <setvalue ref="/data/swf-player" value="'invalid'"/>
0143 <setvalue ref="/data/video-uri" value="'invalid'"/>
0144 <seq/>
0145 <par>
0146 <setvalue ref="/data/page/uri"
0147 value="/data/feed/rss/channel/item[number(/data/feed/index)]/link"/>
0148 <switch begin="mystate.stateChange(/data/page/uri)">
0149 <seq expr="starts-with(/data/page/uri, 'http://')">
0150 <setvalue ref="/data/message"
0151 value="concat('Get ', /data/page/uri)"/>
0152 <send action="{/data/page/uri}"
0153 method="get" replace="instance" target="/data/page/html"/>
0154 </seq>
0155 <setvalue ref="/data/message"
0156 value="concat('Could not get HTML ', /data/page/uri)"/>
0157 </switch>
0158 <switch begin="mystate.stateChange(/data/page/html)">
0159 <setvalue ref="/data/json/uri"
0160 expr="count(/data/page/html//div[@arte_vp_url]) > 0"
0161 value="/data/page/html//div[@arte_vp_url][1]/@arte_vp_url"/>
0162 <seq>
0163 <setvalue ref="/data/vref/uri"
0164 value="substring-before(substring-after(tokenize(/data/page/html, 'vars_player.videorefFileUrl *= *"[^"]+"')[1], '"'), '"')"/>
0165 <setvalue ref="/data/swf-player"
0166 value="substring-before(substring-after(tokenize(/data/page/html, 'url_player *= *"[^"]+"')[1], '"'), '"')"/>
0167 </seq>
0168 </switch>
0169 <switch begin="mystate.stateChange(/data/vref/uri)">
0170 <seq expr="starts-with(/data/vref/uri, 'http://')">
0171 <setvalue ref="/data/message"
0172 value="concat('Get ', /data/vref/uri)"/>
0173 <send action="{/data/vref/uri}"
0174 method="get" replace="instance" target="/data/vref/videoref"/>
0175 </seq>
0176 <setvalue ref="/data/message"
0177 value="concat('Could not get flash var ', /data/vref/uri)"/>
0178 </switch>
0179 <setvalue begin="mystate.stateChange(/data/vref/videoref)"
0180 ref="/data/vlink/uri"
0181 value="/data/vref/videoref/videos/video[@lang = /data/language]/@ref"/>
0182 <switch begin="mystate.stateChange(/data/vlink/uri)">
0183 <send expr="starts-with(/data/vlink/uri, 'http://')"
0184 action="{/data/vlink/uri}"
0185 method="get" replace="instance" target="/data/vlink/video"/>
0186 <setvalue ref="/data/message"
0187 value="concat('Could not get ', /data/vlink/uri)"/>
0188 </switch>
0189 <setvalue begin="mystate.stateChange(/data/vlink/video)"
0190 ref="/data/movie-sd"
0191 value="/data/vlink/video/urls/url[@quality = 'hd']"/>
0192 <setvalue begin="mystate.stateChange(/data/vlink/video)"
0193 expr="count(/data/vlink/video/firstThumbnailUrl) > 0"
0194 ref="/data/image"
0195 value="/data/vlink/video/firstThumbnailUrl[1]"/>
0196 <switch begin="mystate.stateChange(/data/movie-sd)">
0197 <seq expr="starts-with(/data/movie-sd, 'rtmp://')">
0198 <setvalue ref="/data/message"
0199 value="concat('Found URL ', /data/movie-sd)"/>
0200 <setvalue ref="/data/video-uri"
0201 value="concat(/data/movie-sd, ' swfVfy=1 swfUrl=', /data/swf-player)"/>
0202 </seq>
0203 <seq expr="string-length(/data/movie-sd) > 0">
0204 <setvalue ref="/data/message"
0205 value="concat('Found URL ', /data/movie-sd)"/>
0206 <setvalue ref="/data/video-uri" value="/data/movie-sd"/>
0207 </seq>
0208 <setvalue ref="/data/message" value="'Video not available'"/>
0209 </switch>
0210 <switch begin="mystate.stateChange(/data/json/uri)">
0211 <seq expr="starts-with(/data/json/uri, 'http')">
0212 <setvalue ref="/data/message"
0213 value="concat('Get ', /data/json/uri)"/>
0214 <send action="{/data/json/uri}"
0215 method="get" replace="instance" target="/data/json/value/*[1]"/>
0216 </seq>
0217 <setvalue ref="/data/message"
0218 value="concat('Could not get JSON ', /data/json/uri)"/>
0219 </switch>
0220
0221 <seq begin="mystate.stateChange(/data/json/value/*[1])">
0222 <setvalue ref="/data/json/tmp"
0223 value="substring-after(/data/json/value, '"programImage"')"/>
0224 <setvalue ref="/data/image"
0225 value="substring-before(substring-after(/data/json/tmp, '"'), '"')"/>
0226 <setvalue ref="/data/json/value"
0227 value="substring-after(/data/json/value, 'RTMP_SQ_1')"/>
0228 <setvalue ref="/data/json/tmp"
0229 value="substring-after(/data/json/value, '"url"')"/>
0230 <setvalue ref="/data/json/url"
0231 value="substring-before(substring-after(/data/json/tmp, '"'), '"')"/>
0232 <setvalue ref="/data/json/tmp"
0233 value="substring-after(/data/json/value, '"streamer"')"/>
0234 <setvalue ref="/data/json/streamer"
0235 value="substring-before(substring-after(/data/json/tmp, '"'), '"')"/>
0236 <switch>
0237 <seq expr="starts-with(/data/json/streamer, 'rtmp://')">
0238 <setvalue ref="/data/message"
0239 value="concat('Found URL ', /data/json/streamer, 'mp4:', /data/json/url)"/>
0240 <send action="{concat('http://player.arte.tv/v2/index.php?json_url=', /data/json/uri, '&config=arte_tvguide')}"
0241 method="get" replace="instance" target="/data/guide/html"/>
0242 </seq>
0243 <seq expr="string-length(/data/json/streamer) > 0">
0244 <setvalue ref="/data/message"
0245 value="concat('Found URL ', /data/json/streamer)"/>
0246 <setvalue ref="/data/video-uri" value="/data/json/streamer"/>
0247 </seq>
0248 <setvalue ref="/data/message" value="'Video not available'"/>
0249 </switch>
0250 </seq>
0251 <seq begin="mystate.stateChange(/data/guide/html)">
0252 <setvalue ref="/data/swf-player"
0253 value="/data/guide/html/head/meta[@property="og:video"]/@content"/>
0254 <switch>
0255 <setvalue ref="/data/swf-player"
0256 expr="string-length(/data/swf-player) > 1"
0257 value="concat(substring-before(/data/swf-player, 'swf'), 'swf')"/>
0258 <setvalue ref="/data/swf-player"
0259 value="http://www.arte.tv/playerv2/jwplayer5/mediaplayer.5.7.1894.swf"/>
0260 </switch>
0261 <setvalue ref="/data/video-uri"
0262 value="concat(/data/json/streamer, 'mp4:', /data/json/url, ' swfVfy=1 swfUrl=', /data/swf-player)"/>
0263 </seq>
0264
0265 <text region="title"
0266 src="data:,{escape-uri(/data/feed/rss/channel/item[number(/data/feed/index)]/title)}"
0267 paramGroup="centered-text"/>
0268 <text region="description"
0269 src="data:,{escape-uri(/data/feed/rss/channel/item[number(/data/feed/index)]/description)}">
0270 <param name="fontColor" value="white"/>
0271 <param name="fontSize" value="-1"/>
0272 </text>
0273 <par begin="mystate.stateChange(/data/video-uri)" dur="indefinite">
0274 <text id="playbutton" end="activateEvent"
0275 region="play" src="data:,Play" fontColor="green"/>
0276 <par begin="playbutton.activateEvent">
0277 <video id="movie" region="video" src="{/data/video-uri}"/>
0278 <set end="movie.end"
0279 target="glass" attribute="z-index" to="2"/>
0280 </par>
0281 </par>
0282 <img begin="mystate.stateChange(/data/image)"
0283 expr="string-length(/data/image) > 0"
0284 src="{/data/image}"
0285 region="image"/>
0286 <text region="index" src="data:,{escape-uri(/data/feed/index)}"
0287 paramGroup="centered-text"/>
0288 <par expr="/data/feed/index > 1">
0289 <text region="previous" src="data:,%3C%3C" paramGroup="centered-text"/>
0290 <setvalue begin="previous.activateEvent"
0291 ref="/data/feed/index" value="/data/feed/index - 1"/>
0292 </par>
0293 <par expr="/data/feed/index < /data/feed/count">
0294 <text region="next" src="data:,%3E%3E"
0295 paramGroup="centered-text"/>
0296 <set targetElement="next" attributeName="background-color"
0297 to="SlateGray" begin="de.activateEvent" dur="0.1"/>
0298 <setvalue begin="next.activateEvent"
0299 ref="/data/feed/index" value="/data/feed/index + 1"/>
0300 </par>
0301 </par>
0302 </seq>
0303
0304 <text region="count" begin="mystate.stateChange(/data/feed/count)"
0305 src="data:,{escape-uri(/data/feed/count)}%20items%20found"
0306 paramGroup="centered-text"/>
0307 </par>
0308 </seq>
0309 </par>
0310 </body>
0311 </smil>
0312