AVCaptureDevice device control

Hi, I'm hoping someone has some tips for me. I have an application that captures video from super old mini dv cameras. For the most part things are working except for some certain cases during device camera control. In the past we used QTKit then ported to AVFoundation. We had been able to control the device, play, stop, rewind, etc, using QTKit with no problem, but ran into exceptions with AVFoundation.


Using the code below we are able to control devices using AVFoundation in pretty much the same way as QTKit, except some cameras (so far mostly Canon) have odd behaviour. For some reason, instead of going into 'play' they are actually going into jog/shuttle mode at 1x speed. This would be fine except there is no audio being sent in through the stream during capture so that kind of defeats the purpose. Any hints most appreciated. Presumably something different about these framework calls in AVFoundation vs QTKit for setting playback on some cameras.


playbackSpeed = 1.0;

if ([captureDevice lockForConfiguration:&error]) {

AVCaptureDeviceTransportControlsPlaybackMode playbackMode = (playbackSpeed > 0.0) ? AVCaptureDeviceTransportControlsPlayingMode : AVCaptureDeviceTransportControlsNotPlayingMode;

[captureDevice setTransportControlsPlaybackMode:playbackMode speed:playbackSpeed];

[captureDevice unlockForConfiguration];

}



Thanks in advance,



Micah

Could be a difference in how Canon cameras implemented the firewire transport control spec. Probably best that you file a bug, including which camera you're using. DV is getting pretty long in the tooth.

AVCaptureDevice device control
 
 
Q