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 bdad9651e2238fe3d4d23fa51c99fab98b76dd80..354e37d3b89406c5d12e05e3cab88f64cc697d36 100644 |
--- a/content/renderer/pepper/pepper_video_source_host.cc |
+++ b/content/renderer/pepper/pepper_video_source_host.cc |
@@ -182,7 +182,7 @@ void PepperVideoSourceHost::SendGetFrameReply() { |
const uint8* src_v = frame->data(media::VideoFrame::kVPlane) + |
(center * vert_crop + horiz_crop) / 2; |
- libyuv::I420ToBGRA(src_y, |
+ libyuv::I420ToARGB(src_y, |
frame->stride(media::VideoFrame::kYPlane), |
src_u, |
frame->stride(media::VideoFrame::kUPlane), |
@@ -192,6 +192,10 @@ void PepperVideoSourceHost::SendGetFrameReply() { |
bitmap->rowBytes(), |
dst_width, |
dst_height); |
+ // Give an imperceptible hint about endianness in the first pixel. The alpha |
+ // channel is always 255, if B is 255 as well, change it to 254. |
+ if (bitmap_pixels[0] == 255) |
+ bitmap_pixels[0] = 254; |
ppapi::HostResource host_resource; |
host_resource.SetHostResource(pp_instance(), resource.get()); |