diff --git a/modules/videoio/src/cap_avfoundation_mac.mm b/modules/videoio/src/cap_avfoundation_mac.mm index 07aac1af9c..0ef461c8a9 100644 --- a/modules/videoio/src/cap_avfoundation_mac.mm +++ b/modules/videoio/src/cap_avfoundation_mac.mm @@ -694,7 +694,15 @@ CvCaptureFile::CvCaptureFile(const char* filename) { return; } - mAssetTrack = [[mAsset tracksWithMediaType: AVMediaTypeVideo][0] retain]; + NSArray *tracks = [mAsset tracksWithMediaType:AVMediaTypeVideo]; + if ([tracks count] == 0) { + fprintf(stderr, "OpenCV: Couldn't read video stream from file \"%s\"\n", filename); + [localpool drain]; + started = 0; + return; + } + + mAssetTrack = [tracks[0] retain]; if ( ! setupReadingAt(kCMTimeZero) ) { fprintf(stderr, "OpenCV: Couldn't read movie file \"%s\"\n", filename);