<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Penguin.SWF</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.adobe.com/penguin.swf/atom.xml" />
   <id>tag:blogs.adobe.com,2009:/penguin.swf//72</id>
    <link rel="service.post" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72" title="Penguin.SWF" />
    <updated>2009-11-17T05:07:04Z</updated>
    <subtitle>Penguin.SWF tracks development status and issues regarding the Linux version of Adobe’s Flash Player.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.261</generator>
 

<entry>
    <title>Flash Player 10.1 Beta</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2009/11/flash_player_101_beta.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=44097" title="Flash Player 10.1 Beta" />
    <id>tag:blogs.adobe.com,2009:/penguin.swf//72.44097</id>
    
    <published>2009-11-17T08:01:00Z</published>
    <updated>2009-11-17T05:07:04Z</updated>
    
    <summary>Flash Player 10.1 available for download...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p><a href="http://labs.adobe.com/downloads/flashplayer10.html">The beta of Flash Player 10.1 is available for download via labs.adobe.com.</a> For this beta release, there is only a 32-bit plugin available for Linux (64-bit users will still need to use the previously released alpha version).</p>

<p><a href="https://bugs.adobe.com/flashplayer/">Bugs can be reported and tracked here.</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Hardware Accelerated Video Playback</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2009/10/hardware_accelerated_video_pla.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=43478" title="Hardware Accelerated Video Playback" />
    <id>tag:blogs.adobe.com,2009:/penguin.swf//72.43478</id>
    
    <published>2009-10-09T16:41:53Z</published>
    <updated>2009-10-09T17:10:14Z</updated>
    
    <summary>Hardware accelerated video playback in the forthcoming Flash Player 10.1</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Check out this press release from earlier this week at Adobe MAX regarding the forthcoming Adobe Flash Player version 10.1 -- <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200910/100509AdobeandnVidia.html">GPU-Accelerated Netbooks from HP, Lenovo and Samsung Support full Flash Player</a>:</p>

<blockquote>
The combination of NVIDIA GPUs and Adobe Flash Player 10.1 enables device manufacturers to deliver uncompromised Web browsing of rich applications, interactive content and HD video with substantially decreased power consumption. With the support of the NVIDIA GeForce®, NVIDIA ION™ and Tegra™ products users will be able to enjoy a much smoother viewing experience when accessing rich content built with the Flash Platform including HD and SD video from popular sites like Hulu.com or YouTube.
</blockquote>

<p>In answer to any other questions regarding this feature: The above is what the press release says so that's what I'm allowed to pass along.</p>]]>
        
    </content>
</entry>

<entry>
    <title>In The News</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2009/08/in_the_news.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=42167" title="In The News" />
    <id>tag:blogs.adobe.com,2009:/penguin.swf//72.42167</id>
    
    <published>2009-08-06T00:58:34Z</published>
    <updated>2009-08-06T01:30:22Z</updated>
    
    <summary>As seen in the popular webcomic xkcd...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Adobe recently released a new Flash Player version for all supported platforms (including the 64-bit Linux alpha) which addresses a number of important security issues. I suspect that by now, the update has propagated through most distributions' package management systems. If your Flash Player version (<a href="http://www.adobe.com/software/flash/about/">see here</a>) is less than 10.0.32.18, do consider upgrading soon. <em>(After all, we don't wish to undermine the platform's <a href="http://pwnie-awards.org/2009/awards.html">rock-solid reputation for security</a>.)</em></p>

<p>See the sidebar for download locations.</p>

<p>In other news, as you can imagine, <a href="http://xkcd.com/619/">today's xkcd comic</a> made the rounds in the office. That's good stuff; there are layers of meaning behind those pithy stick figures. I guess this would be a good time to link back to my post about <a href="http://blogs.adobe.com/penguin.swf/2008/05/flash_uses_the_gpu.html">hardware acceleration in Flash on Linux</a> and invite another round of questions that are already clearly answered in that post.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Serving Two Master Libraries</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2009/05/glibc_fork.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=10468" title="Serving Two Master Libraries" />
    <id>tag:blogs.adobe.com,2009:/penguin.swf//72.10468</id>
    
    <published>2009-05-08T23:00:00Z</published>
    <updated>2009-05-08T23:14:07Z</updated>
    
    <summary>I&apos;m worried about the news that Debian is switching C libraries...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>I don't mind telling you that I'm a little nervous about this <a href="http://blog.aurel32.net/?p=47">business of Debian switching to EGLIBC</a>. I know, it's supposed to be binary compatible and it shouldn't matter to application developers. Does that include developers of closed source binaries? In developing the Flash Player, we've seen problems with C library compatibility before, and that was just in trying to support a single C library across multiple distributions. So now I'm worried about subtle API or binary incompatibilities that may arise between the 2 C libraries.</p>

<p>So far, this is a Debian move. But that may influence other distributions. From reading various sources and bug trackers, it looks like more distributions are evaluating the idea (or perhaps just fielding questions from users who are not up to speed on the issues but who have read the headlines).</p>

<p>There are already enough challenges in trying to produce a single binary that runs across as many Linux distributions as possible. But who knows? Maybe this will whole episode blow over like <a href="http://blogs.adobe.com/penguin.swf/2007/05/welcome_to_the_jungle.html">so many audio APIs</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Now Supporting 16 Exabytes</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/11/now_supporting_16_exabytes.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=8078" title="Now Supporting 16 Exabytes" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.8078</id>
    
    <published>2008-11-17T08:02:00Z</published>
    <updated>2008-11-17T06:33:54Z</updated>
    
    <summary>64-BIT FLASH FOR LINUX!!!! NOW!!!</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>We are pleased to announce that there is now a version of the Flash Player for Linux that supports <a href="http://linuxhaters.blogspot.com/2008/07/my-browser-needs-16-exabytes.html">16 theoretical exabytes</a> of physical memory. This technological feat is accomplished using a bleeding edge type of processor known as a 64-bit CPU.</p>

<center>
<a href="http://commons.wikimedia.org/wiki/Image:Zilog_Z80.jpg"><img alt="Zilog_Z80.jpg" src="http://blogs.adobe.com/penguin.swf/Zilog_Z80.jpg" width="300" />
<br />
<em>Pictured: the next big thing-- an <strong>80-bit</strong> CPU</em></a><em>; but 64 bits will have to do for now</em>
</center>

<p>So we have this x86-64 version of the Linux Flash Player available for those Linux users who have moved on to fully 64-bit computing environments. <a href="http://labs.adobe.com/technologies/flashplayer10/"><strong>Go get it now on Labs.</strong></a> Be advised that this is pre-release quality. We hope to receive useful feedback about what areas need to be improved. <em>You can help.</em> You can <a href="https://bugs.adobe.com/flashplayer/">report bugs at the Flash Player bug tracker</a>. Hey, it gets results-- the 64-bit issue is approaching resolution. Or you can try the customary drive-by bug report in the comments section (<em>"I tried it on XYZ distro and it didn't work!"</em>) which is almost guaranteed to help no one.</p>

<p>I feel a bit sentimental about it all. It's weird, but I think I'm going to miss the hundreds of comments on every post gently requesting a 64-bit version. So don't be afraid to pop in with a <strong>"64-BIT NOW!!!1!!"</strong> comment every so often, you know, just for old time's sake.</p>]]>
        
    </content>
</entry>

<entry>
    <title>SWF And FLV 10 Specs</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/11/swf_and_flv_10_specs.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=8079" title="SWF And FLV 10 Specs" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.8079</id>
    
    <published>2008-11-17T08:01:00Z</published>
    <updated>2008-11-17T05:22:54Z</updated>
    
    <summary>Tech stuff, for the Flash geeks out there...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>The version 10 updates of both the SWF and FLV specs are available for your inspection:</p>

<ul>
<li><a href="http://www.adobe.com/devnet/swf/">SWF spec</a></li>
<li><a href="http://www.adobe.com/devnet/flv/">FLV spec</a></li>
</ul>

<p>Here are some of the things added, changed, or corrected:<br />
<ul><br />
<li>new DefineBitsJPEG4 tag (90), with deblocking filter</li><br />
<li>new DefineFont4 tag (91)</li><br />
<li>described how to embed <a href="http://speex.org/">Speex</a> into SWF and FLV</li><br />
<li>described how to embed <a href="http://www.adobe.com/products/xmp/">XMP metadata</a> in FLV</li><br />
<li>new flags in the FileAttributes tag describe whether a SWF requires the <a href="http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html">new 'gpu' or 'direct' WMODEs</a> (only useful when running a SWF in a standalone player where there is no encompassing HTML to specify WMODE)</li><br />
<li>new flag in DefineShape4 describes whether the shape uses fill winding rule</li><br />
<li>rearranged some chapters to (hopefully) make the SWF spec flow better</li><br />
<li>revised DefineBitsJPEG2 and DefineBitsJPEG3 to mention how they can be used to store GIF and PNG data as well as JPEG (as can the new DefineBitsJPEG4 tag; yes, the tag names are a bit misleading, but they're a bit too entrenched to be changed now)</li><br />
<li>revised description of the Flash Screen Video v2 codec format</li><br />
<li>in F4V, several signed values were incorrectly marked as unsigned</li><br />
<li>fixed description of Flash ADPCM (initial predictors are signed, not unsigned; block size was off by 1)</li><br />
<li>both documents now thoroughly describe which parameters (channels, bit resolution, sample rate) are fixed or flexible depending on the audio codec</li><br />
<li>the FileAttributes tag came about in SWF 8 rather than SWF 1</li><br />
<li>fixed the FileAttributes tag, which specifies a Metadata data structure -- not a SymbolClass -- with the hasMetadata flag</li><br />
<li>in  ButtonRecord and PlaceObject3, list the correct codes for the difference, add, and subtract blend modes</li><br />
<li>PlaceObject3 tag description was missing a bitmap caching byte (should have been there since SWF 8 spec)</li><br />
<li>in FillStyle, a GradientMatrix is also present for fill style 0x13</li><br />
<li>SWF spec now uses "opacity" instead of "transparency" in many places in order to more accurately describe blending behavior</li><br />
<li>clarified the maximum length of a SWF file</li><br />
<li>fixed several examples</li><br />
<li>fixed numerous inconsistencies in the Actions chapter</li><br />
</ul></p>

<p>Thanks to Michael, Baptiste, both Benjamins, Bobby, Amol, Cody, Matthew, Romi, and anyone else I might have missed who also offered corrections and suggestions for improvements.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Flash Player 10 Is Live</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/10/flash_player_10_is_live.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=7685" title="Flash Player 10 Is Live" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.7685</id>
    
    <published>2008-10-15T07:01:00Z</published>
    <updated>2009-03-04T18:36:43Z</updated>
    
    <summary>10 is out, better than ever...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>The release version of Flash Player 10 is out there and <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&P2_Platform=Linux">available for download</a>. Hopefully, it will soon be available from your favorite automated update repository since such package management should resolve the <a href="http://blogs.adobe.com/penguin.swf/2008/08/library_expansion.html">new dependencies needed for Flash Player 10</a>.</p>

<p>Well, that's really all I have to say at the moment. Release announcements for final Player versions are always a tad anticlimactic since we have already been doing beta and prerelease work for months. Though it should be noted that <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&P2_Platform=Linux">the Linux download page</a> now hosts .deb packages in addition to .tar.gz and .rpm.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Firefox 3.0.2: The Wmode Fix</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/09/firefox_302_get_it.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=7482" title="Firefox 3.0.2: The Wmode Fix" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.7482</id>
    
    <published>2008-09-24T17:51:44Z</published>
    <updated>2008-09-24T21:40:37Z</updated>
    
    <summary>No more wmode crashers...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Firefox 3.0.2 is now out. Lots of security fixes. But for Linux users, the most interesting item that slipped through is "the wmode fix"-- Firefox 3.0.2 fixes the problem of instant, repeatable crashes on a number of windowless-enabled websites. Upgrade quickly, at least for that reason. It's probably most readily available through your package manager.</p>

<p>Also, I neglected to mention that a new Flash Player release candidate (designated 10.0.12.10) is available for download. You shouldn't notice much difference with this RC vs. the previous RC. Of course, I expect there will be users for whom this RC changes everything, whether for better or worse. That's just how it is in this Linux game.</p>

<p><strong>Links:</strong><br />
<ul><br />
<li><a href="http://labs.adobe.com/technologies/flashplayer10/">Flash Player Release Candidate (10.0.12.10)</a></li><br />
<li><a href="http://www.mozilla.com/">Mozilla.com</a> -- download the Firefox 3.0.2 Linux browser for your preferred language</li><br />
</ul></p>]]>
        
    </content>
</entry>

<entry>
    <title>Random Blog Post</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/08/random_blog_post.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=7168" title="Random Blog Post" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.7168</id>
    
    <published>2008-08-22T04:01:08Z</published>
    <updated>2008-08-22T04:04:29Z</updated>
    
    <summary>Is it breathing?</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>I found this <a href="http://thebackbutton.com/blog/73/64-bit-linux-freebsd-flash-player-exists/">random blog post</a> just now. What has my coworker <a href="http://www.kaourantin.net/">Tinic</a> been up to?</p>]]>
        
    </content>
</entry>

<entry>
    <title>cURL Tradeoffs</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/08/curl_tradeoffs.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=7166" title="cURL Tradeoffs" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.7166</id>
    
    <published>2008-08-22T00:00:35Z</published>
    <updated>2008-08-22T00:01:04Z</updated>
    
    <summary>The lowdown on cURL...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Sometimes, the Flash Player needs to do HTTP stuff. Most of the time, it's enough for the Flash Player to use plugin/browser functions (<a href="http://en.wikipedia.org/wiki/NPAPI">NPAPI</a>) to achieve this. However, it is occasionally necessary to go above and beyond what NPAPI provides. While the Windows and Mac versions have standard platform APIs to call upon for that little something extra in the HTTP department, the closest thing that Linux has to a standard is the longstanding <a href="http://curl.haxx.se/">cURL library</a>.</p>

<p>We started using cURL during the Flash Player 9 development cycle. At the time, we did not assess that cURL was widespread enough to link to it dynamically. So we included it in the binary, as <a href="http://curl.haxx.se/docs/copyright.html">permitted by the cURL license</a>.</p>

<p>During the Flash Player 10 development cycle, we decided to make cURL the end user's responsibility, i.e., dynamically link to cURL, just as we do with a <a href="http://blogs.adobe.com/penguin.swf/2006/09/librarian.html">number of other libraries</a>. In doing so, it's one less thing for us to manage internally. Plus, end users can manage cURL-related updates and bug fixes themselves. But wouldn't you know, there are problems with this approach. There are 2 versions of libcurl.so floating about in the wild: libcurl.so.3 (corresponding to cURL < 7.16) and libcurl.so.4 (corresponding to cURL >= 7.16). Most modern distributions come with the latter. But a few stragglers (that we are still committed to support) are still using the former.</p>

<p>A few possible solutions:</p>

<ol>
<li>Build and distribute 2 separate binaries, one for libcurl.so.3 and one for libcurl.so.4, thus doubling our own internal testing efforts. Heh, naw, I don't think so.</li>
<li>Place a hard requirement in the binary to link to libcurl.so.3. Many distros that have libcurl.so.4 have a symlink from libcurl.so.3.</li>
<li>Place a hard requirement in the binary to link to libcurl.so.4, thereby freezing out any distros that still use libcurl.so.3.</li>
<li>Manually load the required cURL functions at runtime.</li>
<li>Sprinkle magic open source pixie dust on the Flash Player (<em>solves all problems, don't ya know</em>). Can you say "nonstarter"?</li>
</ol>

<p>For the most recent release candidate of Flash Player 10, we opted for choice 2. This seemed to work for most distros except, most notably, Fedora systems which did not feature the symlink from .so.3 -> .so.4. Apparently, there's another reason not to rely on this method, though. The cURL functions are reportedly version-checked so that if the Flash Player links to libcurl.so.3, we are not certain we will actually be getting the most recent code present in libcurl.so.4.</p>

<p>The next thing we are going to try is option 4-- manually load the library, the same as we already do with ALSA and OpenGL. <strong>We will use dlopen() and dlsym() to load required functions from libcurl.so.4. If that library is not there, fall back to libcurl.so.3.</strong> Look for this behavior in the next release. If that library is not there... why not? Oh, and refuse to load the Flash Player in that circumstance.</p>

<p>I know many users are frustrated that we seem to be spending time on what might be perceived as minor issues when there are certain <a href="http://blogs.adobe.com/penguin.swf/2006/10/whats_so_difficult_64bit_editi.html">"bigger picture" items</a> that are a little more visible. Believe me, we share that sentiment. Maybe one day, more of these little items will be <a href="http://www.linuxfoundation.org/en/LSB">standardized</a> so we don't have to use so much developer time making sure 1% of the Flash feature set works correctly on Linux.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Windowless Mode Fix</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/08/windowless_mode_fix.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=6895" title="Windowless Mode Fix" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.6895</id>
    
    <published>2008-08-13T08:42:15Z</published>
    <updated>2008-08-13T21:08:02Z</updated>
    
    <summary>As a reminder, Firefox 3.0.1 has a known crash problem with a wide variety of windowless mode SWFs. This has already been fixed in the Mozilla code tree and alpha builds are available for download. However, if you would prefer...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>As a reminder, Firefox 3.0.1 has a known crash problem with a wide variety of windowless mode SWFs. This has already been fixed in the Mozilla code tree and <a href="http://blogs.adobe.com/penguin.swf/2008/07/addessing_wmode_crashes.html">alpha builds are available for download</a>. However, if you would prefer to wait until a new official Firefox release, you may wish to disable windowless mode in the Flash Player. You can do this (on any platform) by setting WindowlessDisable=true in the mms.cfg (which <a href="http://blogs.adobe.com/penguin.swf/2008/08/secrets_of_the_mmscfg_file_1.html">lives in /etc/adobe</a> on Unix platforms).</p>]]>
        
    </content>
</entry>

<entry>
    <title>Secrets Of The mms.cfg File</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/08/secrets_of_the_mmscfg_file_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=6876" title="Secrets Of The mms.cfg File" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.6876</id>
    
    <published>2008-08-12T19:12:19Z</published>
    <updated>2008-08-12T19:46:56Z</updated>
    
    <summary>Sssshhh... don&apos;t tell anyone...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Did you know that the Adobe Flash Player honors a few configuration files on the user's local file system? There are 2 such files:</p>

<ol>
<li>mm.cfg: user-local configuration file; lives in user's home directory on Unix systems and is largely only useful when using content debugger versions of the Player</li>
<li>mms.cfg: system-wide configuration file, designed to allow administrators to set policy for all users on a system; lives in /etc/adobe on Unix systems</li>
</ol>

<p>There is a <a href="http://www.adobe.com/devnet/flashplayer/articles/flash_player_admin_guide.html">lengthy guide</a> available that describes all of the various administration features and what the mms.cfg can do for you.</p>

<p>The reason I bring this up is that there is a new option in mms.cfg that will be of use to Linux users: "OverrideGPUValidation". Pursuant to the need to have such <a href="http://blogs.adobe.com/penguin.swf/2008/05/flash_uses_the_gpu.html">stringent rules for validating whether the Linux Flash Player can use the GPU</a>. If you wish to force the Flash Player to bypass its GPU validity checks, add "OverrideGPUValidation=true" (without the quotes) to your mms.cfg.</p>

<p>But please don't expect the option to be a magical speed boost option for the Flash Player as a whole. <a href="http://blogs.adobe.com/penguin.swf/2008/05/flash_uses_the_gpu.html">Reread the original post on the matter</a> to understand where GPU acceleration helps and where it doesn't. And if you are planning to ask about Xv support, read the post <em>again</em> until the message clicks.</p>]]>
        
    </content>
</entry>

<entry>
    <title>10rc</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/08/10rc1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=6873" title="10rc" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.6873</id>
    
    <published>2008-08-11T19:27:44Z</published>
    <updated>2008-08-11T19:32:08Z</updated>
    
    <summary>It&apos;s better all around, really...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Adobe Flash Player version 10rc (designated build 569) is live. <a href="http://labs.adobe.com/technologies/flashplayer10/">Go get it.</a> Items to observe about this build:</p>

<ul>
<li>Camera input works a whole lot better (V4L1 and V4L2 cameras both work; V4L2 cameras don't peg the CPU anymore)</li>
<li>Software fullscreen performance is vastly improved</li>
<li>Faster, more stable windowless mode (but be sure to use very recent browser builds)</li>
<li>SSL now handled through NSS instead of flashsupport-OpenSSL alliance</li>
<li>White speckles are gone from video playback</li>
<li>Important stability fixes (fewer crashes)</li>
<li>Still not 64-bit native, just to get that out of the way</li>
</ul>

<p>We tested the new NSS stuff on various popular [32-bit] Linux distributions and found that all the necessary libraries are present. If the NSS and cURL libraries are not present (as described in the <a href="http://blogs.adobe.com/penguin.swf/2008/08/library_expansion.html">previous post</a>), Flash Player will refuse to load.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Library Expansion</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/08/library_expansion.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=6853" title="Library Expansion" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.6853</id>
    
    <published>2008-08-08T18:59:51Z</published>
    <updated>2008-08-08T20:23:19Z</updated>
    
    <summary>cURL, NSS, and a recent version of glibc...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>Be forewarned: Flash Player 10 for Linux will have more external library dependencies. These are very new requirements that were not required in either of the 2 released FP10 beta builds publicly released so far.</p>

<ul>
<li><a href="http://curl.haxx.se/">cURL</a></li>
<li><a href="http://www.mozilla.org/projects/security/pki/nss/">Mozilla's Network Security Services (NSS)</a></li>
<li>Further, glibc >= 2.4</li>
</ul>

<p>To what end? Most notably, the Linux Flash Player binary will no longer need to rely on a separate module called <a href="http://sourceforge.net/projects/flashsupport">flashsupport</a> in order to support secure connections. Supporting <a href="http://openssl.org/">OpenSSL</a> was the original motivation for creating the flashsupport library. We are moving to Mozilla's NSS which ought to be installed alongside Mozilla.</p>

<p>Will libflashsupport continue to be supported? Partially. Flash Player 10 will no longer care what libflashsupport.so has to say about SSL. However, it will still pay attention to the sound output functions (fpx_soundoutput_*) so that end users can continue to implement support for an <a href="http://blogs.adobe.com/penguin.swf/2007/05/welcome_to_the_jungle.html">ever-growing number of Linux audio APIs</a>. The camera input functions (fpx_videoinput_*) were never implemented and that will not change now. Hopefully, the revised Video4Linux camera support in Flash Player 10 will solve many  Linux camera problems (V4L1 will be supported in the final and V4L2 will no longer chew up all the CPU time).</p>

<p>Thanks to the many people who reported camera information in my last blog post. I guess YUYV is the most important colorspace out there. Here's another end user query: What glibc version do you have on your current Linux system(s)? And what distro is it? And how on earth did you figure out what glibc version you have? For such an important part of the system, it sure is hard to find a consistent method to query this information. A little searching has revealed these 2 methods:</p>

<ul>
<li>DEB-based systems: 'dpkg -l | grep libc6'</li>
<li>RPM-based systems: 'rpm -q glibc'</li>
</ul>]]>
        
    </content>
</entry>

<entry>
    <title>Paparazzi v2</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/penguin.swf/2008/07/paparazzi_v2_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=72/entry_id=6474" title="Paparazzi v2" />
    <id>tag:blogs.adobe.com,2008:/penguin.swf//72.6474</id>
    
    <published>2008-07-14T19:00:00Z</published>
    <updated>2008-07-14T18:52:56Z</updated>
    
    <summary>Watch this...</summary>
    <author>
        <name>Mike Melanson</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/penguin.swf/">
        <![CDATA[<p>This is my monitor at work:</p>

<center>
<img alt="Penguin Paparazzi" src="http://blogs.adobe.com/penguin.swf/penguin-paparazzi-small.jpg" width="350" height="215" />
</center>

<p>Coworkers passing by are beginning to think I'm somewhat vain. Don't ask about that sumo camera. Just... nevermind.</p>

<p>Anyway, the second beta of Flash Player 10/Astro includes native support for cameras conforming to the Video4Linux v2 API (V4L2). The support is not complete, however, owing to the fact that there are dozens of different colorspaces that a V4L2 camera can provide to a user application. I suspect that this is a manifestation of the do-it-yourself spirit of Linux, i.e., if you need support for a particular format, you need to code it yourself.</p>

<p>So the first pass at V4L2 support in the Linux Flash Player contains handlers for quite a few different pixel formats. Only 2 of them have been tested so far. (I should point out that, of all the cameras in the picture above, only 2 work in V4L2 and also output a usable format.) The rest of the formats were just implemented blindly.</p>

<p><strong>So I'm hoping to get your help in testing these formats.</strong></p>

<p>My corporate masters have authorized me to release the source code for a small utility to gather basic data about a V4L2 camera:</p>

<ul>
<li><a href="http://blogs.adobe.com/penguin.swf/v4l2-formats.c">Source code, build instructions included</a>; or if you're not comfortable with building...</li>
<li><a href="http://blogs.adobe.com/penguin.swf/v4l2-formats">Pre-compiled x86_32 binary</a></li>
</ul>

<p>An example run:<br />
<pre><br />
$ ./v4l2-formats /dev/video0<br />
/dev/video0 is a V4L2 device named 'VF0410 Live! Cam Video IM Pro'<br />
/dev/video0 is capable of video capture<br />
/dev/video0 is capable of streaming capture<br />
/dev/video0 supports 'YUV 4:2:2 (YUYV)' (raw format, V4L2_PIX_FMT_YUYV)<br />
/dev/video0 supports 'MJPEG' (compressed format, V4L2_PIX_FMT_MJPEG)<br />
</pre></p>

<p>Please download the utility and run it on each /dev/videoN device you have on your system. You will ideally have one such device for each camera attached to your system: /dev/video0, /dev/video1, etc. Then, go ahead and post the results in a comment below.</p>

<p>Also, it would help if you could test out the V4L2 capabilities of the current Flash Player 10 beta and let me know, along with the foregoing technical data, whether or not your camera gives you a picture through Flash, without crashing, and if it looks correct. <a href="http://www.gskinner.com/blog/archives/2005/08/flash_8_webcam.html">Check out this snowfall SWF for a good example.</a></p>

<p>One more thing: If you include your email address in the form's email field (not in the actual message content), and you report that your camera does not work correctly, I may contact you directly if I deem that you could be useful for collecting more data.</p>

<p>Technical notes: <a href="http://www.linuxtv.org/downloads/video4linux/API/V4L2_API/spec-single/v4l2.html">The official documentation</a> recommends VIDIOC_TRY_FMT in order to determine camera capabilities. In my experience, VIDIOC_TRY_FMT lies. I have a camera that claims to support every format in V4L2. I found VIDIOC_ENUM_FMT to be more reliable.</p>]]>
        
    </content>
</entry>

</feed> 

