videoio/MSMF: refactored format handling and selection, property reading and writing

This commit is contained in:
Maksim Shabunin 2020-02-07 15:03:20 +03:00
parent 6ad390a1cd
commit 6c8f50d1f3
2 changed files with 636 additions and 1132 deletions

File diff suppressed because it is too large Load Diff

View File

@ -117,6 +117,8 @@ public:
for (int k = 0; k < n_frames; ++k) for (int k = 0; k < n_frames; ++k)
{ {
checkFrameRead(k, cap); checkFrameRead(k, cap);
if (::testing::Test::HasFailure() && k % 10 == 0)
break;
} }
} }
bool canSeek = false; bool canSeek = false;
@ -136,6 +138,8 @@ public:
for (int k = 0; k < n_frames; k += 20) for (int k = 0; k < n_frames; k += 20)
{ {
checkFrameSeek(k, cap); checkFrameSeek(k, cap);
if (::testing::Test::HasFailure() && k % 10 == 0)
break;
} }
} }
@ -148,6 +152,8 @@ public:
for (int k = 0; k < 10; ++k) for (int k = 0; k < 10; ++k)
{ {
checkFrameSeek(cvtest::TS::ptr()->get_rng().uniform(0, n_frames), cap); checkFrameSeek(cvtest::TS::ptr()->get_rng().uniform(0, n_frames), cap);
if (::testing::Test::HasFailure() && k % 10 == 0)
break;
} }
} }
} }
@ -215,6 +221,8 @@ public:
EXPECT_EQ(bunny_param.getWidth(), frame.cols); EXPECT_EQ(bunny_param.getWidth(), frame.cols);
EXPECT_EQ(bunny_param.getHeight(), frame.rows); EXPECT_EQ(bunny_param.getHeight(), frame.rows);
count_actual += 1; count_actual += 1;
if (::testing::Test::HasFailure() && count_actual % 10 == 0)
break;
} }
if (count_prop > 0) if (count_prop > 0)
{ {
@ -266,6 +274,8 @@ public:
{ {
generateFrame(i, frame_count, img); generateFrame(i, frame_count, img);
EXPECT_NO_THROW(writer << img); EXPECT_NO_THROW(writer << img);
if (::testing::Test::HasFailure() && i % 10 == 0)
break;
} }
EXPECT_NO_THROW(writer.release()); EXPECT_NO_THROW(writer.release());
} }