Index: content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
diff --git a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
index 962164c2245fa9140aa4c2346f10d7603d96faf5..4b70db38205e2ca8dd72717516956df368289d4d 100644 |
--- a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
+++ b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
@@ -219,14 +219,20 @@ void WebRtcVideoCapturerAdapter::OnFrameCaptured( |
const scoped_refptr<media::VideoFrame>& frame) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
TRACE_EVENT0("video", "WebRtcVideoCapturerAdapter::OnFrameCaptured"); |
- if (!(frame->IsMappable() && (frame->format() == media::PIXEL_FORMAT_I420 || |
- frame->format() == media::PIXEL_FORMAT_YV12))) { |
+ if (!(frame->IsMappable() && |
+ (frame->format() == media::PIXEL_FORMAT_I420 || |
+ frame->format() == media::PIXEL_FORMAT_YV12 || |
+ frame->format() == media::PIXEL_FORMAT_YV12A))) { |
// Since connecting sources and sinks do not check the format, we need to |
// just ignore formats that we can not handle. |
NOTREACHED(); |
return; |
} |
+ // Drop alpha channel since we do not support it yet. |
+ if (frame->format() == media::PIXEL_FORMAT_YV12A) |
+ frame->DropYV12AAlphaChannel(); |
+ |
// Inject the frame via the VideoFrameFactory of base class. |
MediaVideoFrameFactory* media_video_frame_factory = |
reinterpret_cast<MediaVideoFrameFactory*>(frame_factory()); |