Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Unified Diff: media/capture/video/mac/video_capture_device_decklink_mac.mm

Issue 1418263006: Extend VideoCaptureDevice::Client::OnError() to have a tracked_objects::Location param. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/capture/video/mac/video_capture_device_decklink_mac.mm
diff --git a/media/capture/video/mac/video_capture_device_decklink_mac.mm b/media/capture/video/mac/video_capture_device_decklink_mac.mm
index c73cb406878a14138661d628af16afc940f8c012..6877f962061ac4d052d8885e8f905907faac93d3 100644
--- a/media/capture/video/mac/video_capture_device_decklink_mac.mm
+++ b/media/capture/video/mac/video_capture_device_decklink_mac.mm
@@ -69,7 +69,8 @@ class DeckLinkCaptureDelegate
ULONG Release() override;
// Forwarder to VideoCaptureDeviceDeckLinkMac::SendErrorString().
- void SendErrorString(const std::string& reason);
+ void SendErrorString(const tracked_objects::Location& from_here,
+ const std::string& reason);
// Forwarder to VideoCaptureDeviceDeckLinkMac::SendLogString().
void SendLogString(const std::string& message);
@@ -143,21 +144,21 @@ void DeckLinkCaptureDelegate::AllocateAndStart(
}
}
if (!decklink_local.get()) {
- SendErrorString("Device id not found in the system");
+ SendErrorString(FROM_HERE, "Device id not found in the system");
return;
}
ScopedDeckLinkPtr<IDeckLinkInput> decklink_input_local;
if (decklink_local->QueryInterface(
IID_IDeckLinkInput, decklink_input_local.ReceiveVoid()) != S_OK) {
- SendErrorString("Error querying input interface.");
+ SendErrorString(FROM_HERE, "Error querying input interface.");
return;
}
ScopedDeckLinkPtr<IDeckLinkDisplayModeIterator> display_mode_iter;
if (decklink_input_local->GetDisplayModeIterator(
display_mode_iter.Receive()) != S_OK) {
- SendErrorString("Error creating Display Mode Iterator");
+ SendErrorString(FROM_HERE, "Error creating Display Mode Iterator");
return;
}
@@ -178,7 +179,7 @@ void DeckLinkCaptureDelegate::AllocateAndStart(
display_mode.Release();
}
if (!chosen_display_mode.get()) {
- SendErrorString("Could not find a display mode");
+ SendErrorString(FROM_HERE, "Could not find a display mode");
return;
}
#if !defined(NDEBUG)
@@ -194,13 +195,13 @@ void DeckLinkCaptureDelegate::AllocateAndStart(
if (decklink_input_local->EnableVideoInput(
chosen_display_mode->GetDisplayMode(), bmdFormat8BitYUV,
bmdVideoInputFlagDefault) != S_OK) {
- SendErrorString("Could not select the video format we like.");
+ SendErrorString(FROM_HERE, "Could not select the video format we like.");
return;
}
decklink_input_local->SetCallback(this);
if (decklink_input_local->StartStreams() != S_OK)
- SendErrorString("Could not start capturing");
+ SendErrorString(FROM_HERE, "Could not start capturing");
decklink_.swap(decklink_local);
decklink_input_.swap(decklink_input_local);
@@ -244,7 +245,7 @@ HRESULT DeckLinkCaptureDelegate::VideoInputFrameArrived(
pixel_format = media::PIXEL_FORMAT_ARGB;
break;
default:
- SendErrorString("Unsupported pixel format");
+ SendErrorString(FROM_HERE, "Unsupported pixel format");
break;
}
@@ -288,10 +289,12 @@ ULONG DeckLinkCaptureDelegate::Release() {
return ret_value;
}
-void DeckLinkCaptureDelegate::SendErrorString(const std::string& reason) {
+void DeckLinkCaptureDelegate::SendErrorString(
+ const tracked_objects::Location& from_here,
+ const std::string& reason) {
base::AutoLock lock(lock_);
if (frame_receiver_)
- frame_receiver_->SendErrorString(reason);
+ frame_receiver_->SendErrorString(from_here, reason);
}
void DeckLinkCaptureDelegate::SendLogString(const std::string& message) {
@@ -453,11 +456,13 @@ void VideoCaptureDeviceDeckLinkMac::OnIncomingCapturedData(
}
}
-void VideoCaptureDeviceDeckLinkMac::SendErrorString(const std::string& reason) {
+void VideoCaptureDeviceDeckLinkMac::SendErrorString(
+ const tracked_objects::Location& from_here,
+ const std::string& reason) {
DCHECK(thread_checker_.CalledOnValidThread());
base::AutoLock lock(lock_);
if (client_)
- client_->OnError(reason);
+ client_->OnError(from_here, reason);
}
void VideoCaptureDeviceDeckLinkMac::SendLogString(const std::string& message) {

Powered by Google App Engine
This is Rietveld 408576698