2259
|
1 |
--- gnash-0.8.6.orig/libbase/log.h 2009-09-13 19:22:16.000000000 -0400
|
|
2 |
+++ gnash-0.8.6/libbase/log.h 2009-12-13 12:47:42.039054367 -0500
|
|
3 |
@@ -285,7 +285,7 @@
|
|
4 |
/// Use "g++ -E log.h" or "cpp log.h" to check.
|
|
5 |
#define LOG_TEMPLATES(z, n, data)\
|
|
6 |
template<BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename T)>\
|
|
7 |
-void log_##data(BOOST_PP_REPEAT(BOOST_PP_INC(n), TOKENIZE_ARGS, t)) \
|
|
8 |
+inline void log_##data(BOOST_PP_REPEAT(BOOST_PP_INC(n), TOKENIZE_ARGS, t)) \
|
|
9 |
{\
|
|
10 |
if (LogFile::getDefaultInstance().getVerbosity() == 0) return; \
|
|
11 |
boost::format f(t0); \
|
|
12 |
@@ -315,6 +315,7 @@
|
|
13 |
BOOST_PP_SEQ_FOR_EACH(GENERATE_LOG_TYPES, _, LOG_TYPES)
|
|
14 |
|
|
15 |
#undef TOKENIZE_FORMAT
|
|
16 |
+#undef TOKENIZE_ARGS
|
|
17 |
#undef GENERATE_LOG_TYPES
|
|
18 |
#undef LOG_TEMPLATES
|
|
19 |
#undef ARG_NUMBER
|
|
20 |
@@ -445,10 +446,10 @@
|
|
21 |
#define GNASH_REPORT_RETURN
|
|
22 |
#else
|
|
23 |
#define GNASH_REPORT_FUNCTION \
|
|
24 |
- log_debug("entering")
|
|
25 |
+ gnash::log_debug("entering")
|
|
26 |
|
|
27 |
#define GNASH_REPORT_RETURN \
|
|
28 |
- log_debug("returning")
|
|
29 |
+ gnash::log_debug("returning")
|
|
30 |
#endif
|
|
31 |
|
|
32 |
}
|
|
33 |
--- gnash-0.8.6.orig/libcore/movie_root.cpp 2009-09-13 19:22:17.000000000 -0400
|
|
34 |
+++ gnash-0.8.6/libcore/movie_root.cpp 2009-12-07 20:16:00.328812604 -0500
|
|
35 |
@@ -2246,11 +2246,10 @@
|
|
36 |
/// If the method is MovieClip::METHOD_NONE, we send no data.
|
|
37 |
if (method == MovieClip::METHOD_GET)
|
|
38 |
{
|
|
39 |
- std::string varsToSend(urlstr);
|
|
40 |
/// GET: append data to query string.
|
|
41 |
std::string qs = url.querystring();
|
|
42 |
- if ( qs.empty() ) varsToSend.insert(0, 1, '?');
|
|
43 |
- else varsToSend.insert(0, 1, '&');
|
|
44 |
+ std::string varsToSend(qs.empty() ? "&" : "?");
|
|
45 |
+ varsToSend.append(urlstr);
|
|
46 |
url.set_querystring(qs + varsToSend);
|
|
47 |
}
|
|
48 |
|
|
49 |
--- gnash-0.8.6.orig/libcore/swf/DefaultTagLoaders.cpp 2009-09-13 19:22:17.000000000 -0400
|
|
50 |
+++ gnash-0.8.6/libcore/swf/DefaultTagLoaders.cpp 2009-12-08 14:27:15.782474269 -0500
|
|
51 |
@@ -59,6 +59,8 @@
|
|
52 |
namespace gnash {
|
|
53 |
namespace SWF {
|
|
54 |
|
|
55 |
+typedef TagLoadersTable::Loaders::value_type TagPair;
|
|
56 |
+
|
|
57 |
namespace {
|
|
58 |
class AddLoader
|
|
59 |
{
|
|
60 |
@@ -67,7 +69,7 @@
|
|
61 |
:
|
|
62 |
_table(table)
|
|
63 |
{}
|
|
64 |
- void operator()(const TagLoadersTable::Loaders::value_type& p)
|
|
65 |
+ void operator()(const TagPair& p)
|
|
66 |
{
|
|
67 |
_table.registerLoader(p.first, p.second);
|
|
68 |
}
|
|
69 |
@@ -80,152 +82,152 @@
|
|
70 |
addDefaultLoaders(TagLoadersTable& table)
|
|
71 |
{
|
|
72 |
|
|
73 |
- const std::map<TagType, TagLoadersTable::TagLoader> tags =
|
|
74 |
- boost::assign::map_list_of
|
|
75 |
+ const std::vector<TagPair> tags =
|
|
76 |
+ boost::assign::list_of
|
|
77 |
|
|
78 |
- (SWF::END, end_loader)
|
|
79 |
- (SWF::DEFINESHAPE, DefineShapeTag::loader)
|
|
80 |
- (SWF::FREECHARACTER, fixme_loader) // 03
|
|
81 |
- (SWF::PLACEOBJECT, PlaceObject2Tag::loader)
|
|
82 |
- (SWF::REMOVEOBJECT, RemoveObjectTag::loader) // 05
|
|
83 |
- (SWF::DEFINEBITS, define_bits_jpeg_loader)
|
|
84 |
- (SWF::DEFINEBUTTON, DefineButtonTag::loader)
|
|
85 |
- (SWF::JPEGTABLES, jpeg_tables_loader)
|
|
86 |
- (SWF::SETBACKGROUNDCOLOR, SetBackgroundColorTag::loader)
|
|
87 |
- (SWF::DEFINEFONT, DefineFontTag::loader)
|
|
88 |
- (SWF::DEFINETEXT, DefineTextTag::loader)
|
|
89 |
- (SWF::DOACTION, DoActionTag::loader)
|
|
90 |
- (SWF::DEFINEFONTINFO, DefineFontInfoTag::loader)
|
|
91 |
+ (TagPair(SWF::END, end_loader))
|
|
92 |
+ (TagPair(SWF::DEFINESHAPE, DefineShapeTag::loader))
|
|
93 |
+ (TagPair(SWF::FREECHARACTER, fixme_loader)) // 03
|
|
94 |
+ (TagPair(SWF::PLACEOBJECT, PlaceObject2Tag::loader))
|
|
95 |
+ (TagPair(SWF::REMOVEOBJECT, RemoveObjectTag::loader)) // 05
|
|
96 |
+ (TagPair(SWF::DEFINEBITS, define_bits_jpeg_loader))
|
|
97 |
+ (TagPair(SWF::DEFINEBUTTON, DefineButtonTag::loader))
|
|
98 |
+ (TagPair(SWF::JPEGTABLES, jpeg_tables_loader))
|
|
99 |
+ (TagPair(SWF::SETBACKGROUNDCOLOR, SetBackgroundColorTag::loader))
|
|
100 |
+ (TagPair(SWF::DEFINEFONT, DefineFontTag::loader))
|
|
101 |
+ (TagPair(SWF::DEFINETEXT, DefineTextTag::loader))
|
|
102 |
+ (TagPair(SWF::DOACTION, DoActionTag::loader))
|
|
103 |
+ (TagPair(SWF::DEFINEFONTINFO, DefineFontInfoTag::loader))
|
|
104 |
// 62
|
|
105 |
- (SWF::DEFINEFONTINFO2, DefineFontInfoTag::loader)
|
|
106 |
- (SWF::DEFINESOUND, define_sound_loader)
|
|
107 |
- (SWF::STARTSOUND, StartSoundTag::loader)
|
|
108 |
+ (TagPair(SWF::DEFINEFONTINFO2, DefineFontInfoTag::loader))
|
|
109 |
+ (TagPair(SWF::DEFINESOUND, define_sound_loader))
|
|
110 |
+ (TagPair(SWF::STARTSOUND, StartSoundTag::loader))
|
|
111 |
// 89
|
|
112 |
- (SWF::STARTSOUND2, StartSound2Tag::loader)
|
|
113 |
+ (TagPair(SWF::STARTSOUND2, StartSound2Tag::loader))
|
|
114 |
|
|
115 |
- (SWF::STOPSOUND, fixme_loader) // 16
|
|
116 |
+ (TagPair(SWF::STOPSOUND, fixme_loader)) // 16
|
|
117 |
|
|
118 |
// 17
|
|
119 |
- (SWF::DEFINEBUTTONSOUND, DefineButtonSoundTag::loader)
|
|
120 |
+ (TagPair(SWF::DEFINEBUTTONSOUND, DefineButtonSoundTag::loader))
|
|
121 |
// 18
|
|
122 |
- (SWF::SOUNDSTREAMHEAD, sound_stream_head_loader)
|
|
123 |
+ (TagPair(SWF::SOUNDSTREAMHEAD, sound_stream_head_loader))
|
|
124 |
// 19
|
|
125 |
- (SWF::SOUNDSTREAMBLOCK, StreamSoundBlockTag::loader)
|
|
126 |
- (SWF::DEFINELOSSLESS, define_bits_lossless_2_loader)
|
|
127 |
- (SWF::DEFINEBITSJPEG2, define_bits_jpeg2_loader)
|
|
128 |
- (SWF::DEFINESHAPE2, DefineShapeTag::loader)
|
|
129 |
- (SWF::DEFINEBUTTONCXFORM, DefineButtonCxformTag::loader) // 23
|
|
130 |
+ (TagPair(SWF::SOUNDSTREAMBLOCK, StreamSoundBlockTag::loader))
|
|
131 |
+ (TagPair(SWF::DEFINELOSSLESS, define_bits_lossless_2_loader))
|
|
132 |
+ (TagPair(SWF::DEFINEBITSJPEG2, define_bits_jpeg2_loader))
|
|
133 |
+ (TagPair(SWF::DEFINESHAPE2, DefineShapeTag::loader))
|
|
134 |
+ (TagPair(SWF::DEFINEBUTTONCXFORM, DefineButtonCxformTag::loader)) // 23
|
|
135 |
// "protect" tag; we're not an authoring tool so we don't care.
|
|
136 |
// (might be nice to dump the password instead..)
|
|
137 |
- (SWF::PROTECT, null_loader)
|
|
138 |
- (SWF::PATHSAREPOSTSCRIPT, fixme_loader) // 25
|
|
139 |
- (SWF::PLACEOBJECT2, PlaceObject2Tag::loader)
|
|
140 |
+ (TagPair(SWF::PROTECT, null_loader))
|
|
141 |
+ (TagPair(SWF::PATHSAREPOSTSCRIPT, fixme_loader)) // 25
|
|
142 |
+ (TagPair(SWF::PLACEOBJECT2, PlaceObject2Tag::loader))
|
|
143 |
// 27 - _UNKNOWN_ unimplemented
|
|
144 |
- (SWF::REMOVEOBJECT2, RemoveObjectTag::loader) // 28
|
|
145 |
- (SWF::SYNCFRAME, fixme_loader) // 29
|
|
146 |
+ (TagPair(SWF::REMOVEOBJECT2, RemoveObjectTag::loader)) // 28
|
|
147 |
+ (TagPair(SWF::SYNCFRAME, fixme_loader)) // 29
|
|
148 |
// 30 - _UNKNOWN_ unimplemented
|
|
149 |
- (SWF::FREEALL, fixme_loader) // 31
|
|
150 |
- (SWF::DEFINESHAPE3, DefineShapeTag::loader)
|
|
151 |
- (SWF::DEFINETEXT2, DefineText2Tag::loader)
|
|
152 |
+ (TagPair(SWF::FREEALL, fixme_loader)) // 31
|
|
153 |
+ (TagPair(SWF::DEFINESHAPE3, DefineShapeTag::loader))
|
|
154 |
+ (TagPair(SWF::DEFINETEXT2, DefineText2Tag::loader))
|
|
155 |
// 37
|
|
156 |
- (SWF::DEFINEBUTTON2, DefineButton2Tag::loader)
|
|
157 |
- (SWF::DEFINEBITSJPEG3, define_bits_jpeg3_loader)
|
|
158 |
- (SWF::DEFINELOSSLESS2, define_bits_lossless_2_loader)
|
|
159 |
- (SWF::DEFINEEDITTEXT, DefineEditTextTag::loader)
|
|
160 |
- (SWF::DEFINEVIDEO, fixme_loader) // 38
|
|
161 |
- (SWF::DEFINESPRITE, sprite_loader)
|
|
162 |
- (SWF::NAMECHARACTER, fixme_loader) // 40
|
|
163 |
- (SWF::SERIALNUMBER, serialnumber_loader) // 41
|
|
164 |
- (SWF::DEFINETEXTFORMAT, fixme_loader) // 42
|
|
165 |
- (SWF::FRAMELABEL, frame_label_loader) // 43
|
|
166 |
+ (TagPair(SWF::DEFINEBUTTON2, DefineButton2Tag::loader))
|
|
167 |
+ (TagPair(SWF::DEFINEBITSJPEG3, define_bits_jpeg3_loader))
|
|
168 |
+ (TagPair(SWF::DEFINELOSSLESS2, define_bits_lossless_2_loader))
|
|
169 |
+ (TagPair(SWF::DEFINEEDITTEXT, DefineEditTextTag::loader))
|
|
170 |
+ (TagPair(SWF::DEFINEVIDEO, fixme_loader)) // 38
|
|
171 |
+ (TagPair(SWF::DEFINESPRITE, sprite_loader))
|
|
172 |
+ (TagPair(SWF::NAMECHARACTER, fixme_loader)) // 40
|
|
173 |
+ (TagPair(SWF::SERIALNUMBER, serialnumber_loader)) // 41
|
|
174 |
+ (TagPair(SWF::DEFINETEXTFORMAT, fixme_loader)) // 42
|
|
175 |
+ (TagPair(SWF::FRAMELABEL, frame_label_loader)) // 43
|
|
176 |
|
|
177 |
// TODO: Implement, but fixme_loader breaks tests.
|
|
178 |
- (SWF::DEFINEBEHAVIOR, fixme_loader) // 44
|
|
179 |
+ (TagPair(SWF::DEFINEBEHAVIOR, fixme_loader)) // 44
|
|
180 |
|
|
181 |
- (SWF::SOUNDSTREAMHEAD2, sound_stream_head_loader) // 45
|
|
182 |
+ (TagPair(SWF::SOUNDSTREAMHEAD2, sound_stream_head_loader)) // 45
|
|
183 |
// 46
|
|
184 |
- (SWF::DEFINEMORPHSHAPE, DefineMorphShapeTag::loader)
|
|
185 |
- (SWF::FRAMETAG, fixme_loader) // 47
|
|
186 |
+ (TagPair(SWF::DEFINEMORPHSHAPE, DefineMorphShapeTag::loader))
|
|
187 |
+ (TagPair(SWF::FRAMETAG, fixme_loader)) // 47
|
|
188 |
// 48
|
|
189 |
- (SWF::DEFINEFONT2, DefineFontTag::loader)
|
|
190 |
- (SWF::GENCOMMAND, fixme_loader) // 49
|
|
191 |
- (SWF::DEFINECOMMANDOBJ, fixme_loader) // 50
|
|
192 |
- (SWF::CHARACTERSET, fixme_loader) // 51
|
|
193 |
- (SWF::FONTREF, fixme_loader) // 52
|
|
194 |
+ (TagPair(SWF::DEFINEFONT2, DefineFontTag::loader))
|
|
195 |
+ (TagPair(SWF::GENCOMMAND, fixme_loader)) // 49
|
|
196 |
+ (TagPair(SWF::DEFINECOMMANDOBJ, fixme_loader)) // 50
|
|
197 |
+ (TagPair(SWF::CHARACTERSET, fixme_loader)) // 51
|
|
198 |
+ (TagPair(SWF::FONTREF, fixme_loader)) // 52
|
|
199 |
|
|
200 |
// TODO: Implement, but fixme_loader breaks tests.
|
|
201 |
- (SWF::DEFINEFUNCTION, fixme_loader) // 53
|
|
202 |
- (SWF::PLACEFUNCTION, fixme_loader) // 54
|
|
203 |
- (SWF::GENTAGOBJECT, fixme_loader) // 55
|
|
204 |
+ (TagPair(SWF::DEFINEFUNCTION, fixme_loader)) // 53
|
|
205 |
+ (TagPair(SWF::PLACEFUNCTION, fixme_loader)) // 54
|
|
206 |
+ (TagPair(SWF::GENTAGOBJECT, fixme_loader)) // 55
|
|
207 |
|
|
208 |
- (SWF::EXPORTASSETS, export_loader) // 56
|
|
209 |
- (SWF::IMPORTASSETS, import_loader) // 57
|
|
210 |
+ (TagPair(SWF::EXPORTASSETS, export_loader)) // 56
|
|
211 |
+ (TagPair(SWF::IMPORTASSETS, import_loader)) // 57
|
|
212 |
|
|
213 |
// We're not an authoring tool so we don't care.
|
|
214 |
// (might be nice to dump the password instead..)
|
|
215 |
- (SWF::ENABLEDEBUGGER, null_loader) // 58
|
|
216 |
+ (TagPair(SWF::ENABLEDEBUGGER, null_loader)) // 58
|
|
217 |
|
|
218 |
// 59
|
|
219 |
- (SWF::INITACTION, DoInitActionTag::loader)
|
|
220 |
+ (TagPair(SWF::INITACTION, DoInitActionTag::loader))
|
|
221 |
// 60
|
|
222 |
- (SWF::DEFINEVIDEOSTREAM, DefineVideoStreamTag::loader)
|
|
223 |
+ (TagPair(SWF::DEFINEVIDEOSTREAM, DefineVideoStreamTag::loader))
|
|
224 |
// 61
|
|
225 |
- (SWF::VIDEOFRAME, VideoFrameTag::loader)
|
|
226 |
+ (TagPair(SWF::VIDEOFRAME, VideoFrameTag::loader))
|
|
227 |
|
|
228 |
// 62, DEFINEFONTINFO2 is done above.
|
|
229 |
// We're not an authoring tool.
|
|
230 |
- (SWF::DEBUGID, null_loader) // 63
|
|
231 |
+ (TagPair(SWF::DEBUGID, null_loader)) // 63
|
|
232 |
|
|
233 |
// We're not an authoring tool so we don't care.
|
|
234 |
// (might be nice to dump the password instead..)
|
|
235 |
- (SWF::ENABLEDEBUGGER2, null_loader) // 64
|
|
236 |
- (SWF::SCRIPTLIMITS, ScriptLimitsTag::loader) //65
|
|
237 |
+ (TagPair(SWF::ENABLEDEBUGGER2, null_loader)) // 64
|
|
238 |
+ (TagPair(SWF::SCRIPTLIMITS, ScriptLimitsTag::loader)) //65
|
|
239 |
|
|
240 |
// TODO: Fix this, but probably not critical.
|
|
241 |
- (SWF::SETTABINDEX, SetTabIndexTag::loader) //66
|
|
242 |
+ (TagPair(SWF::SETTABINDEX, SetTabIndexTag::loader)) //66
|
|
243 |
|
|
244 |
// TODO: Alexis reference says these are 83, 84. The 67, 68 comes from
|
|
245 |
// Tamarin. Figure out which one is correct (possibly both are).
|
|
246 |
// 67
|
|
247 |
- (SWF::DEFINESHAPE4_, DefineShapeTag::loader)
|
|
248 |
+ (TagPair(SWF::DEFINESHAPE4_, DefineShapeTag::loader))
|
|
249 |
// 68
|
|
250 |
- (SWF::DEFINEMORPHSHAPE2_, DefineMorphShapeTag::loader)
|
|
251 |
+ (TagPair(SWF::DEFINEMORPHSHAPE2_, DefineMorphShapeTag::loader))
|
|
252 |
// 69
|
|
253 |
- (SWF::FILEATTRIBUTES, file_attributes_loader)
|
|
254 |
+ (TagPair(SWF::FILEATTRIBUTES, file_attributes_loader))
|
|
255 |
// 70
|
|
256 |
- (SWF::PLACEOBJECT3, PlaceObject2Tag::loader)
|
|
257 |
+ (TagPair(SWF::PLACEOBJECT3, PlaceObject2Tag::loader))
|
|
258 |
// 71
|
|
259 |
- (SWF::IMPORTASSETS2, import_loader)
|
|
260 |
+ (TagPair(SWF::IMPORTASSETS2, import_loader))
|
|
261 |
// 73
|
|
262 |
- (SWF::DEFINEALIGNZONES, DefineFontAlignZonesTag::loader)
|
|
263 |
+ (TagPair(SWF::DEFINEALIGNZONES, DefineFontAlignZonesTag::loader))
|
|
264 |
// 74
|
|
265 |
- (SWF::CSMTEXTSETTINGS, CSMTextSettingsTag::loader)
|
|
266 |
+ (TagPair(SWF::CSMTEXTSETTINGS, CSMTextSettingsTag::loader))
|
|
267 |
// 75
|
|
268 |
- (SWF::DEFINEFONT3, DefineFontTag::loader)
|
|
269 |
+ (TagPair(SWF::DEFINEFONT3, DefineFontTag::loader))
|
|
270 |
// 77
|
|
271 |
- (SWF::METADATA, metadata_loader)
|
|
272 |
+ (TagPair(SWF::METADATA, metadata_loader))
|
|
273 |
// 78
|
|
274 |
- (SWF::DEFINESCALINGGRID, DefineScalingGridTag::loader)
|
|
275 |
+ (TagPair(SWF::DEFINESCALINGGRID, DefineScalingGridTag::loader))
|
|
276 |
// 83
|
|
277 |
- (SWF::DEFINESHAPE4, DefineShapeTag::loader)
|
|
278 |
+ (TagPair(SWF::DEFINESHAPE4, DefineShapeTag::loader))
|
|
279 |
// 84
|
|
280 |
- (SWF::DEFINEMORPHSHAPE2, DefineMorphShapeTag::loader)
|
|
281 |
+ (TagPair(SWF::DEFINEMORPHSHAPE2, DefineMorphShapeTag::loader))
|
|
282 |
// 88
|
|
283 |
- (SWF::DEFINEFONTNAME, DefineFontNameTag::loader)
|
|
284 |
+ (TagPair(SWF::DEFINEFONTNAME, DefineFontNameTag::loader))
|
|
285 |
// 777
|
|
286 |
- (SWF::REFLEX, reflex_loader)
|
|
287 |
+ (TagPair(SWF::REFLEX, reflex_loader))
|
|
288 |
|
|
289 |
#ifdef ENABLE_AVM2
|
|
290 |
// The following tags are AVM2 only.
|
|
291 |
// 72 -- AS3 codeblock.
|
|
292 |
- (SWF::DOABC, DoABCTag::loader)
|
|
293 |
+ (TagPair(SWF::DOABC, DoABCTag::loader))
|
|
294 |
// 76
|
|
295 |
- (SWF::SYMBOLCLASS, SymbolClassTag::loader)
|
|
296 |
+ (TagPair(SWF::SYMBOLCLASS, SymbolClassTag::loader))
|
|
297 |
// 82
|
|
298 |
- (SWF::DOABCDEFINE, DoABCTag::loader)
|
|
299 |
+ (TagPair(SWF::DOABCDEFINE, DoABCTag::loader))
|
|
300 |
// 86
|
|
301 |
- (SWF::DEFINESCENEANDFRAMELABELDATA,
|
|
302 |
- DefineSceneAndFrameLabelDataTag::loader)
|
|
303 |
+ (TagPair(SWF::DEFINESCENEANDFRAMELABELDATA,
|
|
304 |
+ DefineSceneAndFrameLabelDataTag::loader))
|
|
305 |
#endif
|
|
306 |
;
|
|
307 |
|
|
308 |
--- gnash-0.8.6.orig/libcore/as_value.cpp 2009-09-13 19:22:17.000000000 -0400
|
|
309 |
+++ gnash-0.8.6/libcore/as_value.cpp 2009-12-09 00:05:30.187055696 -0500
|
|
310 |
@@ -2385,7 +2385,7 @@
|
|
311 |
}
|
|
312 |
|
|
313 |
bool
|
|
314 |
-as_value::readAMF0(const boost::uint8_t *&b, const boost::uint8_t *end,
|
|
315 |
+as_value::readAMF0(const boost::uint8_t *&b, const boost::uint8_t *const end,
|
|
316 |
int inType, std::vector<as_object*>& objRefs, VM& vm)
|
|
317 |
{
|
|
318 |
return amf0_read_value(b, end, *this, inType, objRefs, vm);
|
|
319 |
--- gnash-0.8.6.orig/libmedia/gst/VideoInputGst.cpp 2009-09-13 19:22:17.000000000 -0400
|
|
320 |
+++ gnash-0.8.6/libmedia/gst/VideoInputGst.cpp 2009-12-07 16:28:59.164119222 -0500
|
|
321 |
@@ -948,9 +948,9 @@
|
|
322 |
{
|
|
323 |
|
|
324 |
for (int i = 0; i < webcam->_currentFormat->numFramerates; ++i) {
|
|
325 |
- int val = std::ceil(
|
|
326 |
+ int val = std::ceil(static_cast<double>(
|
|
327 |
webcam->_currentFormat->framerates[i].numerator /
|
|
328 |
- webcam->_currentFormat->framerates[i].denominator);
|
|
329 |
+ webcam->_currentFormat->framerates[i].denominator));
|
|
330 |
if (val == fps) {
|
|
331 |
return true;
|
|
332 |
}
|