>> On Dec 5, 2012, at 19:53 , gary.gard...@brokensoftware.com wrote:
>>
>>> Do I need to use CoreMedia to actually get an image from the
>>> sampleBuffer?
>>> Using Xcode, it appears that UIImage is for iOS (this is just a
>>> supposition).  So XCode changes the code to CIImage.
>>>
>>> If this is the wrong direction, please point me in the right direction.
>>>
>>> The AVFoundation examples seem to all be based on IOS and not MAC for
>>> the
>>> Media Steaming.  Therefore those examples don't work for what I am
>>> trying
>>> to do.
>>
>> You're correct that the Mac version of the docs haven't been changed
>> from
>> the iOS version, but luckily there is (I think) very little difference
>> you
>> need to take into account.
>>
>> Assuming you have by now got your data capture delegate set up properly,
>> you need to have it do the equivalent of this:
>>
>>      
>> https://developer.apple.com/library/mac/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/05_MediaRepresentations.html
>>
>> under the final heading "Converting a CMSampleBuffer to a UIImage". In
>> that sample code, you should only have to change one line from its iOS
>> version:
>>
>>      UIImage *image = [UIImage imageWithCGImage:cgImage];
>>
>> to the corresponding Mac version:
>>
>>      NSImage *image = [NSImage imageWithCGImage:cgImage];
>>
>> What happens next depends on what you want to do with the image. If you
>> want to display it, you can simply draw this NSImage object. If you want
>> to write each frame to a separate file, you could use a NSImage method
>> to
>> get the TIFF representation as a NSData object and write that out. If
>> you
>> need to convert the image to a specific form, you will likely have to
>> start creating NSImageRep objects (or a subclass like NSBitmapImageRep),
>> but the details will depend on where you're trying to get to.
>>
>> Note that in some scenarios, you could choose to work with the cgImage
>> directly, rather than creating a NSImage (which is, loosely, just going
>> to
>> function as a wrapper around the CGImage, at least to begin with). The
>> advantage of using NSImage is that it's often less lines of code to use
>> than CGImage (and it's an Objective-C rather than a C API).
>>
>> P.S. The intermediary code uses CVPixelBuffer and CGImage objects, not
>> CIImage objects. CIImage objects are something else entirely -- they're
>> image containers to which image filters can be applied -- that is,
>> they're
>> essentially image transformations. If, for example, you wanted to apply
>> a
>> Gaussian blur to every frame, you could use CIImage objects to do this.
>
>
> The changes I had to make are as follows:
>
> Using CIImage:
> CIImage *image = [CIImage imageWithCGImage:quartzImage];
>
> Using NSImage:
> NSImage *image = [[NSImage alloc] initWithCGImage:cgImage
> size:NSZeroSize];
>
> With the NSImage, I was getting an additional Error message that I had to
> trap for, but not with the CIImage.
>
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/gary.gardner%40brokensoftware.com
>
> This email sent to gary.gard...@brokensoftware.com
>

I need further assistance.  I select the capture device, but after I
execute run, I get the following:

Invalid memory access of location 0x0 rip=0x7fff933e3598
 942 Segmentation fault: 11

I am following the AVVideoWall example code.  However, I am not outputting
to the desktop and layers.

Can someone point me in the right direction on solving this issue?

Thanks.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to