Index: content/renderer/pepper/pepper_video_source_host.cc |
diff --git a/content/renderer/pepper/pepper_video_source_host.cc b/content/renderer/pepper/pepper_video_source_host.cc |
index db20126b141a6f30c413748970c36a7bb5f36e5d..37ec156dc9acbb3ef135517d7719f237bfc2275a 100644 |
--- a/content/renderer/pepper/pepper_video_source_host.cc |
+++ b/content/renderer/pepper/pepper_video_source_host.cc |
@@ -59,6 +59,18 @@ void PepperVideoSourceHost::FrameReceiver::GotFrame( |
DCHECK(thread_checker_.CalledOnValidThread()); |
if (!host_) |
return; |
+ |
+ if (!(frame->IsMappable() && |
+ (frame->format() == media::PIXEL_FORMAT_I420 || |
+ frame->format() == media::PIXEL_FORMAT_YV12A))) { |
+ NOTREACHED(); |
+ return; |
+ } |
+ |
+ // Drop alpha channel since we do not support it yet. |
+ if (frame->format() == media::PIXEL_FORMAT_YV12A) |
+ frame->DropYV12AAlphaChannel(); |
+ |
// Hold a reference to the new frame and release the previous. |
host_->last_frame_ = frame; |
if (host_->get_frame_pending_) |