| Index: content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
|
| index abcfadd3c66e2b0843bc87e95ce6216f4d24f874..dc8a7eb2267de351bc243e6b7d134678f801ee7b 100644
|
| --- a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
|
| @@ -26,8 +26,11 @@
|
| namespace content {
|
|
|
| VideoCaptureGpuJpegDecoder::VideoCaptureGpuJpegDecoder(
|
| - const DecodeDoneCB& decode_done_cb)
|
| - : decode_done_cb_(decode_done_cb),
|
| + DecodeDoneCB decode_done_cb,
|
| + base::Callback<void(const std::string&)> send_log_message_cb)
|
| + : decode_done_cb_(std::move(decode_done_cb)),
|
| + send_log_message_cb_(std::move(send_log_message_cb)),
|
| + has_received_decoded_frame_(false),
|
| next_bitstream_buffer_id_(0),
|
| in_buffer_id_(media::JpegDecodeAccelerator::kInvalidBitstreamBufferId),
|
| decoder_status_(INIT_PENDING) {}
|
| @@ -176,6 +179,10 @@ void VideoCaptureGpuJpegDecoder::DecodeCapturedData(
|
| void VideoCaptureGpuJpegDecoder::VideoFrameReady(int32_t bitstream_buffer_id) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| TRACE_EVENT0("jpeg", "VideoCaptureGpuJpegDecoder::VideoFrameReady");
|
| + if (!has_received_decoded_frame_) {
|
| + send_log_message_cb_.Run("Received decoded frame from Gpu Jpeg decoder");
|
| + has_received_decoded_frame_ = true;
|
| + }
|
| base::AutoLock lock(lock_);
|
|
|
| if (!IsDecoding_Locked()) {
|
| @@ -203,7 +210,7 @@ void VideoCaptureGpuJpegDecoder::NotifyError(
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| LOG(ERROR) << "Decode error, bitstream_buffer_id=" << bitstream_buffer_id
|
| << ", error=" << error;
|
| -
|
| + send_log_message_cb_.Run("Gpu Jpeg decoder failed");
|
| base::AutoLock lock(lock_);
|
| decode_done_closure_.Reset();
|
| decoder_status_ = FAILED;
|
|
|