kodi
RendererStarfish.h
1 /*
2  * Copyright (C) 2023 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "cores/VideoPlayer/VideoRenderers/LinuxRendererGLES.h"
12 
14 {
15 public:
17  ~CRendererStarfish() override;
18 
19  // Registration
20  static CBaseRenderer* Create(CVideoBuffer* buffer);
21  static bool Register();
22 
23  // Player functions
24  void AddVideoPicture(const VideoPicture& picture, int index) override;
25  void ReleaseBuffer(int idx) override;
26 
27  // Feature support
28  CRenderInfo GetRenderInfo() override;
29 
30  bool IsGuiLayer() override;
31  bool IsConfigured() override;
32  bool Configure(const VideoPicture& picture, float fps, unsigned int orientation) override;
33  bool Supports(ERENDERFEATURE feature) const override;
34  bool Supports(ESCALINGMETHOD method) const override;
35  bool SupportsMultiPassRendering() override;
36  void UnInit() override;
37  void Update() override;
38  void RenderUpdate(
39  int index, int index2, bool clear, unsigned int flags, unsigned int alpha) override;
40  bool RenderCapture(int index, CRenderCapture* capture) override;
41  bool ConfigChanged(const VideoPicture& picture) override;
42 
43 protected:
44  // hooks for hw dec renderer
45  void ManageRenderArea() override;
46 
47 private:
48  CRect m_exportedSourceRect;
49  CRect m_exportedDestRect;
50  bool m_configured{false};
51  long m_acbId{0};
52 };
Definition: VideoBuffer.h:85
Definition: RenderCapture.h:23
Definition: RenderInfo.h:19
Definition: RendererStarfish.h:13
Definition: DVDVideoCodec.h:36
Definition: BaseRenderer.h:48