I have a custom hardware device sending a video stream.
How can make this stream available to a QuickTime application ?
Long story: On Windows, I create a DirectShow filter, so any DirectShow-compatible application can stream from my device. I'd like to do the same on Mac OS X. I guess QuickTime is the way to go, but I can't find the accurate answer on the apple developer web site.
With Mac OS 10.7 Apple made the CoreMediaIO.framework public.
CoreMediaIO is a device abstraction layer (DAL) for multimedia hardware. It replaces the traditional QuickTime VDIG component API.
There is a small section about this framework in the "Media Layer" chapter of the Mac OS X Technology Overview.
Unfortunately CoreMediaIO isn't showing up in Apple's documentation yet, but it has some very detailed header files.
They are located in:
/System/Library/Frameworks/CoreMediaIO.framework/Headers
CMIOHardware seems to be a good starting point (from the "Overview" section in the header):
The CoreMediaIO device abstraction layer (DAL) provides an abstraction through which applications can access media hardware. To do this, the DAL provides a small set of objects that provide access to the various pieces of the system. The base class for all CoreMediaIO objects is the class CMIOObject. Other important classes include CMIOSystemObject, CMIODevice, CMIOStream, and CMIOControl.
If you have to support older versions of OS X, you could also take a look at what the Developer Library has to offer.
VDIG Components are deprecated and 32bit-only.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With