| Index: media/capture/content/thread_safe_capture_oracle.cc
|
| diff --git a/media/capture/content/thread_safe_capture_oracle.cc b/media/capture/content/thread_safe_capture_oracle.cc
|
| index 0f817d14ab661385d26a60344030b6126b6ddba2..c7a97814b0c66d838290bcbd5683b0661ba550f4 100644
|
| --- a/media/capture/content/thread_safe_capture_oracle.cc
|
| +++ b/media/capture/content/thread_safe_capture_oracle.cc
|
| @@ -212,20 +212,20 @@ void ThreadSafeCaptureOracle::DidCaptureFrame(
|
| scoped_refptr<VideoFrame> frame,
|
| base::TimeTicks reference_time,
|
| bool success) {
|
| - TRACE_EVENT_ASYNC_END2("gpu.capture", "Capture", buffer.id, "success",
|
| - success, "timestamp",
|
| - reference_time.ToInternalValue());
|
| -
|
| base::AutoLock guard(lock_);
|
|
|
| - if (!oracle_.CompleteCapture(frame_number, success, &reference_time))
|
| - return;
|
| + const bool should_deliver_frame =
|
| + oracle_.CompleteCapture(frame_number, success, &reference_time);
|
|
|
| - TRACE_EVENT_INSTANT0("gpu.capture", "CaptureSucceeded",
|
| - TRACE_EVENT_SCOPE_THREAD);
|
| + // The following is used by
|
| + // chrome/browser/extension/api/cast_streaming/performance_test.cc, in
|
| + // addition to the usual runtime tracing.
|
| + TRACE_EVENT_ASYNC_END2("gpu.capture", "Capture", buffer.id, "success",
|
| + should_deliver_frame, "timestamp",
|
| + (reference_time - base::TimeTicks()).InMicroseconds());
|
|
|
| - if (!client_)
|
| - return; // Capture is stopped.
|
| + if (!should_deliver_frame || !client_)
|
| + return;
|
|
|
| frame->metadata()->SetDouble(VideoFrameMetadata::FRAME_RATE,
|
| params_.requested_format.frame_rate);
|
|
|