bool VideoCapture::read(Mat& image)
{
- double frame_pos = get(CV_CAP_PROP_POS_FRAMES);
- double frame_count = get(CV_CAP_PROP_FRAME_COUNT);
- if (frame_pos < frame_count || frame_pos < 0 || frame_count < 0)
- {
- if(grab())
- retrieve(image);
- else
- image.release();
- }
+ if(grab())
+ retrieve(image);
else
image.release();
return !image.empty();
const int max_number_of_attempts = 1 << 16;
if( !ic || !video_st ) return false;
+
+ if( ic->streams[video_stream]->nb_frames > 0 &&
+ frame_number > ic->streams[video_stream]->nb_frames )
+ return false;
av_free_packet (&packet);
capture = [[CaptureDelegate alloc] init];
QTCaptureDevice *device;
- NSArray* devices = [QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeVideo];
+ NSArray* devices = [[[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeVideo]
+ arrayByAddingObjectsFromArray:[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeMuxed]] retain];
+
if ([devices count] == 0) {
cout << "QTKit didn't find any attached Video Input Devices!" << endl;
[localpool drain];