1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html.
4 
5 #include "precomp.hpp"
6 #include "opencv2/videoio/registry.hpp"
7 #include "videoio_registry.hpp"
8 
9 using namespace cv;
10 
11 // Legacy C-like API
12 
cvCreateCameraCapture(int)13 CV_IMPL CvCapture* cvCreateCameraCapture(int)
14 {
15     CV_LOG_WARNING(NULL, "cvCreateCameraCapture doesn't support legacy API anymore.")
16     return NULL;
17 }
18 
cvCreateFileCaptureWithPreference(const char *,int)19 CV_IMPL CvCapture* cvCreateFileCaptureWithPreference(const char*, int)
20 {
21     CV_LOG_WARNING(NULL, "cvCreateFileCaptureWithPreference doesn't support legacy API anymore.")
22     return NULL;
23 }
24 
cvCreateFileCapture(const char * filename)25 CV_IMPL CvCapture* cvCreateFileCapture(const char * filename)
26 {
27     return cvCreateFileCaptureWithPreference(filename, CAP_ANY);
28 }
29 
cvCreateVideoWriter(const char *,int,double,CvSize,int)30 CV_IMPL CvVideoWriter* cvCreateVideoWriter(const char*, int, double, CvSize, int)
31 {
32     CV_LOG_WARNING(NULL, "cvCreateVideoWriter doesn't support legacy API anymore.")
33     return NULL;
34 }
35 
cvWriteFrame(CvVideoWriter * writer,const IplImage * image)36 CV_IMPL int cvWriteFrame(CvVideoWriter* writer, const IplImage* image)
37 {
38     return writer ? writer->writeFrame(image) : 0;
39 }
40 
cvReleaseVideoWriter(CvVideoWriter ** pwriter)41 CV_IMPL void cvReleaseVideoWriter(CvVideoWriter** pwriter)
42 {
43     if( pwriter && *pwriter )
44     {
45         delete *pwriter;
46         *pwriter = 0;
47     }
48 }
49 
cvReleaseCapture(CvCapture ** pcapture)50 CV_IMPL void cvReleaseCapture(CvCapture** pcapture)
51 {
52     if (pcapture && *pcapture)
53     {
54         delete *pcapture;
55         *pcapture = 0;
56     }
57 }
58 
cvQueryFrame(CvCapture * capture)59 CV_IMPL IplImage* cvQueryFrame(CvCapture* capture)
60 {
61     if (!capture)
62         return 0;
63     if (!capture->grabFrame())
64         return 0;
65     return capture->retrieveFrame(0);
66 }
67 
cvGrabFrame(CvCapture * capture)68 CV_IMPL int cvGrabFrame(CvCapture* capture)
69 {
70     return capture ? capture->grabFrame() : 0;
71 }
72 
cvRetrieveFrame(CvCapture * capture,int idx)73 CV_IMPL IplImage* cvRetrieveFrame(CvCapture* capture, int idx)
74 {
75     return capture ? capture->retrieveFrame(idx) : 0;
76 }
77 
cvGetCaptureProperty(CvCapture * capture,int id)78 CV_IMPL double cvGetCaptureProperty(CvCapture* capture, int id)
79 {
80     return capture ? capture->getProperty(id) : 0;
81 }
82 
cvSetCaptureProperty(CvCapture * capture,int id,double value)83 CV_IMPL int cvSetCaptureProperty(CvCapture* capture, int id, double value)
84 {
85     return capture ? capture->setProperty(id, value) : 0;
86 }
87 
cvGetCaptureDomain(CvCapture * capture)88 CV_IMPL int cvGetCaptureDomain(CvCapture* capture)
89 {
90     return capture ? capture->getCaptureDomain() : 0;
91 }
92