11 #include "cores/VideoPlayer/Buffers/VideoBuffer.h"    12 #include "cores/VideoPlayer/VideoRenderers/RenderInfo.h"    13 #include "cores/VideoSettings.h"    14 #include "threads/CriticalSection.h"    30   static void RegisterProcessControl(
const std::string& 
id, CreateProcessControl createFunc);
    35   void ResetVideoCodecInfo();
    36   void SetVideoDecoderName(
const std::string &name, 
bool isHw);
    37   std::string GetVideoDecoderName();
    38   bool IsVideoHwDecoder();
    39   void SetVideoDeintMethod(
const std::string &method);
    40   std::string GetVideoDeintMethod();
    41   void SetVideoPixelFormat(
const std::string &pixFormat);
    42   std::string GetVideoPixelFormat();
    43   void SetVideoStereoMode(
const std::string &mode);
    44   std::string GetVideoStereoMode();
    45   void SetVideoDimensions(
int width, 
int height);
    46   void GetVideoDimensions(
int &width, 
int &height);
    47   void SetVideoFps(
float fps);
    49   void SetVideoDAR(
float dar);
    51   void SetVideoInterlaced(
bool interlaced);
    52   bool GetVideoInterlaced();
    53   virtual EINTERLACEMETHOD GetFallbackDeintMethod();
    54   virtual void SetSwDeinterlacingMethods();
    55   void UpdateDeinterlacingMethods(std::list<EINTERLACEMETHOD> &methods);
    56   bool Supports(EINTERLACEMETHOD method) 
const;
    57   void SetDeinterlacingMethodDefault(EINTERLACEMETHOD method);
    58   EINTERLACEMETHOD GetDeinterlacingMethodDefault() 
const;
    60   std::vector<AVPixelFormat> GetPixFormats();
    61   void SetPixFormats(std::vector<AVPixelFormat> &formats);
    64   void ResetAudioCodecInfo();
    65   void SetAudioDecoderName(
const std::string &name);
    66   std::string GetAudioDecoderName();
    67   void SetAudioChannels(
const std::string &channels);
    68   std::string GetAudioChannels();
    69   void SetAudioSampleRate(
int sampleRate);
    70   int GetAudioSampleRate();
    71   void SetAudioBitsPerSample(
int bitsPerSample);
    72   int GetAudioBitsPerSample();
    73   virtual bool AllowDTSHDDecode();
    74   virtual bool WantsRawPassthrough() { 
return false; }
    77   void SetRenderClockSync(
bool enabled);
    78   bool IsRenderClockSync();
    80   void UpdateRenderBuffers(
int queued, 
int discard, 
int free);
    81   void GetRenderBuffers(
int &queued, 
int &discard, 
int &free);
    82   virtual std::vector<AVPixelFormat> GetRenderFormats();
    91   void SetStateSeeking(
bool active);
    93   void SetStateRealtime(
bool state);
    94   bool IsRealtimeStream();
    95   void SetSpeed(
float speed);
    96   void SetNewSpeed(
float speed);
    98   void SetFrameAdvance(
bool fa);
    99   bool IsFrameAdvance();
   100   void SetTempo(
float tempo);
   101   void SetNewTempo(
float tempo);
   103   bool IsTempoAllowed(
float tempo);
   104   virtual float MinTempoPlatform();
   105   virtual float MaxTempoPlatform();
   106   void SetLevelVQ(
int level);
   108   void SetGuiRender(
bool gui);
   110   void SetVideoRender(
bool video);
   111   bool GetVideoRender();
   112   unsigned int GetMaxPassthroughOffSyncDuration() 
const;
   114   void SetPlayTimes(time_t start, int64_t current, int64_t min, int64_t max);
   115   int64_t GetMaxTime();
   124   static std::map<std::string, CreateProcessControl> m_processControls;
   128   bool m_videoIsHWDecoder;
   129   std::string m_videoDecoderName;
   130   std::string m_videoDeintMethod;
   131   std::string m_videoPixelFormat;
   132   std::string m_videoStereoMode;
   137   bool m_videoIsInterlaced;
   138   std::list<EINTERLACEMETHOD> m_deintMethods;
   139   EINTERLACEMETHOD m_deintMethodDefault;
   140   mutable CCriticalSection m_videoCodecSection;
   142   std::vector<AVPixelFormat> m_pixFormats;
   145   std::string m_audioDecoderName;
   146   std::string m_audioChannels;
   147   int m_audioSampleRate;
   148   int m_audioBitsPerSample;
   149   CCriticalSection m_audioCodecSection;
   152   CCriticalSection m_renderSection;
   155   int m_renderBufQueued = 0;
   156   int m_renderBufFree = 0;
   157   int m_renderBufDiscard = 0;
   160   CCriticalSection m_stateSection;
   162   std::atomic_int m_levelVQ;
   163   std::atomic_bool m_renderGuiLayer;
   164   std::atomic_bool m_renderVideoLayer;
   174   bool m_realTimeStream;
   177   CCriticalSection m_settingsSection;
   179   std::unique_ptr<CVideoSettingsLocked> m_videoSettingsLocked;
 Definition: RenderInfo.h:19
Definition: VideoBuffer.h:179
Definition: VideoSettings.h:234
Definition: DataCacheCore.h:19
Definition: ProcessInfo.h:26
Definition: settings.py:1
void SeekFinished(int64_t offset)
Notifies that a seek operation has finished. 
Definition: ProcessInfo.cpp:472
Definition: VideoSettings.h:194