In my client I’m using CVPixelBufferCreateWithIOSurface and then locking the pixel buffer with the kCVPixelBufferLock_ReadOnly flag. I _think_ this improves performance as things don’t get invalidated.
Thanks for letting me know about that flag. I’ll check it out. Ideally I’d like iGlasses to be a Syphon Server that other Syphon uses might actually find useful. Right now, as you noticed, it’s upside down and only works when iGlasses is otherwise running. I’d like to get that working better some day.
Also, I’d like to implement a feature where another Syphon Server could be used as an input to iGlasses. This way, people could easily turn the output of their Syphon-enabled app into a virtual camera.