-
Notifications
You must be signed in to change notification settings - Fork 96
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
is_pod deprecated ! #124
Open
basharalbashier
wants to merge
42
commits into
webrtc-sdk:m125_release
Choose a base branch
from
basharalbashier:bashar-dev
base: m125_release
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
is_pod deprecated ! #124
basharalbashier
wants to merge
42
commits into
webrtc-sdk:m125_release
from
basharalbashier:bashar-dev
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
If the caller calls RegisterObserver() on the network thread while the state is not kOpen but there are queued received data, those received data will be immediately delivered to the observer before the state is transitioned to kOpen, which may break the observer's assertions and cause problems. The problem turns out to be that, when SctpDataChannel::RegisterObserver calls DeliverQueuedReceivedData(), the data will be passed to the observer without checking the |state_| first, meanwhile SctpDataChannel::UpdateState does effectively check the state and null-check |observer_| before delivering the received data. This CL fixes this by simply making DeliverQueuedReceivedData() also check `state_ == kOpen`. In case the state transitions to kOpen after RegisterObserver() is called, the first DeliverQueuedReceivedData() call will be no-op, while the second DeliverQueuedReceivedData() call will do the work. (cherry picked from commit 2083894) No-Try: True Bug: chromium:1442696 Change-Id: If25ce6a038d704939b1a8ae73d7ced110448b050 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304687 Reviewed-by: Tomas Gunnarsson <[email protected]> Commit-Queue: Tomas Gunnarsson <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#40036} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305380 Reviewed-by: Mirko Bonadei <[email protected]> Cr-Commit-Position: refs/branch-heads/5735@{webrtc-sdk#1} Cr-Branched-From: df7df19-refs/heads/main@{#39949}
… one which avoids an infinitely growing SDP if the remote end rejects the datachannel section. This will reactivate the m-line even if all datachannels are closed. BUG=chromium:1442604 (cherry picked from commit 522380f) No-Try: True Change-Id: If60f93b406271163df692d96102baab701923602 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304241 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Philipp Hancke <[email protected]> Reviewed-by: Henrik Boström <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#40029} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305420 Commit-Queue: Harald Alvestrand <[email protected]> Reviewed-by: Mirko Bonadei <[email protected]> Cr-Commit-Position: refs/branch-heads/5735@{webrtc-sdk#2} Cr-Branched-From: df7df19-refs/heads/main@{#39949}
This is required for ReportTransportStats since iterating over the transceiver list from the network thread is not safe. (cherry picked from commit dba22d3) No-Try: true Bug: chromium:1446274, webrtc:12692 Change-Id: I7c514df9f029112c4b1da85826af91217850fb26 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307340 Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Tomas Gunnarsson <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#40197} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308001 Reviewed-by: Mirko Bonadei <[email protected]> Cr-Commit-Position: refs/branch-heads/5735@{webrtc-sdk#3} Cr-Branched-From: df7df19-refs/heads/main@{#39949}
while not really covered by https://www.rfc-editor.org/rfc/rfc5576.html#section-4.2 and using the same SSRC for RTX and primary payload may work since payload type demuxing *could* be used is not a good idea. This also applies to flexfec's FEC-FR. For the nonstandard SIM ssrc-group duplicates make no sense. This rejects duplicates for unknown ssrc-groups as well. BUG=chromium:1454860 (cherry picked from commit 6a38a3e) No-Try: true Change-Id: I3e86101dbd5d6c4099f2fdb7b4a52d5cd0809c5f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308820 Reviewed-by: Taylor Brandstetter <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Philipp Hancke <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#40292} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/309601 Cr-Commit-Position: refs/branch-heads/5735@{webrtc-sdk#4} Cr-Branched-From: df7df19-refs/heads/main@{#39949}
* Add Apache-2.0 license and some notes to README.md. * Add user link. * update. Updated readme detailing changes from original (webrtc-sdk#42) Adding membrane framework (webrtc-sdk#51) Co-authored-by: David Zhao <[email protected]>
allow listen-only mode in AudioUnit, adjust when category changes (webrtc-sdk#2) release mic when category changes (webrtc-sdk#5) Change defaults to iOS defaults (webrtc-sdk#7) Sync audio session config (webrtc-sdk#8) feat: support bypass voice processing for iOS. (webrtc-sdk#15) Remove MacBookPro audio pan right code (webrtc-sdk#22) fix: Fix can't open mic alone when built-in AEC is enabled. (webrtc-sdk#29) feat: add audio device changes detect for windows. (webrtc-sdk#41) fix Linux compile (webrtc-sdk#47) AudioUnit: Don't rely on category switch for mic indicator to turn off (webrtc-sdk#52) Stop recording on mute (turn off mic indicator) (webrtc-sdk#55) Cherry pick audio selection from m97 release (webrtc-sdk#35) [Mac] Allow audio device selection (webrtc-sdk#21) RTCAudioDeviceModule.outputDevice / inputDevice getter and setter (webrtc-sdk#80) Co-authored-by: Hiroshi Horie <[email protected]> Co-authored-by: David Zhao <[email protected]>
Simulcast support for iOS SDK (webrtc-sdk#4) Support for simulcast in Android SDK (webrtc-sdk#3) include simulcast headers for mac also (webrtc-sdk#10) Fix simulcast using hardware encoder on Android (webrtc-sdk#48) Co-authored-by: Hiroshi Horie <[email protected]> Co-authored-by: Angelika Serwa <[email protected]>
Start/Stop receiving stream method for VideoTrack (webrtc-sdk#25) Properly remove observer upon deconstruction (webrtc-sdk#26) feat: Expose setCodecPreferences/getCapabilities for android. (webrtc-sdk#61) fix: add WrappedVideoDecoderFactory.java. (webrtc-sdk#74) Exposing Adapter types in PeerConnectionFactory (webrtc-sdk#78) Co-authored-by: davidliu <[email protected]> Co-authored-by: Mohamed Risaldar UT <[email protected]>
[Mac/iOS] feat: Add RTCYUVHelper for darwin. (webrtc-sdk#28) Cross-platform `RTCMTLVideoView` for both iOS / macOS (webrtc-sdk#40) rotationOverride should not be assign (webrtc-sdk#44) [ObjC] Expose properties / methods required for AV1 codec support (webrtc-sdk#60) Workaround: Render PixelBuffer in RTCMTLVideoView (webrtc-sdk#58) Improve iOS/macOS H264 encoder (webrtc-sdk#70) fix: fix video encoder not resuming correctly upon foregrounding (webrtc-sdk#75). Co-authored-by: Hiroshi Horie <[email protected]>
[Mac] feat: Support screen capture for macOS. (webrtc-sdk#24) (webrtc-sdk#36) fix: Get thumbnails asynchronously. (webrtc-sdk#37) fix: Use CVPixelBuffer to build DesktopCapture Frame, fix the crash caused by non-CVPixelBuffer frame in RTCVideoEncoderH264 that cannot be cropped. (webrtc-sdk#63) Fix the crash when setting the fps of the virtual camera. (webrtc-sdk#62)
feat: Frame Cryptor (aes gcm/cbc). (webrtc-sdk#54) feat: key ratchet/derive. (webrtc-sdk#66) fix: skip invalid key when decryption failed. (webrtc-sdk#81) Co-authored-by: Théo Monnom <[email protected]>
Added yuv_helper (webrtc-sdk#57) ABGRToI420, ARGBToI420 & ARGBToRGB24 (webrtc-sdk#65) Co-authored-by: Théo Monnom <[email protected]> Co-authored-by: Hiroshi Horie <[email protected]>
* audio renderer protocol * basic set up * progress * update header year * impl * stereo * fail gracefully * minor fix * doc * optimize AudioStreamBasicDescription * logging * minor refactoring * weak reference to delegates * fix timestamp computation * change swift delegate signature * use os_unfair_lock instead * avoid deadlock
…tc-sdk#85) * apm * progress * expose raw buffer * config * runtime delegate update * always create audio processing adapter * delegate nullable * dynamic delegate update thread safety * fix delegate life cycle when swapped * refactor * avoid crash when no apm is passed in * format * make delegate weak & docs * fix memory issue
* Improve e2ee, add setSharedKey to KeyProvider. * update. * reset has_valid_key after RatchetKey. * update. * clone key_handler from share_key for each participant. * add RatchetSharedKey and ExportSharedKey. * make KeyProvider::SetSharedKey only valid when KeyProviderOptions::shared_key == true. * remove unused enum.
Use UIInterfaceOrientation instead of UIDeviceOrientation for RTCVideoFrame's rotation
* Initial draft * Working impl * doc and cleanup * doc update
* add failure tolerance for framecryptor. * add failureTolerance for android/objc. * fix: make H264's unencrypted_bytes consistent with js-sdk. * add SetSifTrailer.
* add scalabilityMode for AV1. * fix bug for scalability-mode. * add scalability-mode support for VP9. * wip: ScalabilityModes for android. * update. * wip. * wip. * wip. * wip. * done. * fix * update.
* Improve e2ee, add setSharedKey to KeyProvider. * update. * reset has_valid_key after RatchetKey. * update. * clone key_handler from share_key for each participant. * add RatchetSharedKey and ExportSharedKey. * make KeyProvider::SetSharedKey only valid when KeyProviderOptions::shared_key == true. * remove unused enum. * Fix memory leak when creating audio CMSampleBuffer webrtc-sdk#86 * add scalabilityMode for AV1. * fix bug for scalability-mode. * add scalability-mode support for VP9. * add failure tolerance for framecryptor. * add failureTolerance for android/objc. * fix: make H264's unencrypted_bytes consistent with js-sdk. * wip: ScalabilityModes for android. * update. * wip. * wip. * wip. * wip. * Fix camera rotation (webrtc-sdk#92) Use UIInterfaceOrientation instead of UIDeviceOrientation for RTCVideoFrame's rotation * done. * fix * update. * Expose audio sample buffers for Android (webrtc-sdk#89) * Initial draft * Working impl * doc and cleanup * doc update * add SetSifTrailer. * fix h264 freeze. --------- Co-authored-by: Hiroshi Horie <[email protected]> Co-authored-by: davidliu <[email protected]>
* fix: send framecyrotor events from signaling thread. (WIP) * replace std::shared_ptr to rtc::scoped_refptr. * create framecryptor with signaling_thread. * null check. * fix. * fix.
* other improvements for E2EE. * fix log. * update. * fix. * revert changes. * clang-format.
* RTCVideoRendererAdapter * RTCDisplayLinkTimer * RTCNetworkMonitor * RTCMTLVideoView * RTCMTLRGBRenderer * progress * fix * ObjCAudioDeviceDelegate * remaining types * fix macos * revert prefix * prefix string references * fix RTCMTLVideoView symbols
* feat: add external audio processor for android. * update. * update. * update. * add null ptr check. * rename files. * fix typo. * some comment. * update.
* Allow ice gathering on any address ports Some VPNs use 0.0.0.0 mask which will be ignored by the default gathering. This flag allows those to be picked up as a last resort. * fixes * set explicit default in RTCConfiguration
* Add key ring size to keyProviderOptions. * add discard_frame_when_cryptor_not_ready to KeyProviderOptions. * update.
* add PrivacyInfo.xcprivacy to darwin frameworks. * Fix some function naming of yuv helper. * revert changes.
* add PrivacyInfo.xcprivacy to darwin frameworks. * update.
Looks like Xcode requires `NSPrivacyCollectedDataTypes` key. ![LiveKitExample (macOS)-PrivacyReport 2024-04-25 18-38-31](https://github.com/webrtc-sdk/webrtc/assets/548776/03b26039-893f-4e69-8358-73863d704ebd)
Needed to do audio mode changes on react native
Some devices, such as `.builtInTripleCamera`, have a zoom factor of 2.0 for the normal zoom. This adjustment changes it to 2.0 instead of 1.0. Without this adjustment, when using `.builtInTripleCamera`, it will appear zoomed out.
`unlockForConfiguration` before `[captureSession startRunning]` to reduce start glitch. Expose `+defaultZoomFactorForDeviceType:` method. Initial zoom factor was incorrect for devices such as AVCaptureDeviceTypeBuiltInDualCamera.
### Improvements * nil checks * Thread safety * Fix typo for `RTCCryptorAlgorithm` ### Breaking changes * `RTCCyrptorAlgorithm` renamed to `RTCCryptorAlgorithm` * Initialization of RTCFrameCryptor could return nil.
You'll want to create a fresh PR based off of the |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I was compiling this on linux and faced this issue: error: 'is_podwebrtc::CodecSpecificInfoVP9' is deprecated: use is_standard_layout && is_trivial instead [-Werror,-Wdeprecated-declarations]
static_assert(std::is_pod::value, "");
I resolve it by replacing is_pod with is_standard_layout and worked fine. I created this pull request to make allow contributors to review it.