diff options
5 files changed, 16 insertions, 19 deletions
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp index d66e66b31c..b3ce4f1ddb 100644 --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp @@ -1054,7 +1054,7 @@ void CDVDVideoCodecAndroidMediaCodec::FlushInternal() { // invalidate any existing inflight buffers and create // new ones to match the number of output buffers - if (m_indexInputBuffer >=0) + if (m_indexInputBuffer >=0 && CJNIBase::GetSDKVersion() >= 26) AMediaCodec_queueInputBuffer(m_codec->codec(), m_indexInputBuffer, 0, 0, 0, AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM); m_OutputDuration = 0; diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp index 400486756d..f5120a6a87 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp @@ -376,6 +376,7 @@ void CRenderManager::PreInit() m_QueueSize = 2; m_QueueSkip = 0; m_presentstep = PRESENT_IDLE; + m_bRenderGUI = true; m_initEvent.Set(); } diff --git a/xbmc/network/upnp/UPnPPlayer.cpp b/xbmc/network/upnp/UPnPPlayer.cpp index d0c306bdf6..82ae8838d9 100644 --- a/xbmc/network/upnp/UPnPPlayer.cpp +++ b/xbmc/network/upnp/UPnPPlayer.cpp @@ -54,7 +54,7 @@ public: , m_callback(callback) , m_postime(0) { - memset(&m_posinfo, 0, sizeof(m_posinfo)); + m_posinfo = {}; m_device->FindServiceByType("urn:schemas-upnp-org:service:AVTransport:1", m_transport); } diff --git a/xbmc/video/tags/VideoInfoTagLoaderFactory.cpp b/xbmc/video/tags/VideoInfoTagLoaderFactory.cpp index effc897c7d..dd6340b6e3 100644 --- a/xbmc/video/tags/VideoInfoTagLoaderFactory.cpp +++ b/xbmc/video/tags/VideoInfoTagLoaderFactory.cpp @@ -22,10 +22,6 @@ IVideoInfoTagLoader* CVideoInfoTagLoaderFactory::CreateLoader(const CFileItem& i bool lookInFolder, bool forceRefresh) { - // don't try to read tags for streams - if (item.IsInternetStream()) - return nullptr; - if (item.IsPlugin() && info && info->ID() == "metadata.local") { // Direct loading from plugin source with metadata.local scraper diff --git a/xbmc/windowing/wayland/WinSystemWayland.cpp b/xbmc/windowing/wayland/WinSystemWayland.cpp index 72337ffccf..92686410fe 100644 --- a/xbmc/windowing/wayland/WinSystemWayland.cpp +++ b/xbmc/windowing/wayland/WinSystemWayland.cpp @@ -299,6 +299,19 @@ bool CWinSystemWayland::CreateNewWindow(const std::string& name, m_windowDecorator.reset(new CWindowDecorator(*this, *m_connection, m_surface)); + m_seatInputProcessing.reset(new CSeatInputProcessing(m_surface, *this)); + m_seatRegistry.reset(new CRegistry{*m_connection}); + // version 2 adds name event -> optional + // version 4 adds wl_keyboard repeat_info -> optional + // version 5 adds discrete axis events in wl_pointer -> unused + m_seatRegistry->Request<wayland::seat_t>(1, 5, std::bind(&CWinSystemWayland::OnSeatAdded, this, _1, _2), std::bind(&CWinSystemWayland::OnSeatRemoved, this, _1)); + m_seatRegistry->Bind(); + + if (m_seats.empty()) + { + CLog::Log(LOGWARNING, "Wayland compositor did not announce a wl_seat - you will not have any input devices for the time being"); + } + if (fullScreen) { m_shellSurfaceState.set(IShellSurface::STATE_FULLSCREEN); @@ -350,19 +363,6 @@ bool CWinSystemWayland::CreateNewWindow(const std::string& name, UpdateDesktopResolution(res, m_bufferSize.Width(), m_bufferSize.Height(), res.fRefreshRate, 0); res.bFullScreen = fullScreen; - m_seatInputProcessing.reset(new CSeatInputProcessing(m_surface, *this)); - m_seatRegistry.reset(new CRegistry{*m_connection}); - // version 2 adds name event -> optional - // version 4 adds wl_keyboard repeat_info -> optional - // version 5 adds discrete axis events in wl_pointer -> unused - m_seatRegistry->Request<wayland::seat_t>(1, 5, std::bind(&CWinSystemWayland::OnSeatAdded, this, _1, _2), std::bind(&CWinSystemWayland::OnSeatRemoved, this, _1)); - m_seatRegistry->Bind(); - - if (m_seats.empty()) - { - CLog::Log(LOGWARNING, "Wayland compositor did not announce a wl_seat - you will not have any input devices for the time being"); - } - // Now start processing events // // There are two stages to the event handling: |