fix: adapt dynamic library loading for Windows (MSYS2/MinGW) - #730
Conversation
- Add Windows DLL names (libvlc.dll, avcodec-62, avformat-62, avutil-60) - Add avutil library loading support - Fix VLC library path correction on Windows (avoid loading vlccore) - Improve library search to support multiple paths and .dll suffix - Add application directory as first search path on Windows - Update libExist() for Windows compatibility fix: 适配动态库加载以支持 Windows(MSYS2/MinGW) - 添加 Windows DLL 名称(libvlc.dll、avcodec-62、avformat-62、avutil-60) - 添加 avutil 库加载支持 - 修正 Windows 上 VLC 库路径(避免加载 vlccore) - 改进库搜索以支持多路径和 .dll 后缀 - 在 Windows 上将应用程序目录作为首选搜索路径 - 更新 libExist() 以兼容 Windows
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kt286 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @kt286. Thanks for your PR. I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Reviewer's GuideThis pull request adapts dynamic library loading to work correctly on Windows (MSYS2/MinGW) by making library names/platform guards Windows-aware, expanding the VLC/FFmpeg libraries that are loaded, and updating the search and detection logic for libraries and playback engine initialization. Sequence diagram for updated ffmpeg symbol resolution in DynamicLibraries::resolvesequenceDiagram
participant DynamicLibraries
participant avcodecLib
participant avformateLib
participant avutilLib
participant swresampleLib
DynamicLibraries->>avcodecLib: resolve(symbol)
alt resolved in avcodecLib
avcodecLib-->>DynamicLibraries: QFunctionPointer
else not resolved
DynamicLibraries->>avformateLib: resolve(symbol)
alt resolved in avformateLib
avformateLib-->>DynamicLibraries: QFunctionPointer
else not resolved
DynamicLibraries->>avutilLib: resolve(symbol)
alt resolved in avutilLib
avutilLib-->>DynamicLibraries: QFunctionPointer
else not resolved
DynamicLibraries->>swresampleLib: resolve(symbol)
alt resolved in swresampleLib
swresampleLib-->>DynamicLibraries: QFunctionPointer
else not resolved
DynamicLibraries-->>DynamicLibraries: [log "[ffmpeg] Failed to resolve function"]
end
end
end
end
DynamicLibraries-->>DynamicLibraries: m_funMap[symbol] = fgp
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
fix: 适配动态库加载以支持 Windows(MSYS2/MinGW)
Summary by Sourcery
Adapt dynamic library loading to correctly support VLC/FFmpeg on Windows (MSYS2/MinGW) while keeping Linux behavior intact.
New Features:
Bug Fixes:
Enhancements: