<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>FlashPlatform.cz</title>
	<atom:link href="http://www.flashplatform.cz/feed" rel="self" type="application/rss+xml" />
	<link>http://www.flashplatform.cz</link>
	<description>Flash Experts Blog Aggregator.</description>
	<pubDate>Fri, 30 Jul 2010 08:52:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Jednotné nastavenia mxmlc kompilátora</title>
		<link>http://labs.prasa.sk/view/jednotne-nastavenia-mxmlc-kompilatora/</link>
		<comments>http://labs.prasa.sk/view/jednotne-nastavenia-mxmlc-kompilatora/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 08:51:22 +0000</pubDate>
		<dc:creator>Michal Gron</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">tag:labs.prasa.sk,2010:/2.21</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://labs.prasa.sk/view/jednotne-nastavenia-mxmlc-kompilatora/feed</wfw:commentRss>
		</item>
		<item>
		<title>RTMFP Connection Tester</title>
		<link>http://blog.yoz.sk/2010/07/rtmfp-connection-tester/?utm_source=rss&utm_medium=rss&utm_campaign=rtmfp-connection-tester</link>
		<comments>http://blog.yoz.sk/2010/07/rtmfp-connection-tester/?utm_source=rss&utm_medium=rss&utm_campaign=rtmfp-connection-tester#comments</comments>
		<pubDate>Thu, 29 Jul 2010 11:45:27 +0000</pubDate>
		<dc:creator>josefchutka</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://blog.yoz.sk/?p=2086</guid>
		<description><![CDATA[Having problems connecting RTMFP? Use this application to test NetConnection, NetStream, NetGroup connection and publishing status. For success connection, opened UDP ports in range 1024..65535 required. Run two instances to test NetGroup neighboring. The code behind testing application: &#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62; &#60;s:Application xmlns:fx=&#34;http://ns.adobe.com/mxml/2009&#34; xmlns:s=&#34;library://ns.adobe.com/flex/spark&#34; xmlns:mx=&#34;library://ns.adobe.com/flex/mx&#34; width=&#34;100%&#34; height=&#34;100%&#34; applicationComplete=&#34;init()&#34;&#62; &#60;s:layout&#62; &#60;s:HorizontalLayout/&#62; &#60;/s:layout&#62; &#60;fx:Script&#62; &#60;![CDATA[ import flash.net.navigateToURL; [...]]]></description>
			<content:encoded><![CDATA[<p>Having problems connecting <a href="http://en.wikipedia.org/wiki/Real_Time_Media_Flow_Protocol">RTMFP</a>? Use this application to test NetConnection, NetStream, NetGroup connection and publishing status. For success connection, opened <a href="http://blog.yoz.sk/2010/06/quick-tip-ports-required-for-rtmfp/">UDP ports in range 1024..65535 required</a>. Run two instances to test NetGroup neighboring.</p>
<p><iframe src="http://blog.yoz.sk/examples/RTMFPTester/" width="100%" height="150" ></iframe><br />
<iframe src="http://blog.yoz.sk/examples/RTMFPTester/" width="100%" height="150" ></iframe></p>
<p><span id="more-2086"></span></p>
<p>The code behind testing application:</p>
<pre class="brush: xml;">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;s:Application xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
    xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
    xmlns:mx=&quot;library://ns.adobe.com/flex/mx&quot;
    width=&quot;100%&quot; height=&quot;100%&quot; applicationComplete=&quot;init()&quot;&gt;
&lt;s:layout&gt;
    &lt;s:HorizontalLayout/&gt;
&lt;/s:layout&gt;
&lt;fx:Script&gt;
&lt;![CDATA[
    import flash.net.navigateToURL;

    import org.osmf.net.NetConnectionCodes;
    import org.osmf.net.NetStreamCodes;
    private static const HANDSHAKE_URL:String = &quot;rtmfp://stratus.rtmfp.net&quot;;
    private static const DEVELOPER_KEY:String = &quot;PUT***YOUR***OWN&quot;;

    private var netConnection:NetConnection = new NetConnection();
    private var netStream:NetStream;
    private var netStream2:NetStream;
    private var netGroup:NetGroup;
    private var d0:Date

    private function init():void
    {
        d0 = new Date();
        netConnection.connect(HANDSHAKE_URL + &quot;/&quot; + DEVELOPER_KEY);
        netConnection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
    }

    private function netConnectionConnected():void
    {
        var groupSpecifier:GroupSpecifier = new GroupSpecifier(&quot;somegruop&quot;);
        groupSpecifier.serverChannelEnabled = true;
        groupSpecifier.multicastEnabled = true;
        groupSpecifier.ipMulticastMemberUpdatesEnabled = true;
        groupSpecifier.postingEnabled = true;
        var groupspec:String = groupSpecifier.groupspecWithAuthorizations();

        netStream = new NetStream(netConnection, groupspec);
        netStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
        netStream2 = new NetStream(netConnection, groupspec);
        netStream2.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
        netGroup = new NetGroup(netConnection, groupspec);
        netGroup.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
    }

    private function onNetStatus(event:NetStatusEvent):void
    {
        var code:String = event.info.code;
        var time:Number = Math.round((new Date().time - d0.time)/10) / 100;
        log.appendText(code + &quot; (&quot; + time + &quot; sec)\n&quot;);
        switch(code)
        {
            case NetConnectionCodes.CONNECT_SUCCESS:
                netConnectionCheckBox.selected = true;
                netConnectionConnected();
                break;
            case &quot;NetStream.Connect.Success&quot;:
                if(event.info.stream == netStream)
                {
                    netStreamCheckBox.selected = true;
                    netStream.publish(&quot;test&quot;);
                }
                else if(event.info.stream == netStream2)
                {
                    netStream2.play(&quot;test&quot;);
                }
                break;
            case &quot;NetGroup.Connect.Success&quot;:
                netGroupCheckBox.selected = true;
                break;
            case NetStreamCodes.NETSTREAM_PUBLISH_START:
                netStreamPublishCheckBox.selected = true;
                break;
            case NetStreamCodes.NETSTREAM_PLAY_START:
                netStreamPlayCheckBox.selected = true;
                break;
            case &quot;NetGroup.Neighbor.Connect&quot;:
                netGroupNeighborCheckBox.selected = true;
                break;
        }
    }

    private function onReadMore():void
    {
        var url:String = &quot;http://blog.yoz.sk/2010/06/quick-tip-ports-required-for-rtmfp/&quot;;
        navigateToURL(new URLRequest(url), &quot;_blank&quot;);
    }
]]&gt;
&lt;/fx:Script&gt;
&lt;fx:Declarations&gt;
    &lt;!-- Place non-visual elements (e.g., services, value objects) here --&gt;
&lt;/fx:Declarations&gt;
&lt;s:VGroup&gt;
    &lt;s:HGroup verticalAlign=&quot;middle&quot;&gt;
        &lt;s:CheckBox id=&quot;netConnectionCheckBox&quot; enabled=&quot;false&quot;/&gt;
        &lt;s:Label text=&quot;NetConnection&quot; /&gt;
    &lt;/s:HGroup&gt;
    &lt;s:HGroup verticalAlign=&quot;middle&quot;&gt;
        &lt;s:CheckBox id=&quot;netStreamCheckBox&quot; enabled=&quot;false&quot;/&gt;
        &lt;s:Label text=&quot;NetStream&quot; /&gt;
    &lt;/s:HGroup&gt;
    &lt;s:HGroup verticalAlign=&quot;middle&quot; paddingLeft=&quot;10&quot;&gt;
        &lt;s:CheckBox id=&quot;netStreamPublishCheckBox&quot; enabled=&quot;false&quot;/&gt;
        &lt;s:Label text=&quot;NetStream.Publish&quot; /&gt;
    &lt;/s:HGroup&gt;
    &lt;s:HGroup verticalAlign=&quot;middle&quot; paddingLeft=&quot;10&quot;&gt;
        &lt;s:CheckBox id=&quot;netStreamPlayCheckBox&quot; enabled=&quot;false&quot;/&gt;
        &lt;s:Label text=&quot;NetStream.Play&quot; /&gt;
    &lt;/s:HGroup&gt;
    &lt;s:HGroup verticalAlign=&quot;middle&quot;&gt;
        &lt;s:CheckBox id=&quot;netGroupCheckBox&quot; enabled=&quot;false&quot;/&gt;
        &lt;s:Label text=&quot;NetGroup&quot; /&gt;
    &lt;/s:HGroup&gt;
    &lt;s:HGroup verticalAlign=&quot;middle&quot; paddingLeft=&quot;10&quot;&gt;
        &lt;s:CheckBox id=&quot;netGroupNeighborCheckBox&quot; enabled=&quot;false&quot;/&gt;
        &lt;s:Label text=&quot;NetGroup.Neighbor&quot; /&gt;
    &lt;/s:HGroup&gt;
&lt;/s:VGroup&gt;
&lt;s:VGroup width=&quot;100%&quot; height=&quot;100%&quot;&gt;
    &lt;s:TextArea id=&quot;log&quot; width=&quot;100%&quot; height=&quot;100%&quot; text=&quot;For success connection, opened UDP ports in range 1024..65535 required.&amp;#13;Run two instances to test NetGroup neighboring.&amp;#13;&quot; /&gt;
    &lt;s:Button label=&quot;Read more about RTMFP requirements&quot; click=&quot;onReadMore()&quot;/&gt;
&lt;/s:VGroup&gt;
&lt;/s:Application&gt;
</pre>
<p>Where to go from here:</p>
<ul>
<li><a href="http://blog.yoz.sk/2010/06/quick-tip-ports-required-for-rtmfp/">Quick tip: Ports Required For RTMFP</a></li>
<li><a href="http://cc.rtmfp.net/">RTMFP Connectivity Checker</a></li>
<li><a href="http://flashcomguru.com/apps/port_test/">RTMP and RTMPT tester</a></li>
<li><a href="http://kb2.adobe.com/cps/164/tn_16466.html">Adobe Flash Media Server port connectivity survey (HTTP tunneling)</a></li>
<li><a href="http://www.jakehilton.com/?q=node/43">Port tester for Flash Media Server and Wowza Media Server</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.yoz.sk/2010/07/rtmfp-connection-tester/?utm_source=rss&utm_medium=rss&utm_campaign=rtmfp-connection-tester/feed</wfw:commentRss>
		</item>
		<item>
		<title>Video-on-Demand over P2P in Flash Player 10.1 with Object Replication</title>
		<link>http://www.flashrealtime.com/video-on-demand-over-p2p-in-flash-player-101-with-object-replication/</link>
		<comments>http://www.flashrealtime.com/video-on-demand-over-p2p-in-flash-player-101-with-object-replication/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 17:56:19 +0000</pubDate>
		<dc:creator>Tom Krcha</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://www.flashrealtime.com/?p=1727</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://www.flashrealtime.com/video-on-demand-over-p2p-in-flash-player-101-with-object-replication/feed</wfw:commentRss>
		</item>
		<item>
		<title>UNIPacket – Standardize NetGroup, NetStream Raw Messages</title>
		<link>http://blog.yoz.sk/2010/07/unipacket-standardize-netgroup-netstream-raw-messages/?utm_source=rss&utm_medium=rss&utm_campaign=unipacket-standardize-netgroup-netstream-raw-messages</link>
		<comments>http://blog.yoz.sk/2010/07/unipacket-standardize-netgroup-netstream-raw-messages/?utm_source=rss&utm_medium=rss&utm_campaign=unipacket-standardize-netgroup-netstream-raw-messages#comments</comments>
		<pubDate>Wed, 28 Jul 2010 15:04:05 +0000</pubDate>
		<dc:creator>josefchutka</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://blog.yoz.sk/?p=2018</guid>
		<description><![CDATA[UNIPacket and UNIPacketHeader classes is my attempt to standardize communication within NetStream and NetGroup communication. While both Net* classes enables you to send any raw data between two instances of flash, you should carefully handle incomming messages. Imagine you are willing to send additional info with your message (sender, id etc.). That is where UNIPacket [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.yoz.sk/wp-content/uploads/unipacket.jpg" alt="" title="unipacket" width="200" height="100" class="alignleft size-full wp-image-2082" /></p>
<p><a href="http://classes.yoz.sk/sk/yoz/data/UNIPacket.as">UNIPacket</a> and <a href="http://classes.yoz.sk/sk/yoz/data/UNIPacketHeader.as">UNIPacketHeader</a> classes is my attempt to standardize communication within NetStream and NetGroup communication. While both Net* classes enables you to send any raw data between two instances of flash, you should carefully handle incomming messages. Imagine you are willing to send additional info with your message (sender, id etc.). That is where UNIPacket classes comes into scene, both are very simple and able to selfcreate from incomming object.</p>
<p><a href="http://classes.yoz.sk/sk/yoz/data/UNIPacket.as">UNIPacket</a> contains only two variables: <strong>header</strong>:UNIPacketHeader and <strong>data</strong>:* (holds the actual data being sent).</p>
<p><a href="http://classes.yoz.sk/sk/yoz/data/UNIPacketHeader.as">UNIPacketHeader</a> is dynamic class with prepared variables: <strong>id</strong>:uint (numeric identificator of message), <strong>hash</strong>:String (string identificator of message), <strong>sender</strong>:String (use for sender identification).</p>
<p><span id="more-2018"></span></p>
<p>Preparing UNIPacket:</p>
<pre class="brush: as3;">var header:UNIPacketHeader = new UNIPacketHeader();
header.sender = netGroup.convertPeerIDToGroupAddress(netConnection.nearID);
header.id = uint(Math.random() * uint.MAX_VALUE);
header.someDynamicVariable = &quot;XYZ&quot;;
var data:String = &quot;Hallo world&quot;
var messageOut:UNIPacket = new UNIPacket(header, data);</pre>
<p>Usage with NetStream:</p>
<pre class="brush: as3;">// SENDER:
var netStream:NetStream = new NetStream(...);
netStream.send(&quot;onNotify&quot;, messageOut);

// RECEIVER:
var messageIn:UNIPacket;
var netStream:NetStream = new NetStream(...);
netStream.client = {
    onNotify: function(data:Object):void
    {
        messageIn = UNIPacket.create(data);
        messageIn.data;
        messageIn.header.sender;
        messageIn.header.id;
        messageIn.header.someDynamicVariable;
    }
}</pre>
<p>Usage with NetGroup:</p>
<pre class="brush: as3;">// SENDER:
var groupSpecifier:GroupSpecifier = new GroupSpecifier(&quot;somegruop&quot;);
groupSpecifier.serverChannelEnabled = true;
groupSpecifier.multicastEnabled = true;
groupSpecifier.ipMulticastMemberUpdatesEnabled = true;
groupSpecifier.postingEnabled = true;
var groupspec:String = groupSpecifier.groupspecWithAuthorizations();
var netGroup:NetGroup = new NetGroup(netConnection, groupspec);
...
netGroup.post(messageOut);

// RECEIVER:
var messageIn:UNIPacket;
var netGroup:NetGroup = new NetGroup(...);
netGroup.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
function onNetStatus(event:NetStatusEvent):void
{
    switch(event.info.code)
    {
        case &quot;NetGroup.Posting.Notify&quot;:
            messageIn = UNIPacket.create(event.info.message);
            messageIn.data;
            messageIn.header.sender;
            messageIn.header.id;
            messageIn.header.someDynamicVariable;
            break;
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.yoz.sk/2010/07/unipacket-standardize-netgroup-netstream-raw-messages/?utm_source=rss&utm_medium=rss&utm_campaign=unipacket-standardize-netgroup-netstream-raw-messages/feed</wfw:commentRss>
		</item>
		<item>
		<title>Flash/Flex Builder shortcuts</title>
		<link>http://labs.prasa.sk/view/flash-flex-builder-shortcuts/</link>
		<comments>http://labs.prasa.sk/view/flash-flex-builder-shortcuts/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 14:27:36 +0000</pubDate>
		<dc:creator>Michal Gron</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">tag:labs.prasa.sk,2010:/2.20</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://labs.prasa.sk/view/flash-flex-builder-shortcuts/feed</wfw:commentRss>
		</item>
		<item>
		<title>Quick Tip: SimpleButton to SelectableButton</title>
		<link>http://blog.yoz.sk/2010/07/simplebutton-to-selectablebutton/?utm_source=rss&utm_medium=rss&utm_campaign=simplebutton-to-selectablebutton</link>
		<comments>http://blog.yoz.sk/2010/07/simplebutton-to-selectablebutton/?utm_source=rss&utm_medium=rss&utm_campaign=simplebutton-to-selectablebutton#comments</comments>
		<pubDate>Tue, 27 Jul 2010 14:08:36 +0000</pubDate>
		<dc:creator>josefchutka</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://blog.yoz.sk/?p=2016</guid>
		<description><![CDATA[sk.yoz.ui.SelectableButton class may be handy for you if you decided to drop framework and make your own lightweight components. It extends SimpleButton (basic ActionScript 3 component) and ads selected state and toggle functionality by switching states on click event. You may want to extend it for selectedUpState, selectedOverState, selectedDownState, feel free to do that. usage: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://classes.yoz.sk/sk/yoz/ui/SelectableButton.as">sk.yoz.ui.SelectableButton</a> class may be handy for you if you decided to drop framework and make your own lightweight components. It extends SimpleButton (basic ActionScript 3 component) and ads selected state and toggle functionality by switching states on click event. You may want to extend it for selectedUpState, selectedOverState, selectedDownState, feel free to do that.</p>
<p>usage:</p>
<pre class="brush: as3;">import sk.yoz.ui.SelectableButton;

// any graphics here
var upState:DisplayObject;
var overState:DisplayObject;
var downState:DisplayObject
var hitTestState:DisplayObject;

// changes selected state on mouse click
var toggle:Boolean = true;

var button:SelectableButton;
button = SelectableButton(upState, overState, downState, hitTestState, toggle);

// toggle select button without user interaction
button.selected = true;</pre>
<p><span id="more-2016"></span></p>
<p>Size comparision of empty instances of mx Button, spark Button and SelectableButton:</p>
<pre class="brush: as3;">trace(getSize(new mx.controls.Button()));
// 1408 bytes

trace(getSize(new spark.components.Button()));
// 1248 bytes

trace(getSize(new sk.yoz.ui.SelectableButton()));
// 324 bytes</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.yoz.sk/2010/07/simplebutton-to-selectablebutton/?utm_source=rss&utm_medium=rss&utm_campaign=simplebutton-to-selectablebutton/feed</wfw:commentRss>
		</item>
		<item>
		<title>onStream – The Broadcasting Machine</title>
		<link>http://blog.yoz.sk/2010/07/onstream-the-broadcasting-machine/?utm_source=rss&utm_medium=rss&utm_campaign=onstream-the-broadcasting-machine</link>
		<comments>http://blog.yoz.sk/2010/07/onstream-the-broadcasting-machine/?utm_source=rss&utm_medium=rss&utm_campaign=onstream-the-broadcasting-machine#comments</comments>
		<pubDate>Mon, 26 Jul 2010 11:29:46 +0000</pubDate>
		<dc:creator>josefchutka</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://blog.yoz.sk/?p=2020</guid>
		<description><![CDATA[onStream &#8211; The Broadcasting Machine is the name of my latest flash project. Slogan says: &#8220;Broadcast LIVE video to your friends or the whole world from a computer or mobile. Watch other people broadcasting their webcamera, conferences, shows or movies.&#8221; With this flash application you can broadcast your webcamera, tv card, desktop or movies (read [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.yoz.sk/wp-content/uploads/onsrteam.jpg" alt="" title="onsrteam" width="200" height="100" class="alignleft size-full wp-image-2022" /></p>
<p><a href="http://onstream.yoz.sk"><strong>onStream &#8211; The Broadcasting Machine</strong></a> is the name of my latest flash project. Slogan says: &#8220;<strong>Broadcast LIVE video to your friends or the whole world from a computer or mobile. Watch other people broadcasting their webcamera, conferences, shows or movies.</strong>&#8221; With this flash application you can broadcast your webcamera, tv card, desktop or movies (read the section &#8220;What can be broadcasted?&#8221;). With different broadcasting settings you can broadcast to unlimited number of viewers as well as make private videochats. Based on your connection speed, choose appropriate quality for your broadcasts from 320&#215;160 px webcamera resolution with 11kHz sound sampling up to high definition broadcasts.</p>
<p>The application is located on <a href="http://onstream.yoz.sk">http://onstream.yoz.sk</a> and there also exist a facebook application <a href="http://apps.facebook.com/onstream/">http://apps.facebook.com/onstream/</a>. You can also publish and run the application from facebook newsfeed stream.</p>
<p><span id="more-2020"></span></p>
<p><iframe src="http://www.facebook.com/plugins/likebox.php?id=141145105902107&amp;width=400&amp;connections=0&amp;stream=false&amp;header=false&amp;height=62" scrolling="no" frameborder="0"  allowTransparency="true"></iframe></p>
<h3>UI, requirements, technology</h3>
<p>I have created custom UI components that easily works on ordinary PCs (mouse controlled) as well as on touch devices. You can switch the whole app or just one channel into fullscreen. Targeting Flash Player 10.1, you are able to use this application even on your android phones. The technology behind the app uses RTMFP protocol that use Flash Player for P2P communication between users (<a href="http://blog.yoz.sk/2010/06/quick-tip-ports-required-for-rtmfp/">see protocol requirements</a>). Together the Flash Player 10.1 and RTMFP let you create <a href="http://www.flashrealtime.com/multicast-explained-flash-101-p2p/">multicast streaming</a>, what is expected to work on large streaming groups.</p>
<h3>Broadcasting modes</h3>
<ul>
<li><strong>Public / Private</strong> &#8211; With public mode anyone can search for your channel (based on channel name or description), while in private mode only people with correct link may join.</li>
<li><strong>Broadcast / Video Chat</strong> &#8211; Broadcast your channel to unlimited number of viewers or select video chat mode where anyone who joins channel see and broadcast each other. Use broadcast mode for your live tweets, conferences, video or sound streaming.</li>
</ul>
<h3>What can be broadcasted?</h3>
<ul>
<li><strong>Webcamera &amp; Microphone</strong> &#8211; By default, you can select all your system installed webcameras and microphones.</li>
<li><strong>MP3s</strong> / PC sounds &#8211; if your soundcard driver supports &#8220;<a href="http://www.google.cz/search?sourceid=chrome&#038;ie=UTF-8&#038;q=Stereo-Mix">Stereo-Mix</a>&#8221; (&#8220;Mono-mix&#8221; &#8220;Wave Out&#8221;, &#8220;What U Hear&#8221;&#8230;), just make it as default sound source instead of your microphone</li>
<li><strong>TV card</strong> &#8211; If you have one, plug it in and you should see your tv car in list (based on driver details).</li>
<li><strong>Desktop / Movies / Images</strong> &#8211; There is some software available that let you broadcast your pc desktop, movies or images etc. My personal favourite is <a href="http://www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/VH-Toolkit.shtml">VH Toolkit</a> (freeware) but there are also simplier alternatives like <a href="http://www.manycam.com/">ManyCam</a> (free), <a href="http://www.fakewebcam.com/">Fake Webcam</a> (paid)&#8230;</li>
</ul>
<h3>Publishing channels</h3>
<p>Once the broadcasting channel is created, there are several ways viewers notice:</p>
<ul>
<li><strong>Search</strong> &#8211; If the channel is in public mode, anyone can search / list the channel in the search section of the app.</li>
<li><strong>Link</strong> &#8211; Any channel has its own unique link, click clipboard icon to copy this link into system clipboard and share link with your friends.</li>
<li><strong>Facebook</strong> &#8211; Click facebook icon to publish the channel directly into your facebook newsfeed.</li>
</ul>
<h3>Screencast</h3>
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yoz.sk/2010/07/onstream-the-broadcasting-machine/?utm_source=rss&utm_medium=rss&utm_campaign=onstream-the-broadcasting-machine/feed</wfw:commentRss>
		</item>
		<item>
		<title>RobotLegs: jak zajistit správnou funkčnost v projektech vytvářených ve Flash IDE</title>
		<link>http://www.viktorbezdek.cz/2010/07/robotlegs-jak-zajistit-spravnou-funkcnost-v-projektech-vytvarenych-ve-flash-ide/</link>
		<comments>http://www.viktorbezdek.cz/2010/07/robotlegs-jak-zajistit-spravnou-funkcnost-v-projektech-vytvarenych-ve-flash-ide/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 17:24:30 +0000</pubDate>
		<dc:creator>Viktor Bezděk</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">tag:www.viktorbezdek.cz://6b5a74957e18e95ccef0f542c9b9436b</guid>
		<description><![CDATA[Po dlouhé době dělám projekt, který se kompiluje přes Flash IDE (CS5) a dlouhou dobu mi z důvodů, kterým jsem nerozumněl, nefungovaly RobotLegs. Injectované modely nebyly přístupné, contextView mimo MainContext také ne&#8230;no v podstatě to nefungovalo vůbec. Řešení celého problému je naštěstí více než jednoduché v Publish settings stačí zapnout Export SWC. RobotLegs je závislé [...]]]></description>
			<content:encoded><![CDATA[<p>Po dlouhé době dělám projekt, který se kompiluje přes Flash IDE (CS5) a dlouhou dobu mi z důvodů, kterým jsem nerozumněl, nefungovaly RobotLegs. Injectované modely nebyly přístupné, contextView mimo MainContext také ne&#8230;no v podstatě to nefungovalo vůbec. Řešení celého problému je naštěstí více než jednoduché v Publish settings stačí zapnout Export SWC. RobotLegs je závislé [...]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viktorbezdek.cz/2010/07/robotlegs-jak-zajistit-spravnou-funkcnost-v-projektech-vytvarenych-ve-flash-ide/feed</wfw:commentRss>
		</item>
		<item>
		<title>AS3-P2P-LIB and P2P Video Calls on Android</title>
		<link>http://www.flashrealtime.com/as3-p2p-lib-and-p2p-video-calls-on-android/</link>
		<comments>http://www.flashrealtime.com/as3-p2p-lib-and-p2p-video-calls-on-android/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 08:15:30 +0000</pubDate>
		<dc:creator>Tom Krcha</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://www.flashrealtime.com/?p=1742</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://www.flashrealtime.com/as3-p2p-lib-and-p2p-video-calls-on-android/feed</wfw:commentRss>
		</item>
		<item>
		<title>Neverending Facebook API changes</title>
		<link>http://blog.yoz.sk/2010/07/neverending-facebook-api-change/?utm_source=rss&utm_medium=rss&utm_campaign=neverending-facebook-api-change</link>
		<comments>http://blog.yoz.sk/2010/07/neverending-facebook-api-change/?utm_source=rss&utm_medium=rss&utm_campaign=neverending-facebook-api-change#comments</comments>
		<pubDate>Wed, 21 Jul 2010 11:35:09 +0000</pubDate>
		<dc:creator>josefchutka</dc:creator>
		
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://blog.yoz.sk/?p=1998</guid>
		<description><![CDATA[Believe it or not, facebook changed part of its api again. Since today, authorizing for iframe applications does not work the same way it used to. Previously it was enough to redirect: https://graph.facebook.com/oauth/authorize ?client_id=268718683475 &#38;redirect_uri=http://apps.facebook.com/blogoauthgraph/ &#38;scope=publish_stream,user_photos,user_photo_video_tags &#8230; where facebook authorized your app and redirects back to the: http://apps.facebook.com/blogoauthgraph/ ?session=123456... &#8230; where session was valid access_token. [...]]]></description>
			<content:encoded><![CDATA[<p>Believe it or not, facebook changed part of its api again. Since today, authorizing for iframe applications does not work the same way it used to. Previously it was enough to redirect:</p>
<pre class="brush: plain;">https://graph.facebook.com/oauth/authorize
    ?client_id=268718683475
    &amp;redirect_uri=http://apps.facebook.com/blogoauthgraph/
    &amp;scope=publish_stream,user_photos,user_photo_video_tags</pre>
<p>&#8230; where facebook authorized your app and redirects back to the:</p>
<pre class="brush: plain;">http://apps.facebook.com/blogoauthgraph/
    ?session=123456...</pre>
<p>&#8230; where session was valid access_token.</p>
<p><span id="more-1998"></span></p>
<p>Since today the mechanism changed into something like this:</p>
<pre class="brush: plain;">https://graph.facebook.com/oauth/authorize
    ?client_id=268718683475
    &amp;redirect_uri=http://apps.facebook.com/blogoauthgraph/
    &amp;scope=publish_stream,user_photos,user_photo_video_tags</pre>
<p>&#8230; redirects you to the:</p>
<pre class="brush: plain;">http://apps.facebook.com/blogoauthgraph/
    ?code=2.YndguK...</pre>
<p>&#8230; while you do not have valid session (access_token), you have to do the following request:</p>
<pre class="brush: plain;">https://graph.facebook.com/oauth/access_token
    ?client_id=268718683475
    &amp;redirect_uri=http://apps.facebook.com/blogoauthgraph/
    &amp;client_secret=YOURSECRET
    &amp;code=2.YndguK...</pre>
<p>&#8230; now facebook responds with:</p>
<pre class="brush: plain;">access_token=268718683475|2.Yndgu...&amp;expires=86183</pre>
<p>Notice, this is the response, not the redirect! Now its time to grab the access_token and use it in your app. This change has direct impact on <a href="http://blog.yoz.sk/2010/06/authorizing-iframe-facebook-applications-for-graph-api/">Authorizing Iframe Facebook Applications For Graph API</a> article.</p>
<p>There have also been some other unannounced changes e.g. in facebook app settings in migrations tab &#8220;Remove fb_sig&#8221; toggler&#8230;</p>
<p>Credits goes to my readers Adam Cousins, <a href="http://davidbardos.com/">David Bardos</a>, Garcimore, <a href="http://www.etiennelescot.fr/">Etienne</a> for noticing the changes.</p>
<p>I have just spotted quick fix. All you need to do is add type=user_agent into your auth request:</p>
<pre class="brush: plain;">https://graph.facebook.com/oauth/authorize
    ?client_id=268718683475
    &amp;redirect_uri=http://apps.facebook.com/blogoauthgraph/
    &amp;scope=publish_stream,user_photos,user_photo_video_tags
    &amp;type=user_agent</pre>
<p>&#8230; now facebook redirects you to:</p>
<pre class="brush: plain;">http://apps.facebook.com/blogoauthgraph/
    ?access_token=123456...
    &amp;expires_in=86729</pre>
<p>This token is valid! I have updated the <a href="http://blog.yoz.sk/2010/06/authorizing-iframe-facebook-applications-for-graph-api/">article</a> with this quickfix.</p>
<p>updated Jul 22, 2010: Facebook rollbacked the change and added &#8220;Canvas Session Parameter&#8221; parameter in facebook app settings / Migrations tab. With this setting enabled, your apps should work normally as they previously did.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yoz.sk/2010/07/neverending-facebook-api-change/?utm_source=rss&utm_medium=rss&utm_campaign=neverending-facebook-api-change/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
