From f2b87024119a0645d5885ff95a18bded7b53a13e Mon Sep 17 00:00:00 2001 From: italomiguelpinheiro Date: Fri, 16 Jan 2026 11:30:11 -0300 Subject: [PATCH 1/3] feat: add processedStream on create camera track --- lib/src/track/local/video.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/track/local/video.dart b/lib/src/track/local/video.dart index 4c35205e5..deee9c32b 100644 --- a/lib/src/track/local/video.dart +++ b/lib/src/track/local/video.dart @@ -185,10 +185,11 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { /// Creates a LocalVideoTrack from camera input. static Future createCameraTrack([ CameraCaptureOptions? options, + rtc.MediaStream? processedStream, ]) async { options ??= const CameraCaptureOptions(); - final stream = await LocalTrack.createStream(options); + final stream = processedStream ?? await LocalTrack.createStream(options); final track = LocalVideoTrack._( TrackSource.camera, stream, From 84cf3889a2a875311690508e4423d83120adfb3c Mon Sep 17 00:00:00 2001 From: italomiguelpinheiro Date: Thu, 22 Jan 2026 17:13:56 -0300 Subject: [PATCH 2/3] fix: change the constructor to public --- lib/src/track/local/video.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/src/track/local/video.dart b/lib/src/track/local/video.dart index deee9c32b..7d3bf2535 100644 --- a/lib/src/track/local/video.dart +++ b/lib/src/track/local/video.dart @@ -175,7 +175,7 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { } // Private constructor - LocalVideoTrack._( + LocalVideoTrack( TrackSource source, rtc.MediaStream stream, rtc.MediaStreamTrack track, @@ -190,7 +190,7 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { options ??= const CameraCaptureOptions(); final stream = processedStream ?? await LocalTrack.createStream(options); - final track = LocalVideoTrack._( + final track = LocalVideoTrack( TrackSource.camera, stream, stream.getVideoTracks().first, @@ -219,7 +219,7 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { options ??= const ScreenShareCaptureOptions(); final stream = await LocalTrack.createStream(options); - return LocalVideoTrack._( + return LocalVideoTrack( TrackSource.screenShareVideo, stream, stream.getVideoTracks().first, @@ -248,7 +248,7 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { final stream = await LocalTrack.createStream(options); final List tracks = [ - LocalVideoTrack._( + LocalVideoTrack( TrackSource.screenShareVideo, stream, stream.getVideoTracks().first, From 9058504a04573203dcf24e04776be01fa41508dc Mon Sep 17 00:00:00 2001 From: italomiguelpinheiro Date: Tue, 27 Jan 2026 16:59:48 -0300 Subject: [PATCH 3/3] removing processed stream on create video track and add the internal annotation on local video track --- lib/src/track/local/video.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/track/local/video.dart b/lib/src/track/local/video.dart index 7d3bf2535..9b8e66b28 100644 --- a/lib/src/track/local/video.dart +++ b/lib/src/track/local/video.dart @@ -175,6 +175,7 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { } // Private constructor + @internal LocalVideoTrack( TrackSource source, rtc.MediaStream stream, @@ -185,11 +186,10 @@ class LocalVideoTrack extends LocalTrack with VideoTrack { /// Creates a LocalVideoTrack from camera input. static Future createCameraTrack([ CameraCaptureOptions? options, - rtc.MediaStream? processedStream, ]) async { options ??= const CameraCaptureOptions(); - final stream = processedStream ?? await LocalTrack.createStream(options); + final stream = await LocalTrack.createStream(options); final track = LocalVideoTrack( TrackSource.camera, stream,