@@ -237,6 +237,11 @@ class Videoio_Bunny : public Videoio_Test_Base, public testing::TestWithParam<Ba
237
237
if (!isBackendAvailable (apiPref, cv::videoio_registry::getStreamBackends ()))
238
238
throw SkipTestException (cv::String (" Backend is not available/disabled: " ) + cv::videoio_registry::getBackendName (apiPref));
239
239
240
+ // GStreamer: https://github.com/opencv/opencv/issues/19025
241
+ if (apiPref == CAP_GSTREAMER)
242
+ throw SkipTestException (cv::String (" Backend " ) + cv::videoio_registry::getBackendName (apiPref) +
243
+ cv::String (" does not return reliable values for CAP_PROP_POS_MSEC property" ));
244
+
240
245
if (((apiPref == CAP_FFMPEG) && ((ext == " h264" ) || (ext == " h265" ))))
241
246
throw SkipTestException (cv::String (" Backend " ) + cv::videoio_registry::getBackendName (apiPref) +
242
247
cv::String (" does not support CAP_PROP_POS_MSEC option" ));
@@ -253,10 +258,12 @@ class Videoio_Bunny : public Videoio_Test_Base, public testing::TestWithParam<Ba
253
258
double timestamp = 0 ;
254
259
ASSERT_NO_THROW (cap >> img);
255
260
EXPECT_NO_THROW (timestamp = cap.get (CAP_PROP_POS_MSEC));
261
+ if (cvtest::debugLevel > 0 )
262
+ std::cout << " i = " << i << " : timestamp = " << timestamp << std::endl;
256
263
const double frame_period = 1000 .f /bunny_param.getFps ();
257
264
// NOTE: eps == frame_period, because videoCapture returns frame begining timestamp or frame end
258
265
// timestamp depending on codec and back-end. So the first frame has timestamp 0 or frame_period.
259
- EXPECT_NEAR (timestamp, i*frame_period, frame_period);
266
+ EXPECT_NEAR (timestamp, i*frame_period, frame_period) << " i= " << i ;
260
267
}
261
268
}
262
269
};
0 commit comments