Commit 27035d36 authored by David Staessens's avatar David Staessens Committed by Commit Bot

media/gpu/test: Print error message when waiting for event times out.

This CL makes the video_decode_accelerator_(perf_)tests print an error message
when waiting for a specific event times out.

Currently a generic error will be printed when a timeout occurs:
  video_decode_accelerator_tests.cc:179: Failure
  Value of: tvp->WaitForFlushDone()
    Actual: false
  Expected: true

This CL makes it easier to see that a timeout happened:
  Timeout while waiting for 'FlushDone' event

TEST=./video_decode_accelerator_tests on nocturne

BUG=1020668

Change-Id: I58d609056ece2685c882a96691061a164dda2996
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1898895Reviewed-by: default avatarChih-Yu Huang <akahuang@chromium.org>
Reviewed-by: default avatarAndres Calderon Jaramillo <andrescj@chromium.org>
Commit-Queue: David Staessens <dstaessens@chromium.org>
Cr-Commit-Position: refs/heads/master@{#713246}
parent ec246586
......@@ -15,6 +15,30 @@
namespace media {
namespace test {
namespace {
// Get the name of the specified video player |event|.
const char* EventName(VideoPlayerEvent event) {
switch (event) {
case VideoPlayerEvent::kInitialized:
return "Initialized";
case VideoPlayerEvent::kFrameDecoded:
return "FrameDecoded";
case VideoPlayerEvent::kFlushing:
return "Flushing";
case VideoPlayerEvent::kFlushDone:
return "FlushDone";
case VideoPlayerEvent::kResetting:
return "Resetting";
case VideoPlayerEvent::kResetDone:
return "ResetDone";
case VideoPlayerEvent::kConfigInfo:
return "ConfigInfo";
default:
return "Unknown";
}
}
} // namespace
VideoPlayer::VideoPlayer()
: video_(nullptr),
video_player_state_(VideoPlayerState::kUninitialized),
......@@ -183,8 +207,11 @@ bool VideoPlayer::WaitForEvent(VideoPlayerEvent event, size_t times) {
}
// Check whether we've exceeded the maximum time we're allowed to wait.
if (time_waiting >= event_timeout_)
if (time_waiting >= event_timeout_) {
LOG(ERROR) << "Timeout while waiting for '" << EventName(event)
<< "' event";
return false;
}
const base::TimeTicks start_time = base::TimeTicks::Now();
event_cv_.TimedWait(event_timeout_ - time_waiting);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment