Skip to content
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

Update dependencies #228

Merged
merged 21 commits into from
Jan 18, 2024
Merged

Update dependencies #228

merged 21 commits into from
Jan 18, 2024

Conversation

RytoEX
Copy link
Member

@RytoEX RytoEX commented Jan 18, 2024

Description

Update many of our dependencies.

  • deps.ffmpeg: Update zlib to 1.3
  • deps.ffmpeg: Update SVT-AV1 to 1.8.0
  • deps.ffmpeg: Update aom to 3.8.0
  • deps.ffmpeg: Update libsrt to 1.5.3
  • deps.ffmpeg: Update nv-codec-headers to 12.1.14.0
  • deps.ffmpeg: Update AMF to 1.4.32
  • deps.ffmpeg: Update FFmpeg to 6.1
  • deps.macos: Update LuaJIT to 2.1 c525bcb902
  • deps.macos: Update FreeType to 2.13.2
  • deps.macos: Update Asio to 1.29.0
  • deps.macos: Update nlohmann JSON to 3.11.3
  • deps.macos: Update Sparkle to 2.5.2
  • deps.macos: Update Syphon Framework to 5.0 39e31383ff
  • deps.windows: Update FreeType to 2.13.2
  • deps.windows: Update curl to 8.5.0
  • deps.windows: Update LuaJIT to 2.1 c525bcb902
  • deps.windows: Update Asio to 1.29.0
  • deps.windows: Update nlohmann JSON to 3.11.3
  • deps.windows: Update VPL to v2.10.1
  • deps.qt: Update Qt6 to 6.6.1 for Windows
  • deps.qt: Update Qt6 to 6.6.1 for macOS

Motivation and Context

Want to keep our deps up to date. Up to date deps come with bug fixes, new features, and allow us to maintain less patches and backport less commits/patches.

After the recent enablement of native Windows FFmpeg builds, this updates dependency versions to help provide a distinct comparison to that tag/release.

How Has This Been Tested?

Tested locally. Will post results in a separate comment.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@RytoEX
Copy link
Member Author

RytoEX commented Jan 18, 2024

Good news

OBS builds in Debug and RelWithDebInfo.

These worked:

  • Encoders
    • AOM
    • SVT-AV1
    • AMF
    • QSV
    • x264
  • Recording
    • Standard
      • MKV
      • MP4
      • Fragmented MP4
    • Custom FFmpeg Output
      • MKV + libx264 + libvorbis
      • webm + libvpx-vp9 + libopus
  • Streaming
    • RTMP
    • RTMPS
    • HLS
    • WHIP
    • SRT (local network)
  • Sources
    • Browser
      • Default
      • FishGL/Aquarium
    • Color
    • Display Capture
      • WGC
    • Game Capture
    • Image
      • Animated GIF
      • JPG
      • PNG
    • Image Slide Show
    • Media
      • FLV
      • MP4
      • SRT ingest on local network (OBS to OBS)
      • RIST ingest on local network (OBS to OBS)
      • webm with transparency
    • Text (FreeType 2)
    • Text (GDI+)
    • Video Capture Device
    • VLC
      • playlist of files
    • Window Capture
      • BitBlt
      • WGC
  • Filters
    • Chroma Key
    • Color Correction
  • webm stingers
  • Scripting
    • Python
    • Lua

Everything in my typical tests for those features worked.

Bad News

These did not work:

  • Streaming
    • FAILS: RIST (local network)

I'm not sure about the RIST failure. It's possible that I misconfigured something, so additional testing would be appreciated. Receiving RIST seems to work fine though. cc @pkviet on this. If we can't resolve it quickly, I'll just revert the librist update.

I did experience a crash if I set the service to WHIP and try to restart OBS. OBS will crash in OBSBasic::LoadService on startup after that. However, this appears to happen on obs-studio master currently, so it has nothing to do with this update.

Todo

  • Encoders
    • TODO: NVENC

Also, building and testing on macOS.

@RytoEX RytoEX self-assigned this Jan 18, 2024
@RytoEX
Copy link
Member Author

RytoEX commented Jan 18, 2024

Per off-thread conversation with @pkviet , I've dropped the librist update. We'll revisit it in the future.

As a side note, I have not updated mbedTLS because libsrt cannot link against mbedTLS 3.5+ until libsrt 1.5.4 is available.

I did attempt to test NVENC on one of my systems, but the driver on that system is too old for the updated nv-codec-headers (the new headers require driver version 531.61 or newer).

@pkviet
Copy link
Member

pkviet commented Jan 18, 2024

Per off-thread conversation with @pkviet , I've dropped the librist update. We'll revisit it in the future.

As a side note, I have not updated mbedTLS because libsrt cannot link against mbedTLS 3.5+ until libsrt 1.5.4 is available.

I did attempt to test NVENC on one of my systems, but the driver on that system is too old for the updated nv-codec-headers (the new headers require driver version 531.61 or newer).

For the sake of completeness and future reference, the breaking commit is this one in librist:
https://code.videolan.org/rist/librist/-/commit/7520a3c4e43a01939ea7cdd82a1b7a68989f0026
I don't see critical bugs requiring an urgent update of librist, so it can be deferred to when a fix will have been posted.

@RytoEX
Copy link
Member Author

RytoEX commented Jan 18, 2024

CI is all green again.

@RytoEX
Copy link
Member Author

RytoEX commented Jan 18, 2024

Merging. Additional cleanups and work will come later.

@RytoEX RytoEX merged commit 7eea918 into obsproject:master Jan 18, 2024
21 checks passed
@RytoEX RytoEX deleted the update-deps branch January 18, 2024 22:39
@RytoEX RytoEX mentioned this pull request Apr 26, 2024
6 tasks
@RytoEX RytoEX mentioned this pull request Aug 27, 2024
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants