1 // Copyright 2015 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/renderers/video_overlay_factory.h"
7 #include "base/logging.h"
8 #include "base/time/time.h"
9 #include "media/base/video_frame.h"
10 #include "ui/gfx/geometry/size.h"
14 VideoOverlayFactory::VideoOverlayFactory()
15 : overlay_plane_id_(base::UnguessableToken::Create()) {}
17 VideoOverlayFactory::~VideoOverlayFactory() = default;
19 scoped_refptr<VideoFrame> VideoOverlayFactory::CreateFrame(
20 const gfx::Size& size) {
21 // Frame size empty => video has one dimension = 0.
22 // Dimension 0 case triggers a DCHECK later on if we push through the overlay
25 DVLOG(1) << "Create black frame " << size.width() << "x" << size.height();
26 return VideoFrame::CreateBlackFrame(gfx::Size(1, 1));
29 DVLOG(2) << "Create video overlay frame: " << size.ToString();
30 scoped_refptr<VideoFrame> frame =
31 VideoFrame::CreateVideoHoleFrame(overlay_plane_id_,
33 base::TimeDelta()); // timestamp