This commit is contained in:
Dikay900 2015-09-19 14:05:38 +02:00
parent 6282ff0887
commit 55df326589
2 changed files with 10 additions and 2 deletions

View File

@ -71,6 +71,7 @@
@property (nonatomic, readonly) BOOL captureSessionLoaded; @property (nonatomic, readonly) BOOL captureSessionLoaded;
@property (nonatomic, assign) int defaultFPS; @property (nonatomic, assign) int defaultFPS;
@property (nonatomic, readonly) AVCaptureVideoPreviewLayer *captureVideoPreviewLayer;
@property (nonatomic, assign) AVCaptureDevicePosition defaultAVCaptureDevicePosition; @property (nonatomic, assign) AVCaptureDevicePosition defaultAVCaptureDevicePosition;
@property (nonatomic, assign) AVCaptureVideoOrientation defaultAVCaptureVideoOrientation; @property (nonatomic, assign) AVCaptureVideoOrientation defaultAVCaptureVideoOrientation;
@property (nonatomic, assign) BOOL useAVCaptureVideoPreviewLayer; @property (nonatomic, assign) BOOL useAVCaptureVideoPreviewLayer;
@ -145,6 +146,7 @@
- (void)layoutPreviewLayer; - (void)layoutPreviewLayer;
- (void)saveVideo; - (void)saveVideo;
- (NSURL *)videoFileURL; - (NSURL *)videoFileURL;
- (NSString *)videoFileString;
@end @end

View File

@ -41,7 +41,9 @@ static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;}
@interface CvVideoCamera () @interface CvVideoCamera () {
int recordingCountDown;
}
- (void)createVideoDataOutput; - (void)createVideoDataOutput;
- (void)createVideoFileOutput; - (void)createVideoFileOutput;
@ -98,6 +100,7 @@ static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;}
- (void)start; - (void)start;
{ {
recordingCountDown = 10;
[super start]; [super start];
if (self.recordVideo == YES) { if (self.recordVideo == YES) {
@ -551,7 +554,8 @@ static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;}
}); });
if (self.recordVideo == YES) { recordingCountDown--;
if (self.recordVideo == YES && recordingCountDown < 0) {
lastSampleTime = CMSampleBufferGetPresentationTimeStamp(sampleBuffer); lastSampleTime = CMSampleBufferGetPresentationTimeStamp(sampleBuffer);
// CMTimeShow(lastSampleTime); // CMTimeShow(lastSampleTime);
if (self.recordAssetWriter.status != AVAssetWriterStatusWriting) { if (self.recordAssetWriter.status != AVAssetWriterStatusWriting) {
@ -571,6 +575,8 @@ static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;}
withPresentationTime:lastSampleTime] ) { withPresentationTime:lastSampleTime] ) {
NSLog(@"Video Writing Error"); NSLog(@"Video Writing Error");
} }
if (pixelBuffer != nullptr)
CVPixelBufferRelease(pixelBuffer);
} }
} }