Hello,
We have been successful at creating a CoreMediaIO plug-in sample camera driver using the example at https://developer.apple.com/library/mac/samplecode/CoreMediaIO/Introduction/Intro.html.
These are steps we do during installation:
the built plugin is copied into /Library/CoreMediaIO/Plug-Ins/DAL/sample.plugin and the kernel extension is placed into /Library/Extensions/sample.kext.
We do the following:
chown -R root:wheel /Library/Extensions/sample.kext
chown -R root:wheel /Library/CoreMediaIO/Plug-Ins/DAL/sample.plugin
kextload /Library/Extensions/sample.kext
create a LaunchDaemon loads the plugin.
The installation works and the camera is installed.An application like AVRecorder or FaceTime is able to detect our camera driver if its opened AFTER the installation of the camera driver. However, if the application is already opened and then the camera is installed, the list of devices does not refresh and the application does not detect our camera driver. The only way it will detect is if we close the application and start it again. (this does not seem to be the case when i connect a new USB camera. Open applications auto detects newly connected usb camera.)
What is the missing event that our camera driver needs to send to announce its installation or arrival? We basically need the camera to be detected without having to close the application and reopen it.