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

Use UIInterfaceOrientation instead of UIDeviceOrientation for RTCVideoFrame's rotation #92

Merged
merged 1 commit into from
Sep 13, 2023

Conversation

hiroshihorie
Copy link
Member

@hiroshihorie hiroshihorie commented Sep 12, 2023

UIDeviceOrientation contains states such as .faceUp, .faceDown which are not ideal for determining capture rotation and causes undefined behavior. This patch will use interface orientation instead.
Especially when the interface rotation is locked (by user) it had an undesirable behavior.

Also fixes issue : livekit/client-sdk-swift#146

Copy link
Member

@davidzhao davidzhao left a comment

Choose a reason for hiding this comment

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

lgtm

@hiroshihorie hiroshihorie merged commit 5fdfb76 into m114_release Sep 13, 2023
@hiroshihorie hiroshihorie deleted the fix-cameravideocapturer-rotation branch September 13, 2023 03:25
@cloudwebrtc cloudwebrtc restored the fix-cameravideocapturer-rotation branch September 14, 2023 12:51
cloudwebrtc pushed a commit that referenced this pull request Sep 14, 2023
Use UIInterfaceOrientation instead of UIDeviceOrientation for RTCVideoFrame's rotation
@cloudwebrtc cloudwebrtc deleted the fix-cameravideocapturer-rotation branch September 14, 2023 13:25
cloudwebrtc added a commit that referenced this pull request Sep 20, 2023
* 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 #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 (#92)

Use UIInterfaceOrientation instead of UIDeviceOrientation for RTCVideoFrame's rotation

* done.

* fix

* update.

* Expose audio sample buffers for Android (#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]>
cloudwebrtc pushed a commit that referenced this pull request May 22, 2024
Added yuv_helper (#57)

ABGRToI420, ARGBToI420 & ARGBToRGB24 (#65)

more yuv wrappers (#87)

Fix naming for yuv helper (#113)

Fix camera rotation (#92)

Fix missing `RTC_OBJC_TYPE` macros (#100)

Co-authored-by: Théo Monnom <[email protected]>
Co-authored-by: Hiroshi Horie <[email protected]>
@cloudwebrtc cloudwebrtc mentioned this pull request May 22, 2024
cloudwebrtc added a commit that referenced this pull request May 30, 2024
[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]>
cloudwebrtc added a commit that referenced this pull request Jun 12, 2024
[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]>
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.

2 participants