11 #include "cores/GameSettings.h"    12 #include "cores/RetroPlayer/RetroPlayerTypes.h"    13 #include "threads/CriticalSection.h"    22 #include <libavutil/pixfmt.h>    31 class CRenderBufferManager;
    33 class CRenderSettings;
    34 class CRPBaseRenderer;
    36 class IRenderBufferPool;
    41 using CreateRPProcessControl = std::function<std::unique_ptr<CRPProcessInfo>()>;
    65                                           std::shared_ptr<IRenderBufferPool> bufferPool) = 0;
    83   static std::unique_ptr<CRPProcessInfo> CreateInstance();
    84   static void RegisterProcessControl(
const CreateRPProcessControl& createFunc);
   142   bool HasScalingMethod(SCALINGMETHOD scalingMethod) 
const;
   153   void SetVideoPixelFormat(AVPixelFormat pixFormat);
   154   void SetVideoDimensions(
int width, 
int height);
   155   void SetVideoFps(
float fps);
   160   void SetAudioChannels(
const std::string& channels);
   161   void SetAudioSampleRate(
int sampleRate);
   162   void SetAudioBitsPerSample(
int bitsPerSample);
   167   void SetSpeed(
float speed);
   168   void SetPlayTimes(time_t start, int64_t current, int64_t min, int64_t max);
   182   static std::vector<SCALINGMETHOD> GetScalingMethods();
   185   static CreateRPProcessControl m_processControl;
   186   static std::vector<std::unique_ptr<IRendererFactory>> m_rendererFactories;
   187   static CCriticalSection m_createSection;
   190   const std::string m_platformName;
   196   std::unique_ptr<CRenderBufferManager> m_renderBufferManager;
   200   std::unique_ptr<CRenderContext> m_renderContext;
   201   SCALINGMETHOD m_defaultScalingMethod = SCALINGMETHOD::AUTO;
 SCALINGMETHOD GetDefaultScalingMethod() const
Get the default scaling method for this rendering system. 
Definition: RPProcessInfo.h:147
Definition: DataCacheCore.h:19
virtual CRPBaseRenderer * CreateRenderer(const CRenderSettings &settings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)=0
Create a renderer. 
CRenderContext & GetRenderContext()
Get the context shared by the rendering system. 
Definition: RPProcessInfo.h:132
Definition: RenderBufferManager.h:25
Definition: AudioDecoder.h:18
Definition: IRenderBufferPool.h:30
virtual std::string RenderSystemName() const =0
Get a description name of the rendering system. 
Rendering factory. 
Definition: RPProcessInfo.h:46
Definition: RenderContext.h:43
Definition: settings.py:1
virtual RenderBufferPoolVector CreateBufferPools(CRenderContext &context)=0
Create buffer pools to manager buffers. 
const std::string & GetPlatformName() const
Get the descriptive name of the platform. 
Definition: RPProcessInfo.h:94
Definition: RPBaseRenderer.h:32
Player process info. 
Definition: RPProcessInfo.h:80
Definition: RenderSettings.h:17
CRenderBufferManager & GetBufferManager()
Get the buffer manager that owns the buffer pools. 
Definition: RPProcessInfo.h:137