Skip to content

Conversation

cloudwebrtc
Copy link
Member

@cloudwebrtc cloudwebrtc commented Jun 5, 2023

Migrate and fix important patches for m114_release

skipped patches:
Update RTCVideoEncoderH264.mm (#6) b0457f3
Fix iOS Build 75d7ada

cloudwebrtc and others added 4 commits June 5, 2023 11:03
* Add Apache-2.0 license and some notes to README.md.
* Add user link.
* update.
allow listen-only mode in AudioUnit, adjust when category changes
Simulcast support for iOS SDK
@cloudwebrtc cloudwebrtc force-pushed the duan/migrate-patches-from-m104 branch from b7f038e to f928ded Compare June 5, 2023 03:42
@cloudwebrtc cloudwebrtc force-pushed the duan/migrate-patches-from-m104 branch from 64372e0 to 61e2247 Compare June 5, 2023 06:53
hiroshihorie and others added 22 commits June 5, 2023 14:56
* use `AVAudioSession` defaults
* remove isRecordingEnabled
* Initial implementation of start/stop receive

* move set_state call to signalling thread as well.

https://source.chromium.org/chromium/_/webrtc/src.git/+/dfd69c22100e1d2e83295f33d06fa9916caa5c53

* separate should_receive from enabled for now

* ios hooks

* Fix ios compile errors

* code cleanup

* clean up

* reuse frame buffers instead
* feat: Add RTCYUVHelper for darwin.

* chore: Add newline end of files.
* feat: Add screen capture support for macOS.

* chore: rename files.

* chore: update.

* chore: Implement DesktopSource, DesktopMediaList ojbc interface.

* chore: add license.

* fix: capture_state.

* update.

* update.

* Hide private delegate declaration.

* Re-generate thumbnail for all sources when call UpdateSourceList.

* fix: Fix window resize issue.

* update.

* update.

* fix for intel mac.

* cleanup.

* update.

* Add Window/Screen change listener.

* Add force reload for MediaListUpdate and capture cursor.

* fix: Fix the screen freeze caused by the desktop frame not setting the timestamp.

* update.

* fix issue for screen sharing.

* Fixed H264 profile-level-id limitation that could not encode desktop frames with resolutions higher than 720p.
* fix: Get thumbnails asynchronously.

* Fixed the problem that only the mouse movement was captured and the background was not updated when capturing full screen on mac.
* impl

* simplify

* tweaks

* fix osx rendering
* feat: add audio device changes detect for windows.

* Update audio_device_core_win.cc
* Fix simulcast using hardware encoder on Android

* Revert disabling apply_alignment_to_all_simulcast_layers

* Update HardwareVideoEncoder.java
#52)

* progress

* tweak

* clean

* simplify audio unit restart

call to SetupAudioBuffersForActiveAudioSession() might not be needed since sample rate won't change during restart. This might help reduce the unwanted noise when restarting audio unit.

* clean
* Added yuv_helper

* Fix unresolved symbol
* initial impl

* more comments

* more comment

* adjust indent

* comments
* expose scalabilityMode

* expose AV1 codec name

* sender / receiver capabilities

* setCodecPreferences

* ref

* RTCRtpCapabilities

* kind

* fix compile warnings

* clean up

* lk header

* clockRate

* preferredPayloadType

* numChannels

* parameters

* Update RTCRtpCodecCapability.h

* format

* format

* always include kDependencyDescriptorUri

* clean up

* don't throw when setCodecPreferences fails

* unused variable
@cloudwebrtc cloudwebrtc changed the title migrate patches from m104_release migrate patches to m114 Jun 6, 2023
@cloudwebrtc cloudwebrtc force-pushed the duan/migrate-patches-from-m104 branch 2 times, most recently from 180037f to 6a70604 Compare June 6, 2023 07:37
cloudwebrtc and others added 7 commits June 6, 2023 15:38
* feat: Expose setCodecPreferences/getCapabilities.

* chore: update license.

* fix bugs.
* progress

* enable low-latency video encoding

* fix compile

* prioritize speed

* fix required os versions

* maxQP for screensharing

* cbr

* Update RTCVideoEncoderH264.mm

* Update RTCVideoEncoderH264.mm

* format

* clean up

* resolution alignment

* revert resolution alignment
…aused by non-CVPixelBuffer frame in RTCVideoEncoderH264 that cannot be cropped. (#63)
* feat: add frame crypto transformer using aes-128/256-gcm.

* update.

* feat: add aes-cbc.

* update.

* fix compile.

* update.

* chore: add getIvSize().

* rename.

* update.

* Add ObjC API for framecryptor.

* add FrameCryptor interfaces for android.

* chore: add jni native code.

* update.

* update

* fix compile for iOS.

* update.

* fix.

* update.

* Add cryptor_id.

* update.

* update.

* update.

* update.

* chore: Experimental encryption for h.264.

* chore: export class FrameCryptorTransformer.

* aes frame crypto for h.264.

* chore: add decrypto failed callback.

* fix: Fix FrameTransformer work with simulcast.

* revert changes.

* Fix h264 screen freezing in frame encryption.

* chore: Improve the code and add FrameCryptionError.

* feat: Add RTCFrameCryptorDelegate for darwin.

* WIP observer for android.

* observer for android.

* Add kNew/kOk state.

* [objc] fix bug for state callack.

* fix issue for re-RegisterFrameTransformer.

* dispose.

* Update sdk/objc/api/peerconnection/RTCFrameCryptorKeyManager.mm

Co-authored-by: Théo Monnom <[email protected]>

* Update sdk/android/src/jni/pc/frame_cryptor_key_manager.h

Co-authored-by: Théo Monnom <[email protected]>

* Update sdk/objc/api/peerconnection/RTCFrameCryptorKeyManager.mm

Co-authored-by: Théo Monnom <[email protected]>

* update.

* fix compile.

---------

Co-authored-by: Théo Monnom <[email protected]>
@cloudwebrtc cloudwebrtc force-pushed the duan/migrate-patches-from-m104 branch 3 times, most recently from 2e13b53 to b1c9b55 Compare June 6, 2023 08:25
* feat: key derive.

* update.

* add ParticipantKeyHandler.

* update.

* update.

* update.

* update.

* update.

* fix key derive.

* chore: add kKeyRatcheted state.

* fixed key ratchet.

* update api for darwin.

* chore: for android.

* fix crash.

* fix bug for setkey

* chore: add ExportKey for KeyManager.

* chore: key export for android.

* chore: clang-format.

* chore: exportKey for darwin.

* chore: When ratchet and material derivation fail, the current keyset will not be updated until the decryption is successful or the ratchet count window is exceeded.

* chore: magic bytes.

* update.

* update for darwin.

* rename KeyManager to KeyProvider.

* fix compile for android.

* fix key retchet.

* Emit the KeyRatcheted state after a successful ratchet.

---------

Co-authored-by: root <root@WIN-13900KF>
@cloudwebrtc cloudwebrtc force-pushed the duan/migrate-patches-from-m104 branch 3 times, most recently from a3c1fb0 to 627b2d2 Compare June 12, 2023 13:17
* [Mac] Allow audio device selection (#21)

* first attempt

* remove unused dep

* init playout / recording

* use AudioDeviceID as guid

* switch device method

* equality

* default device

* `isDefault` property

* dont format default device name

* type param

* bypass

* refactor

* fix

* append Audio to thread labels

* ref

* lk headers

* low level apis

* fix thread checks

Some methods of ADM needs to be run on worker thread, otherwise RTC's thread check will fail.

* switch to default device when removed

* close mixerManager if didn't switch to default device

* default audio device switched

* expose devices update handler

* fix ios compile

* fix bug: don't always recreate RTCAudioDeviceModule

* handle guid.

Co-authored-by: Hiroshi Horie <[email protected]>
@cloudwebrtc cloudwebrtc force-pushed the duan/migrate-patches-from-m104 branch from 627b2d2 to 7446925 Compare June 12, 2023 13:18
* fix: add WrappedVideoDecoderFactory.java.

* fix compile for android.
@cloudwebrtc cloudwebrtc changed the title migrate patches to m114 migrate patches to m114 (first round) Jun 12, 2023
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.

7 participants