Skip to content

[Performance]Investigate and improve videorendering#1039

Closed
ipavlidakis wants to merge 3 commits intodevelopfrom
iliaspavlidakis/ios-1377-performanceinvestigate-and-improve-videorendering
Closed

[Performance]Investigate and improve videorendering#1039
ipavlidakis wants to merge 3 commits intodevelopfrom
iliaspavlidakis/ios-1377-performanceinvestigate-and-improve-videorendering

Conversation

@ipavlidakis
Copy link
Copy Markdown
Contributor

🔗 Issue Links

Resolves https://linear.app/stream/issue/IOS-1377/performanceinvestigate-and-improve-videorendering-performance

🎯 Goal

Integrate:

📝 Summary

Provide bullet points with the most important changes in the codebase.

🛠 Implementation

Provide a detailed description of the implementation and explain your decisions if you find them relevant.

🎨 Showcase

Add relevant screenshots and/or videos/gifs to easily see what this PR changes, if applicable.

Before After
img img

🧪 Manual Testing Notes

Explain how this change can be tested manually, if applicable.

☑️ Contributor Checklist

  • I have signed the Stream CLA (required)
  • This change follows zero ⚠️ policy (required)
  • This change should receive manual QA
  • Changelog is updated with client-facing changes
  • New code is covered by unit tests
  • Comparison screenshots added for visual changes
  • Affected documentation updated (tutorial, CMS)

🎁 Meme

Provide a funny gif or image that relates to your work on this pull request. (Optional)

@ipavlidakis ipavlidakis self-assigned this Jan 28, 2026
@ipavlidakis ipavlidakis added the enhancement New feature or request label Jan 28, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 28, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch iliaspavlidakis/ios-1377-performanceinvestigate-and-improve-videorendering

Important

Action Needed: IP Allowlist Update

If your organization protects your Git platform with IP whitelisting, please add the new CodeRabbit IP address to your allowlist:

  • 136.113.208.247/32 (new)
  • 34.170.211.100/32
  • 35.222.179.152/32

Failure to add the new IP will result in interrupted reviews.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

1 Message
📖 Skipping Danger since the Pull Request is classed as Draft/Work In Progress

Generated by 🚫 Danger

super.init(frame: frame)

// Subscribe to thermal state changes to adjust rendering performance.
cancellable = thermalStateObserver
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

by deleting this, what would be the impact on the existing implementation?

@ipavlidakis ipavlidakis force-pushed the iliaspavlidakis/ios-1377-performanceinvestigate-and-improve-videorendering branch from 23112d6 to 7ab1e89 Compare February 3, 2026 11:07
# Conflicts:
#	StreamVideo.xcodeproj/project.pbxproj

Update WebRTC Version

Restructure DebugMenu options

Apply videoRenderingOptions onAppear

simplify videoRenderer and update webrtc version

Update webrtc version

Implement custom video capturing
@ipavlidakis ipavlidakis force-pushed the iliaspavlidakis/ios-1377-performanceinvestigate-and-improve-videorendering branch from 7ab1e89 to fac3c76 Compare February 3, 2026 14:27
@Stream-SDK-Bot
Copy link
Copy Markdown
Collaborator

SDK Size

title develop branch diff status
StreamVideo 9.72 MB 9.76 MB +39 KB 🟢
StreamVideoSwiftUI 2.45 MB 2.45 MB -1 KB 🚀
StreamVideoUIKit 2.58 MB 2.58 MB 0 KB 🟢
StreamWebRTC 11.02 MB 11.07 MB +50 KB 🟢

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2026

Public Interface

+ public struct VideoRenderingOptions: Sendable, CustomStringConvertible  
+ 
+   public let renderingBackend: RTCVideoRenderingBackend
+   public let bufferPolicy: RTCFrameBufferPolicy
+   public let maxInFlightFrames: Int
+   public let rotationOverride: RTCVideoRotation?
+   public var description: String
+   
+ 
+   public init(renderingBackend: RTCVideoRenderingBackend = .default,bufferPolicy: RTCFrameBufferPolicy = .none,maxInFlightFrames: Int = 0,rotationOverride: RTCVideoRotation? = nil)

+ extension RTCFrameBufferPolicy: @retroactive CustomStringConvertible  
+ 
+   public var description: String

+ extension RTCVideoRenderingBackend: @retroactive CustomStringConvertible  
+ 
+   public var description: String

+ extension RTCVideoRotation: @retroactive CustomStringConvertible  
+ 
+   public var description: String



 public final class VideoConfig: Sendable  
-   
+   public let renderingOptions: VideoRenderingOptions
- 
+   
-   public init(videoFilters: [VideoFilter] = [],noiseCancellationFilter: NoiseCancellationFilter? = nil,audioProcessingModule: AudioProcessingModule? = nil)
+ 
+   public init(renderingOptions: VideoRenderingOptions = .init(),videoFilters: [VideoFilter] = [],noiseCancellationFilter: NoiseCancellationFilter? = nil,audioProcessingModule: AudioProcessingModule? = nil)

- public class VideoRenderer: RTCMTLVideoView, @unchecked Sendable  
+ public class VideoRenderer: RTCVideoRenderingView, @unchecked Sendable  

@Stream-SDK-Bot
Copy link
Copy Markdown
Collaborator

StreamVideo XCSize

Object Diff (bytes)
CameraSystemPressureHandler.o +17588
StreamVideoCapturer.o +3294
VideoRenderingOptions.o +3164
WebRTCStatsCollecting.o +2066
CameraCaptureSessionConfigurationHandler.o +960
VideoConfig.o +174
CallController.o +174
AVFCapture +56
Foundation.tbd +56
events.pb.o +44

@Stream-SDK-Bot
Copy link
Copy Markdown
Collaborator

StreamVideoSwiftUI XCSize

Object Diff (bytes)
VideoRenderer.o -2717
L10n.o -332
CallEventsHandler.o -88
PictureInPictureVideoCallViewController.o -80
PictureInPictureVideoRenderer.o +55

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Feb 3, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants