QTKit is a 32bit only framework, and i think it uses IOSurface to make it working in 64bit QC - thats why its working without errors in 32bit mode.
Its not the answer why you get error messages in 64 bit mode unfortunately, but maybe the answer for why you don't get error message in 32bit mode :) On Sep 29, 2011, at 9:01 AM, Nisar Ahmed wrote: > Thanks vade and Tamas for your input. Actually I just wanted to make sure > that is there any chances of loosing performance on using NSThread instead of > Displaylink?. > > I have managed to use QCRenderer with thread by following the guidelines but > there is still one strange problem that I would like to share with you guys. > When compiled in 64-bit mode one of my compositions having a movie inside it > throws the following error > > 2011-09-28 18:25:57.908 QCCG[1709:7d03] *** Message from <QCQuickTimePlayer = > 0x369C1E70 "QuickTimePlayer_1">: > > Failed retrieving image from movie <QTMovie: 0x1001b0f80 time scale = 600, > duration = 1800, rate = 0.000000, tracks = { 0x100517fe0 }> (error (null)) > > 2011-09-28 18:25:57.908 QCCG[1709:7d03] *** Message from <QCQuickTimePlayer = > 0x369C1E70 "QuickTimePlayer_1">: > > Execution failed at time 0.000 > > 2011-09-28 18:25:58.036 QTKitServer[1714:5f03] *** CVOpenGLTextureCache: > Forced to manually upload an IOSurface backed pixel buffer because it uses a > non-native pixel format. Break on > CVOpenGLTextureCache_IOSurfaceNotInNativePixelFormat() to debug. > > after that it renders smoothly without any problems. > > There is one more thing to note that there is not error when I compile my > application in 32-bit mode > > The nature of my application is such that it cannot afford performance issues > and I want to make sure that I am not loosing performance anywhere in my code. > > Thanks > Nisar > > On Thu, Sep 29, 2011 at 10:32 AM, vade <dokt...@mac.com> wrote: > Just or clarification, you can indeed use a CVDisplaylink to drive rendering > of a QCRenderer. > > Basically, when your CVDisplayLinkCallback is fired, check to see if your > QCRenderer is nil. If it is, init it. > > If it isnt, and its a valid object, render. > > The QCRenderer thread guidelines are here: > http://developer.apple.com/library/mac/#qa/qa1538/_index.html > > So init, render and dealloc on the CVDisplaylink thread (or, well, any > thread). > > You just need to ensure that you do not call your QCRenderer on any other > thread like the main thread (say, via IBActions, etc). > > On Sep 28, 2011, at 3:37 AM, Tamas Nagy wrote: > >> Hey, >> >> QCRenderer is not thread safe, but this not means it won't work well in a >> multithreaded scenario. You just need to use the QCRenderer on the same >> thread on the thread you created it. If you miss this step, your application >> will leaks memory. The movie player patch should work an a secondary thread >> too with the major codecs. >> >> You can use an NSThread to drive the rendering loop without problems, not >> just the CVDisplayLink. >> >> Cheers, >> >> Tamas >> >> On Sep 28, 2011, at 9:16 AM, Nisar Ahmed wrote: >> >>> Dear List, >>> >>> I need to know the difference between CV's Displaylink thread and a usual >>> thread that we use in our cocoa application for rendering with QCRenderer >>> object. All i know about QCRenderer and threads is that QCRenderer does not >>> render compositions on thread properly, specially the ones with video. >>> >>> The reason for using my own thread is that I need to render compositions on >>> a different frame rate and displaylink is always tied to display refresh >>> rate that cannot be changed easily. >>> >>> Thanks >>> Nisar >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) >>> Help/Unsubscribe/Update your Subscription: >>> http://lists.apple.com/mailman/options/quartzcomposer-dev/tamas.lov.nagy%40gmail.com >>> >>> This email sent to tamas.lov.n...@gmail.com >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com >> >> This email sent to dokt...@mac.com > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/quartzcomposer-dev/nisar.med%40gmail.com > > This email sent to nisar....@gmail.com > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/quartzcomposer-dev/tamas.lov.nagy%40gmail.com > > This email sent to tamas.lov.n...@gmail.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com