-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deps.ffmpeg, deps.windows: Update libdatachannel to v0.20.1 #204
Conversation
@Sean-Der |
3661460
to
75e8d67
Compare
@troman123 done! |
@troman123 This probably won't be merged for a while. OBS 30 stabilization is happening now, and since this doesn't fix any bugs it won't be merged. @RytoEX will have the actual direction on that. |
@Sean-Der has the right of it. We'll circle back around to non-bug-fix PRs sometime after OBS Studio 30 stabilizes. |
@RytoEX No rush, but mind re-running eventually? Looks like sourceforge is having issues? Lots of things failing to download with |
@Sean-Der thanks, OBS 30 stabilization has the highest priority. |
90cd6ab
to
45c896b
Compare
@troman123 @RytoEX Would you mind running the tests? This fixes obsproject/obs-studio#9846 now |
Nitpik, update the Pull Request name. |
Another nitpik (sorry), this PR does not fix directly obsproject/obs-studio#9846, the Flatpak manifest needs to be updated once a new obs-deps is released and put in use. |
Done! @tytan652 are you able to approve the workflow for tests? |
No, I'm just a contributor on obs-deps. |
deps.ffmpeg/patches/libdatachannel/0001-one-symlink-only-for-library.patch
Outdated
Show resolved
Hide resolved
After 7591b96 libdatachannel stopped working with OBS on macOS[0]. XCode only resolves one level of symlinks [1]. libdatachannel is generating two levels. This commit updates CMake to instead use ELF Headers instead of file names to communicate version of macOS. [0] https://stackoverflow.com/questions/29946961/xcode-copy-files-build-phase-and-symlinks [1] obsproject/obs-deps#204 (comment)
After 7591b96 libdatachannel stopped working with OBS on macOS[0]. XCode only resolves one level of symlinks [1]. libdatachannel is generating two levels. This commit updates CMake to instead use ELF Headers instead of file names to communicate version of macOS. [0] https://stackoverflow.com/questions/29946961/xcode-copy-files-build-phase-and-symlinks [1] obsproject/obs-deps#204 (comment)
After 7591b96 libdatachannel stopped working with OBS on macOS[0]. XCode only resolves one level of symlinks [1]. libdatachannel is generating two levels. This commit updates CMake to instead use ELF Headers instead of file names to communicate version of macOS. [0] https://stackoverflow.com/questions/29946961/xcode-copy-files-build-phase-and-symlinks [1] obsproject/obs-deps#204 (comment)
After 7591b96 libdatachannel stopped working with OBS on macOS[0]. XCode only resolves one level of symlinks [1]. libdatachannel is generating two levels. This commit updates CMake to instead use ELF Headers instead of file names to communicate version of macOS. [0] https://stackoverflow.com/questions/29946961/xcode-copy-files-build-phase-and-symlinks [1] obsproject/obs-deps#204 (comment)
After 7591b96 libdatachannel stopped working with OBS on macOS[0]. XCode only resolves one level of symlinks [1]. libdatachannel is generating two levels. This commit updates CMake to instead use ELF Headers instead of file names to communicate version of macOS. [0] https://stackoverflow.com/questions/29946961/xcode-copy-files-build-phase-and-symlinks [1] obsproject/obs-deps#204 (comment)
After 7591b96 libdatachannel stopped working with OBS on macOS[0]. XCode only resolves one level of symlinks [1]. libdatachannel is generating two levels. This commit updates the shared object to only use only the major version in the name. [0] https://stackoverflow.com/questions/29946961/xcode-copy-files-build-phase-and-symlinks [1] obsproject/obs-deps#204 (comment)
45c896b
to
42656ca
Compare
42656ca
to
88af6c3
Compare
@RytoEX This PR has been updated to be v0.20.0 instead |
|
Just for reference since obs-deps is not related to Linux builds. Edit: Upstream issue paullouisageneau/libdatachannel#1100 |
If those APIs are not available in v0.19 (which Linux builds would seem to be stuck on for now), then we cannot simply apply that patch. |
Compatibility with usrsctp 0.9.5.0 is fixed in 0.20.1. |
This updates to libdatachannel 0.20.1
88af6c3
to
8221dc6
Compare
@RytoEX @tytan652 A Thank you @paullouisageneau |
@RytoEX Did I do everything right/does that resolve the issue? |
I typically don't review PRs on weekends, so I'm just now getting to this.
As far as I can tell, we don't currently build this feature (WebRTC/WHIP on OBS Studio) on Linux (except for Flatpak) where these changes would be problematic due to outdated library versions in Ubuntu's packages repo that we cannot control. That being the case, this seems fine. However, changes in the patch provided does require the accompanying code changes to be made at the same time as the dependency update on obs-studio to avoid deprecation warnings or breaking the builds. That isn't unresolvable, but it is one more thing to keep track of when updating this. The PR itself seems fine otherwise. |
I've unlinked this PR from this Issue: That Issue is specific to systems that use OpenSSL, which is not the case on Windows and macOS. That Issue can be fixed in the Flatpak builds by updating libdatachannel to v0.19.5+ there, which is done in obsproject/obs-studio#10118. |
I have updated the description to include obsproject/obs-studio#9800 which will be fixed by this PR Updating to v0.20.0 includes my commit that adds support for all certain types. |
That would seem correct. Will take a look at this and the associated obs-studio patch when I can. I wish there was a way we could apply an ifdef on the obs-studio side so that we could patch obs-studio independently, but libdatachannel doesn't seem to provide version data in a way that would let us do that. |
@paullouisageneau what do you think of adding some version system? As I add more things to libdatachannel for WebRTC sources it will be a problem :/ |
Yes sure, could you please open an issue with what would be needed? I guess defines for major, minor and build would work? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tested this with the suggested patch and it works fine. I am fine with this as-is, as I don't want to keep the linked macOS bug from being fixed. However, I would like to see a way to differentiate libdatachannel versions in the future so that we can land such patches on obs-studio independently with ifdefs for breaking changes, if needed.
How Has This Been Tested?
I have a working implementation here
Types of changes
Checklist: