<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Record Your Core Animation Animation</title>
	<atom:link href="http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/</link>
	<description>Taglines are for Windows programmers</description>
	<lastBuildDate>Mon, 26 Jul 2010 16:50:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Lukasz</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1310</link>
		<dc:creator>Lukasz</dc:creator>
		<pubDate>Fri, 26 Mar 2010 09:36:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1310</guid>
		<description>&lt;p&gt;Can you give an example of how to join images into a movie using ffmpeg ?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Can you give an example of how to join images into a movie using ffmpeg ?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Long</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1307</link>
		<dc:creator>Matt Long</dc:creator>
		<pubDate>Wed, 24 Mar 2010 19:57:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1307</guid>
		<description>&lt;p&gt;@Lukasz&lt;/p&gt;

&lt;p&gt;Unfortunately, joining the images together into a movie is the hard part. Unless you want to roll your own encoder, you will need to use a library like ffmpeg.&lt;/p&gt;

&lt;p&gt;-Matt&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Lukasz</p>

<p>Unfortunately, joining the images together into a movie is the hard part. Unless you want to roll your own encoder, you will need to use a library like ffmpeg.</p>

<p>-Matt</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Lukasz</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1306</link>
		<dc:creator>Lukasz</dc:creator>
		<pubDate>Wed, 24 Mar 2010 19:26:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1306</guid>
		<description>&lt;p&gt;Thanks for response,&lt;/p&gt;

&lt;p&gt;I have no problem with making images from presentation layer. The only thing I have to do, is to join this images to make movie.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks for response,</p>

<p>I have no problem with making images from presentation layer. The only thing I have to do, is to join this images to make movie.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Long</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1305</link>
		<dc:creator>Matt Long</dc:creator>
		<pubDate>Wed, 24 Mar 2010 18:41:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1305</guid>
		<description>&lt;p&gt;@Lukasz&lt;/p&gt;

&lt;p&gt;Not in the same way. This sample code uses QTKit on OSX. QTKit is not available on the phone currently. You could probably grab the individual images with -renderInContext on the layer and insert that into a movie using ffmpeg. Of course, I&#039;ve not worked with ffmpeg, so this is speculation, however, I know people have successfully implemented ffmpeg code on the phone.&lt;/p&gt;

&lt;p&gt;Best Regards.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Lukasz</p>

<p>Not in the same way. This sample code uses QTKit on OSX. QTKit is not available on the phone currently. You could probably grab the individual images with -renderInContext on the layer and insert that into a movie using ffmpeg. Of course, I&#8217;ve not worked with ffmpeg, so this is speculation, however, I know people have successfully implemented ffmpeg code on the phone.</p>

<p>Best Regards.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Lukasz</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1304</link>
		<dc:creator>Lukasz</dc:creator>
		<pubDate>Wed, 24 Mar 2010 18:18:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1304</guid>
		<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Is there any way to record movies in iphone OS, as it is in MAC OS ?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hello,</p>

<p>Is there any way to record movies in iphone OS, as it is in MAC OS ?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Lukasz</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1221</link>
		<dc:creator>Lukasz</dc:creator>
		<pubDate>Tue, 12 Jan 2010 22:38:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1221</guid>
		<description>&lt;p&gt;Ok no matter what I wrote earlier.
The size of movie is very big. Is there any way to compress movie while recording?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Ok no matter what I wrote earlier.
The size of movie is very big. Is there any way to compress movie while recording?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Lukasz</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1220</link>
		<dc:creator>Lukasz</dc:creator>
		<pubDate>Fri, 08 Jan 2010 14:51:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1220</guid>
		<description>&lt;p&gt;This example is good, but when the layer has set mask (with method setMask: ), recorded films doesn&#039;t have this mask. So this example is not good for layers with masks. Have somebody any idea how to repair this mistake? Thanks for answer.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This example is good, but when the layer has set mask (with method setMask: ), recorded films doesn&#8217;t have this mask. So this example is not good for layers with masks. Have somebody any idea how to repair this mistake? Thanks for answer.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wing</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1157</link>
		<dc:creator>Eric Wing</dc:creator>
		<pubDate>Fri, 13 Feb 2009 09:08:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1157</guid>
		<description>&lt;p&gt;Just use Core Video. You don&#039;t have to use OpenGL with Core Video. All you do is create a displaylink for a display, set a callback, and start the displaylink.&lt;/p&gt;

&lt;p&gt;You can try it very easily for yourself and see. Create a new Cocoa application from Xcode. Create a class to act as you application delegate and set it up in IB.&lt;/p&gt;

&lt;p&gt;In AppDelegate.h:&lt;/p&gt;

&lt;h1&gt;import&lt;/h1&gt;

&lt;h1&gt;import&lt;/h1&gt;

&lt;p&gt;@interface AppDelegate : NSObject
{
    CVDisplayLinkRef displayLink;
}&lt;/p&gt;

&lt;p&gt;@end&lt;/p&gt;

&lt;p&gt;In AppDelegate.m&lt;/p&gt;

&lt;h1&gt;import &quot;AppDelegate.h&quot;&lt;/h1&gt;

&lt;p&gt;CVReturn MyDisplayLinkCallback( CVDisplayLinkRef displayLink,
                                const CVTimeStamp *inNow,
                                const CVTimeStamp *inOutputTime,
                                CVOptionFlags flagsIn,
                                CVOptionFlags *flagsOut,
                                void *displayLinkContext
                                )
{
    fprintf(stderr, &quot;In MyDisplayLinkCallback\n&quot;);
    // draw/get your Core Animation frame here
    return kCVReturnSuccess;
}
@implementation AppDelegate&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(void) applicationDidFinishLaunching:(NSNotification*)the_notification
{
NSLog(@&quot;applicationDidFinishLaunching&quot;);
CVDisplayLinkCreateWithActiveCGDisplays(&amp;displayLink);
CVDisplayLinkSetOutputCallback(displayLink, &amp;MyDisplayLinkCallback, self);
CVDisplayLinkStart(displayLink);
}&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;@end&lt;/p&gt;

&lt;p&gt;The function MyDisplayLinkCallback will be called back in sync with the refresh rate of your display. This is the perfect time to draw.&lt;/p&gt;

&lt;p&gt;Keep in mind that Core Video callbacks operate on a secondary thread, so you may need to lock. But maybe because you are drawing in a new context you create, you might not need to lock anything.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Just use Core Video. You don&#8217;t have to use OpenGL with Core Video. All you do is create a displaylink for a display, set a callback, and start the displaylink.</p>

<p>You can try it very easily for yourself and see. Create a new Cocoa application from Xcode. Create a class to act as you application delegate and set it up in IB.</p>

<p>In AppDelegate.h:</p>

<h1>import</h1>

<h1>import</h1>

<p>@interface AppDelegate : NSObject
{
    CVDisplayLinkRef displayLink;
}</p>

<p>@end</p>

<p>In AppDelegate.m</p>

<h1>import &#8220;AppDelegate.h&#8221;</h1>

<p>CVReturn MyDisplayLinkCallback( CVDisplayLinkRef displayLink,
                                const CVTimeStamp *inNow,
                                const CVTimeStamp *inOutputTime,
                                CVOptionFlags flagsIn,
                                CVOptionFlags *flagsOut,
                                void *displayLinkContext
                                )
{
    fprintf(stderr, &#8220;In MyDisplayLinkCallback\n&#8221;);
    // draw/get your Core Animation frame here
    return kCVReturnSuccess;
}
@implementation AppDelegate</p>

<ul>
<li>(void) applicationDidFinishLaunching:(NSNotification*)the_notification
{
NSLog(@&#8221;applicationDidFinishLaunching&#8221;);
CVDisplayLinkCreateWithActiveCGDisplays(&amp;displayLink);
CVDisplayLinkSetOutputCallback(displayLink, &amp;MyDisplayLinkCallback, self);
CVDisplayLinkStart(displayLink);
}</li>
</ul>

<p>@end</p>

<p>The function MyDisplayLinkCallback will be called back in sync with the refresh rate of your display. This is the perfect time to draw.</p>

<p>Keep in mind that Core Video callbacks operate on a secondary thread, so you may need to lock. But maybe because you are drawing in a new context you create, you might not need to lock anything.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Long</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1156</link>
		<dc:creator>Matt Long</dc:creator>
		<pubDate>Thu, 12 Feb 2009 18:44:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1156</guid>
		<description>&lt;p&gt;@Eric Wing&lt;/p&gt;

&lt;p&gt;Can you be a bit more specific? Which callbacks? I can do a screen grab session using OpenGL, but the point of the post was that you can record your Core Animation without having to set up OpenGL or some other mechanism. While what you&#039;re saying sounds right, it doesn&#039;t sound easier.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;

&lt;p&gt;-Matt&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Eric Wing</p>

<p>Can you be a bit more specific? Which callbacks? I can do a screen grab session using OpenGL, but the point of the post was that you can record your Core Animation without having to set up OpenGL or some other mechanism. While what you&#8217;re saying sounds right, it doesn&#8217;t sound easier.</p>

<p>Thanks.</p>

<p>-Matt</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wing</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1155</link>
		<dc:creator>Eric Wing</dc:creator>
		<pubDate>Thu, 12 Feb 2009 18:20:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1155</guid>
		<description>&lt;p&gt;Try Core Video instead of using NSTimer. Core Video callbacks happen on a high priority thread that is supposed to be synchronized with your display&#039;s refresh rate. Though this assumes you actually have a display connected.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Try Core Video instead of using NSTimer. Core Video callbacks happen on a high priority thread that is supposed to be synchronized with your display&#8217;s refresh rate. Though this assumes you actually have a display connected.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: mozketo</title>
		<link>http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/comment-page-1/#comment-1148</link>
		<dc:creator>mozketo</dc:creator>
		<pubDate>Tue, 03 Feb 2009 05:58:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=437#comment-1148</guid>
		<description>&lt;p&gt;I 2nd using the idea for Blog postings, having just blogged about a CAConstraint Grid Layout I&#039;d love to add a small QT to accompany the Post.&lt;/p&gt;

&lt;p&gt;Another use would be to record your CA in HD resolutions and pipe it to your AppleTV or for use as a screensaver (if there&#039;s a simple &quot;play this QT as screensaver, screensaver&quot;) with minimal CPU/GPU usage.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I 2nd using the idea for Blog postings, having just blogged about a CAConstraint Grid Layout I&#8217;d love to add a small QT to accompany the Post.</p>

<p>Another use would be to record your CA in HD resolutions and pipe it to your AppleTV or for use as a screensaver (if there&#8217;s a simple &#8220;play this QT as screensaver, screensaver&#8221;) with minimal CPU/GPU usage.</p>]]></content:encoded>
	</item>
</channel>
</rss>
