<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Udvikleren.dk - Seneste [winjs] forum tråde</title>
    <description>De seneste forum tråde i [winjs] på Udvikleren.dk</description>
    <link>http://www.udvikleren.dk/</link>
    <pubDate>Wed, 29 Apr 2026 04:50:03 GMT</pubDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Udvikleren.dk RSS Feeder</generator>
    <ttl>60</ttl>
    <item>
      <title>Tilpasset licens forespørgsel via Silverlight Smooth Streaming Player</title>
      <description>Hejsa, beklager på forhånd den lange forklaring...&lt;br /&gt;&lt;br /&gt;Jeg har kort fortalt brug for noget hjælp til, at sende en &lt;i&gt;tilpasset licens forespørgsel&lt;/i&gt; til en specifik webserver, igennem min Silverlight Smooth Streaming afspiller.&lt;br /&gt;&lt;br /&gt;Dette er min kode til afspilleren:&lt;br /&gt;&lt;div class="codeboxheader" id="code_1812677844" onclick="ToggleCodeBox(this.id);"&gt;&lt;img id="code_1812677844_arrow" src="/images/icons/codeboxarrow_down.gif" alt="Fold kodeboks ind/ud" title="Fold kodeboks ind/ud" /&gt;HTML kode&amp;nbsp;&lt;/div&gt;&lt;pre id="code_1812677844code" style="border-top: 0px; display: none;"&gt;&lt;ol&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;object &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;silverlight&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; data&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;data:application/x-silverlight-2,&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; type&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;application/x-silverlight-2&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; width&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;700&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; height&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;427&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;source&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;../SmoothStreamingPlayer.xap&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;onError&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;onSilverlightError&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;onLoad&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;onSilverlightLoad&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;background&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;black&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;windowless&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;minRuntimeVersion&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;5.0.61118.0&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;autoUpgrade&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;enableGPUAcceleration&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;param &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;initParams&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;mediaurl=&amp;lt;?php echo $MediaUri; ?&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="padding: 0; margin: 0;"&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;object&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;$MediaUri indeholder URL'en til en isml/Manifest. Når jeg starter afspilningen, kan jeg se at afspilleren registrerer video og lyd feed'et, men den begynder ikke at afspille noget &lt;img src="/images/smileys/sad.gif" alt=":(" title=":(" /&gt;&lt;br /&gt;&lt;br /&gt;isml/Manifest URL'en genereres igennem et PHP/cURL script, som logger ind på teliatv.dk via mine login-oplysninger, gemmer en session cookie og decoder derefter URL'en fra et JSON-dokument på domænet.&lt;br /&gt;&lt;br /&gt;Jeg har forsøgt mig med at bruge teliatv.dk's Everywhere.Player.xap til at afspille URL'en med, men den kan jeg slet ikke få til at virke på min side, og har heller ikke lyst til det, da det netop er på grund af deres afspiller, at jeg forsøger at afspille URL'en i min egen afspiller.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;XAP-filer&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://www.teliatv.dk/everywhere/player/Everywhere.Player.xap" rel="nofollow"&gt;Everywhere.Player.xap&lt;/a&gt;&lt;br /&gt;&lt;a href="http://clubace.dk/SmoothStreamingPlayer.xap" rel="nofollow"&gt;SmoothStreamingPlayer.xap&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Med en netværkssniffer har jeg fundet ud af, at webseveren returnere en fejlkode 500 (Internal Server Error) 'Invalid POST data'.&lt;br /&gt;&lt;i&gt;The client request must include CustomData element or the deviceID query parameter must be set.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Netværk-rapporter&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://clubace.dk/SmartSniff/SmartSniff_teliatv.txt" rel="nofollow"&gt;SmartSniff_teliatv.dk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://clubace.dk/SmartSniff/SmartSniff_localhost.txt" rel="nofollow"&gt;SmartSniff_localhost&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Den let læselige data sendt til webserveren&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://clubace.dk/SmartSniff/xml_teliatv.txt" rel="nofollow"&gt;Sendt fra teliatv.dk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://clubace.dk/SmartSniff/xml_localhost.txt" rel="nofollow"&gt;Sendt fra localhost&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Udfra fejlkoden ser det ud til, at SmoothStreamingPlayer.xap indeholder en eller flere dll-fil/er som ikke er sat op til at sende et &lt;i&gt;deviceID&lt;/i&gt; via &lt;i&gt;ChallengeCustomData&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Nu skal det hurtigt siges, at jeg absolut ingen forstand har på C#. Alligevel har jeg dog prøvet at kaste mig ud i, at decompile dll-filerne fra begge xap-filerne via et program ved navn &lt;b&gt;Telerik JustDecompile&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Screenshots fra JustCompile&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://clubace.dk/ScreenShot/jd_screenshot1.png" rel="nofollow"&gt;JD screenshot #1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://clubace.dk/ScreenShot/jd_screenshot2.png" rel="nofollow"&gt;JD screenshot #2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Selvom jeg tror, jeg kan se mig ud af sådan cirka hvor i Everywhere.Player.xap's dll-filer deviceID'et defineres og hvordan licens forespørgselen laves, kan jeg hverken finde ud af bruge JustDecompile eller MS Virtual Studio ordenligt, hvilket hæmmer processen gevaldigt &lt;img src="/images/smileys/confused.gif" alt=":S" title=":S" /&gt;&lt;br /&gt;&lt;br /&gt;Jeg er dog netop faldet over dette &lt;a href="https://playerframework.codeplex.com/discussions/441013" rel="nofollow"&gt;forum-indlæg&lt;/a&gt;, hvor i det fremgår, at der eksisterer et JavaScript bibliotek som kaldes for &lt;b&gt;WinJS&lt;/b&gt;, som igennem lidt tilpasning, lader til at kunne klare opgaven udenom dll-filerne.&lt;br /&gt;&lt;br /&gt;Desværre må jeg, efter at have hentet WinJS biblioteket, erkende at jeg ikke kan gennemskue hvordan man bruger det til formålet &lt;img src="/images/smileys/sad.gif" alt=":(" title=":(" /&gt;&lt;br /&gt;&lt;br /&gt;Håber der er nogen der kan hjælpe mig videre, da jeg har siddet fast i godt en uge nu. En hver assistance tages i mod med kyshånd &lt;img src="/images/smileys/smiley.gif" alt=":)" title=":)" /&gt;</description>
      <link>http://www.udvikleren.dk/forum/46439/tilpasset-licens-forespoergsel-via-silverlight-smooth-streaming-player/</link>
      <pubDate>Sat, 31 Jan 2015 21:28:14 GMT</pubDate>
    </item>
  </channel>
</rss>