This repository has been archived by the owner on Apr 28, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
VideoProvider.cpp
109 lines (80 loc) · 1.99 KB
/
VideoProvider.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
* VideoProvider.cpp
*
* Created on: 2011-5-4
* Author: simophin
*/
#include "VideoProvider.h"
#include "Error.h"
#include "VideoInfo.h"
#include "utils/String.hpp"
#include <sstream>
VideoProvider::VideoProvider(){
}
VideoProvider::~VideoProvider() {
}
Error VideoProvider::
initDevice() {
return doInitDevice();
}
Error VideoProvider::
queryInfo(VideoProvider::Info &info) const
{
return doQueryInfo(info);
}
Error VideoProvider::
startCapture()
{
return doStartCapture();
}
Error VideoProvider::
stopCapture()
{
return doStopCapture();
}
Error VideoProvider::getData(ImageBuffer &buf, size_t *returned, int ms) {
return getData(buf.getData(),buf.getSize(), returned, ms);
}
Error VideoProvider::
getData(unsigned char * data, size_t size, size_t *returned, int ms )
{
return doGetData(data,size, returned,ms);
}
Error VideoProvider::
getParam(Param &p) const
{
return doGetParam(p);
}
Error VideoProvider::setParam(const Param & param)
{
return doSetParam(param);
}
Error VideoProvider::getPreviewImage(PreviewImageBuffer & buf, int ms)
{
return doGetPreviewImage(buf,ms);
}
Error VideoProvider::doInitDevice()
{
return Error();
}
String VideoProvider::Info::
toString() const
{
std::stringstream stream;
stream << Utils::arrayToString(supportedCodecs) << "|";
stream << Utils::arrayToString(supportedGeometries) << "|";
stream << Utils::arrayToString(supportedFrameRates);
return stream.str();
}
VideoProvider::Info VideoProvider::Info::
fromString(const String & str)
{
std::vector<String> args;
args = Utils::split< std::vector<String> >(str,'|');
if (args.size() != 3) return VideoProvider::Info();
VideoProvider::Info ret;
ret.supportedCodecs = Utils::stringToArray< std::vector<VideoCodec> >(args.at(0));
ret.supportedGeometries = Utils::stringToArray< std::vector<Geometry> >(args.at(1));
ret.supportedFrameRates = Utils::stringToArray< std::vector<FrameRate> >(args.at(2));
return ret;
}