| Index: chromecast/media/cma/filters/hole_frame_factory.cc
|
| diff --git a/chromecast/media/cma/filters/hole_frame_factory.cc b/chromecast/media/cma/filters/hole_frame_factory.cc
|
| index dfb9a33b0f208e1177e88675aacdfd5c5e2caca2..caad1886deca6d337a5f7b950ef0ffd1794bc775 100644
|
| --- a/chromecast/media/cma/filters/hole_frame_factory.cc
|
| +++ b/chromecast/media/cma/filters/hole_frame_factory.cc
|
| @@ -21,6 +21,7 @@ HoleFrameFactory::HoleFrameFactory(
|
| : gpu_factories_(gpu_factories),
|
| texture_(0),
|
| image_id_(0),
|
| + sync_point_(0),
|
| use_legacy_hole_punching_(
|
| base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kEnableLegacyHolePunching)) {
|
| @@ -36,6 +37,8 @@ HoleFrameFactory::HoleFrameFactory(
|
|
|
| gl->GenMailboxCHROMIUM(mailbox_.name);
|
| gl->ProduceTextureDirectCHROMIUM(texture_, GL_TEXTURE_2D, mailbox_.name);
|
| +
|
| + sync_point_ = gl->InsertSyncPointCHROMIUM();
|
| }
|
| }
|
|
|
| @@ -61,7 +64,7 @@ scoped_refptr<::media::VideoFrame> HoleFrameFactory::CreateHoleFrame(
|
| scoped_refptr<::media::VideoFrame> frame =
|
| ::media::VideoFrame::WrapNativeTexture(
|
| ::media::VideoFrame::XRGB,
|
| - gpu::MailboxHolder(mailbox_, GL_TEXTURE_2D, 0),
|
| + gpu::MailboxHolder(mailbox_, GL_TEXTURE_2D, sync_point_),
|
| ::media::VideoFrame::ReleaseMailboxCB(),
|
| size, // coded_size
|
| gfx::Rect(size), // visible rect
|
|
|