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 to m125. #119

Merged
merged 8 commits into from
Jun 12, 2024
Merged

Update to m125. #119

merged 8 commits into from
Jun 12, 2024

Conversation

cloudwebrtc
Copy link
Member

@cloudwebrtc cloudwebrtc commented May 20, 2024

Use M125 as the latest version and migrate historical patches to m125

Patches Group:

1. Update README.md b6c65fc

2. Audio Device Optimization 7454824

3. Simulcast/SVC support for iOS/Android. b0b9fe9

4. Android improvements. 9aaaab5

5. Darwin improvements a13ea17

6. Desktop Capture for macOS. 841d78f

7. Frame Cryptor Support. fc08745

8. Other improvements. eed6c8a

* Add Apache-2.0 license and some notes to README.md.
* Add user link.
* update.

Updated readme detailing changes from original (#42)

Adding membrane framework (#51)

Co-authored-by: David Zhao <[email protected]>

Updated readme (#83)
@cloudwebrtc cloudwebrtc force-pushed the duan/m125-update branch 2 times, most recently from 5652b78 to 414e5ed Compare May 21, 2024 05:52
allow listen-only mode in AudioUnit, adjust when category changes (#2)

release mic when category changes (#5)

Change defaults to iOS defaults (#7)

Sync audio session config (#8)

feat: support bypass voice processing for iOS. (#15)

Remove MacBookPro audio pan right code (#22)

fix: Fix can't open mic alone when built-in AEC is enabled. (#29)

feat: add audio device changes detect for windows. (#41)

fix Linux compile (#47)

AudioUnit: Don't rely on category switch for mic indicator to turn off (#52)

Stop recording on mute (turn off mic indicator) (#55)

Cherry pick audio selection from m97 release (#35)

[Mac] Allow audio device selection (#21)

RTCAudioDeviceModule.outputDevice / inputDevice getter and setter (#80)

Allow custom audio processing by exposing AudioProcessingModule (#85)

Expose audio sample buffers for Android (#89)

feat: add external audio processor for android. (#103)

android: make audio output attributes modifiable (#118)

Fix external audio processor sample rate calculation (#108)

Expose remote audio sample buffers on RTCAudioTrack (#84)

Fix memory leak when creating audio CMSampleBuffer #86

Co-authored-by: Hiroshi Horie <[email protected]>
Co-authored-by: David Zhao <[email protected]>
Co-authored-by: davidliu <[email protected]>
@cloudwebrtc cloudwebrtc force-pushed the duan/m125-update branch 4 times, most recently from 1ed26eb to 1a1df11 Compare May 22, 2024 03:34
Simulcast support for iOS SDK (#4)

Support for simulcast in Android SDK (#3)

include simulcast headers for mac also (#10)

Fix simulcast using hardware encoder on Android (#48)

Add scalabilityMode support for AV1/VP9. (#90)

Co-authored-by: Hiroshi Horie <[email protected]>
Co-authored-by: Angelika Serwa <[email protected]>
Start/Stop receiving stream method for VideoTrack (#25)

Properly remove observer upon deconstruction (#26)

feat: Expose setCodecPreferences/getCapabilities for android. (#61)

fix: add WrappedVideoDecoderFactory.java. (#74)

Co-authored-by: davidliu <[email protected]>
@cloudwebrtc
Copy link
Member Author

cloudwebrtc commented May 27, 2024

All PRs have been merged into this PR (from m114_release and new PRs added later), and compiled on all platforms.

@davidliu
Copy link
Contributor

Nice! Were there any merge conflicts or did the patches port cleanly?

@cloudwebrtc
Copy link
Member Author

cloudwebrtc commented May 27, 2024

Some code line position conflicts can be fixed with simple modifications.
And some factory function changes such as RTCVideoEncoderSimulcastBuilder.
As well as conflicts between existing WebRTC patches and the patches we committed, such as setCodecPreferences/getCapabilities, I removed the livekit implementation.
#61

I'll do a full round of testing tomorrow to make sure most of the features involved work.

Copy link
Contributor

@davidliu davidliu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

cloudwebrtc and others added 4 commits June 12, 2024 09:41
[Mac/iOS] feat: Add RTCYUVHelper for darwin. (#28)

Cross-platform `RTCMTLVideoView` for both iOS / macOS (#40)

rotationOverride should not be assign (#44)

[ObjC] Expose properties / methods required for AV1 codec support (#60)

Workaround: Render PixelBuffer in RTCMTLVideoView (#58)

Improve iOS/macOS H264 encoder (#70)

fix: fix video encoder not resuming correctly upon foregrounding (#75).

Fix camera rotation (#92)

add PrivacyInfo.xcprivacy to darwin frameworks. (#112)

Add NSPrivacyCollectedDataTypes key to xcprivacy file (#114)

Thread-safe `RTCInitFieldTrialDictionary` (#116)

Set RTCCameraVideoCapturer initial zoom factor (#121)

Unlock configuration before starting capture session #122

Co-authored-by: Hiroshi Horie <[email protected]>
[Mac] feat: Support screen capture for macOS. (#24) (#36)
fix: Get thumbnails asynchronously. (#37)
fix: Use CVPixelBuffer to build DesktopCapture Frame, fix the crash caused by non-CVPixelBuffer frame in RTCVideoEncoderH264 that cannot be cropped. (#63)
Fix the crash when setting the fps of the virtual camera. (#62)
feat: Frame Cryptor (aes gcm/cbc). (#54)
feat: key ratchet/derive. (#66)
fix: skip invalid key when decryption failed. (#81)
Improve e2ee, add setSharedKey to KeyProvider. (#88)
add failure tolerance for framecryptor. (#91)
fix h264 freeze. (#93)
Fix/send frame cryptor events from signaling thread (#95)
more improvements for E2EE. (#96)
remove too verbose logs (#107)
Add key ring size to keyProviderOptions. (#109)
Improvements to RTCFrameCryptor (#123)

Co-authored-by: Théo Monnom <[email protected]>
Co-authored-by: Hiroshi Horie <[email protected]>
Co-authored-by: davidliu <[email protected]>
Added yuv_helper (#57)

ABGRToI420, ARGBToI420 & ARGBToRGB24 (#65)

more yuv wrappers (#87)

Fix naming for yuv helper (#113)

Fix missing `RTC_OBJC_TYPE` macros (#100)

Co-authored-by: Théo Monnom <[email protected]>
Co-authored-by: Hiroshi Horie <[email protected]>
@cloudwebrtc cloudwebrtc merged commit 46226b5 into m125_release Jun 12, 2024
@cloudwebrtc cloudwebrtc deleted the duan/m125-update branch June 12, 2024 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants