diff --git a/app/streaming/video/ffmpeg-renderers/dxva2.cpp b/app/streaming/video/ffmpeg-renderers/dxva2.cpp index 24dd260a..87a5d4ee 100644 --- a/app/streaming/video/ffmpeg-renderers/dxva2.cpp +++ b/app/streaming/video/ffmpeg-renderers/dxva2.cpp @@ -430,7 +430,7 @@ bool DXVA2Renderer::isDecoderBlacklisted() return result; } -bool DXVA2Renderer::initialize(SDL_Window* window, int videoFormat, int width, int height) +bool DXVA2Renderer::initialize(SDL_Window* window, int videoFormat, int width, int height, int) { m_VideoFormat = videoFormat; m_VideoWidth = width; diff --git a/app/streaming/video/ffmpeg-renderers/dxva2.h b/app/streaming/video/ffmpeg-renderers/dxva2.h index a146a6a3..6ec1f5f4 100644 --- a/app/streaming/video/ffmpeg-renderers/dxva2.h +++ b/app/streaming/video/ffmpeg-renderers/dxva2.h @@ -17,7 +17,8 @@ public: virtual bool initialize(SDL_Window* window, int videoFormat, int width, - int height); + int height, + int maxFps); virtual bool prepareDecoderContext(AVCodecContext* context); virtual void renderFrame(AVFrame* frame); diff --git a/app/streaming/video/ffmpeg-renderers/renderer.h b/app/streaming/video/ffmpeg-renderers/renderer.h index 4b23ed30..066e6df1 100644 --- a/app/streaming/video/ffmpeg-renderers/renderer.h +++ b/app/streaming/video/ffmpeg-renderers/renderer.h @@ -12,7 +12,8 @@ public: virtual bool initialize(SDL_Window* window, int videoFormat, int width, - int height) = 0; + int height, + int maxFps) = 0; virtual bool prepareDecoderContext(AVCodecContext* context) = 0; virtual void renderFrame(AVFrame* frame) = 0; }; @@ -24,7 +25,8 @@ public: virtual bool initialize(SDL_Window* window, int videoFormat, int width, - int height); + int height, + int maxFps); virtual bool prepareDecoderContext(AVCodecContext* context); virtual void renderFrame(AVFrame* frame); diff --git a/app/streaming/video/ffmpeg-renderers/sdl.cpp b/app/streaming/video/ffmpeg-renderers/sdl.cpp index 63fce406..6c17a6d4 100644 --- a/app/streaming/video/ffmpeg-renderers/sdl.cpp +++ b/app/streaming/video/ffmpeg-renderers/sdl.cpp @@ -33,7 +33,8 @@ bool SdlRenderer::prepareDecoderContext(AVCodecContext*) bool SdlRenderer::initialize(SDL_Window* window, int, int width, - int height) + int height, + int) { m_Renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); if (!m_Renderer) { diff --git a/app/streaming/video/ffmpeg-renderers/vaapi.cpp b/app/streaming/video/ffmpeg-renderers/vaapi.cpp index 2212e589..20b72773 100644 --- a/app/streaming/video/ffmpeg-renderers/vaapi.cpp +++ b/app/streaming/video/ffmpeg-renderers/vaapi.cpp @@ -27,7 +27,7 @@ VAAPIRenderer::~VAAPIRenderer() } bool -VAAPIRenderer::initialize(SDL_Window* window, int, int width, int height) +VAAPIRenderer::initialize(SDL_Window* window, int, int width, int height, int) { int err; SDL_SysWMinfo info; diff --git a/app/streaming/video/ffmpeg-renderers/vaapi.h b/app/streaming/video/ffmpeg-renderers/vaapi.h index 041de5cc..f0f63bea 100644 --- a/app/streaming/video/ffmpeg-renderers/vaapi.h +++ b/app/streaming/video/ffmpeg-renderers/vaapi.h @@ -33,7 +33,8 @@ public: virtual bool initialize(SDL_Window* window, int videoFormat, int width, - int height); + int height, + int maxFps); virtual bool prepareDecoderContext(AVCodecContext* context); virtual void renderFrame(AVFrame* frame); diff --git a/app/streaming/video/ffmpeg-renderers/vdpau.cpp b/app/streaming/video/ffmpeg-renderers/vdpau.cpp index 22cc02e9..649da9a3 100644 --- a/app/streaming/video/ffmpeg-renderers/vdpau.cpp +++ b/app/streaming/video/ffmpeg-renderers/vdpau.cpp @@ -54,7 +54,7 @@ VDPAURenderer::~VDPAURenderer() } } -bool VDPAURenderer::initialize(SDL_Window* window, int, int width, int height) +bool VDPAURenderer::initialize(SDL_Window* window, int, int width, int height, int) { int err; VdpStatus status; diff --git a/app/streaming/video/ffmpeg-renderers/vdpau.h b/app/streaming/video/ffmpeg-renderers/vdpau.h index 21aacabe..4610406b 100644 --- a/app/streaming/video/ffmpeg-renderers/vdpau.h +++ b/app/streaming/video/ffmpeg-renderers/vdpau.h @@ -16,7 +16,8 @@ public: virtual bool initialize(SDL_Window* window, int videoFormat, int width, - int height); + int height, + int maxFps); virtual bool prepareDecoderContext(AVCodecContext* context); virtual void renderFrame(AVFrame* frame); diff --git a/app/streaming/video/ffmpeg-renderers/vt.mm b/app/streaming/video/ffmpeg-renderers/vt.mm index 89db619c..b3a07305 100644 --- a/app/streaming/video/ffmpeg-renderers/vt.mm +++ b/app/streaming/video/ffmpeg-renderers/vt.mm @@ -130,6 +130,7 @@ public: virtual bool initialize(SDL_Window* window, int videoFormat, int, + int, int) override { int err; diff --git a/app/streaming/video/ffmpeg.cpp b/app/streaming/video/ffmpeg.cpp index 2d39d6d8..94eb3791 100644 --- a/app/streaming/video/ffmpeg.cpp +++ b/app/streaming/video/ffmpeg.cpp @@ -218,7 +218,7 @@ bool FFmpegVideoDecoder::initialize( int videoFormat, int width, int height, - int) + int maxFps) { AVCodec* decoder; @@ -253,7 +253,7 @@ bool FFmpegVideoDecoder::initialize( m_HwDecodeCfg = nullptr; m_Renderer = new SdlRenderer(); if (vds != StreamingPreferences::VDS_FORCE_HARDWARE && - m_Renderer->initialize(window, videoFormat, width, height) && + m_Renderer->initialize(window, videoFormat, width, height, maxFps) && completeInitialization(decoder, videoFormat, width, height, false)) { return true; } @@ -270,12 +270,12 @@ bool FFmpegVideoDecoder::initialize( m_HwDecodeCfg = config; // Submit test frame to ensure this codec really works - if (m_Renderer->initialize(window, videoFormat, width, height) && + if (m_Renderer->initialize(window, videoFormat, width, height, maxFps) && completeInitialization(decoder, videoFormat, width, height, true)) { // OK, it worked, so now let's initialize it for real reset(); if ((m_Renderer = createAcceleratedRenderer(config)) != nullptr && - m_Renderer->initialize(window, videoFormat, width, height) && + m_Renderer->initialize(window, videoFormat, width, height, maxFps) && completeInitialization(decoder, videoFormat, width, height, false)) { return true; } diff --git a/app/streaming/video/ffmpeg.h b/app/streaming/video/ffmpeg.h index fa2f710b..82d709c8 100644 --- a/app/streaming/video/ffmpeg.h +++ b/app/streaming/video/ffmpeg.h @@ -16,7 +16,7 @@ public: int videoFormat, int width, int height, - int frameRate) override; + int maxFps) override; virtual bool isHardwareAccelerated() override; virtual int submitDecodeUnit(PDECODE_UNIT du) override; virtual void renderFrame(SDL_UserEvent* event) override;