-
Notifications
You must be signed in to change notification settings - Fork 43
fix(llc, samples): to run video on windows #1023
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe updates remove the Changes
Sequence Diagram(s)sequenceDiagram
participant BuildScript as CMakeLists.txt
participant Env as Environment
participant FlutterTool as Flutter Backend
BuildScript->>Env: Check FLUTTER_TARGET_PLATFORM
alt Variable is set
BuildScript->>FlutterTool: Use FLUTTER_TARGET_PLATFORM
else Not set
BuildScript->>Env: Set FLUTTER_TARGET_PLATFORM to "windows-x64"
BuildScript->>FlutterTool: Use default "windows-x64"
end
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
dogfooding/linux/flutter/generated_plugin_registrant.cc
(0 hunks)dogfooding/linux/flutter/generated_plugins.cmake
(0 hunks)dogfooding/windows/flutter/CMakeLists.txt
(2 hunks)dogfooding/windows/flutter/generated_plugins.cmake
(1 hunks)packages/stream_video/lib/src/webrtc/media/audio_constraints.dart
(1 hunks)
💤 Files with no reviewable changes (2)
- dogfooding/linux/flutter/generated_plugins.cmake
- dogfooding/linux/flutter/generated_plugin_registrant.cc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: build
- GitHub Check: analyze
- GitHub Check: analyze_legacy_version
- GitHub Check: stream_video_flutter
- GitHub Check: stream_video_screen_sharing
- GitHub Check: stream_video_noise_cancellation
- GitHub Check: stream_video_push_notification
- GitHub Check: stream_video
🔇 Additional comments (2)
packages/stream_video/lib/src/webrtc/media/audio_constraints.dart (1)
56-56
: LGTM! Type consistency improvement for WebRTC constraints.The change from string
'true'
to booleantrue
is correct and improves type consistency with WebRTC standards. This aligns with other boolean constraints in the same array and ensures proper WebRTC functionality across platforms.dogfooding/windows/flutter/CMakeLists.txt (1)
13-16
: Excellent defensive programming approach.The fallback mechanism for
FLUTTER_TARGET_PLATFORM
is well-implemented and improves the robustness of the Windows build configuration. This allows for dynamic platform specification while providing a sensible default.
@@ -14,11 +14,11 @@ list(APPEND FLUTTER_PLUGIN_LIST | |||
media_kit_video | |||
permission_handler_windows | |||
record_windows | |||
screen_brightness_windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify that manual editing of generated file is intentional.
This is a generated file that typically shouldn't be manually edited. The addition of screen_brightness_windows
plugin (replacing volume_controller
based on the AI summary) appears to be part of Windows platform compatibility improvements.
Please confirm that:
- This change is intentional and part of the automated tooling updates
- The plugin replacement aligns with Windows platform requirements
- The change won't be overwritten by the next generation cycle
🏁 Script executed:
#!/bin/bash
# Description: Verify if volume_controller plugin usage exists elsewhere and check for screen_brightness_windows dependencies
# Check for any remaining volume_controller references
echo "Checking for volume_controller references:"
rg -i "volume_controller" --type cmake --type dart
# Check for screen_brightness_windows usage
echo "Checking for screen_brightness_windows usage:"
rg -i "screen_brightness_windows" --type cmake --type dart --type yaml
# Check pubspec.yaml for plugin dependencies
echo "Checking pubspec.yaml for plugin dependencies:"
fd -e yaml -x grep -l "volume_controller\|screen_brightness_windows" {}
Length of output: 575
🏁 Script executed:
#!/bin/bash
# Search for plugin definitions in all pubspec.yaml files
echo "Searching for screen_brightness and volume_controller in pubspec.yaml files:"
find . -type f -name "pubspec.yaml" -print -exec rg -n "screen_brightness|volume_controller" {} \;
Length of output: 603
🏁 Script executed:
#!/bin/bash
# Display dependencies section of dogfooding/pubspec.yaml for plugin definitions
echo "Dependencies in dogfooding/pubspec.yaml:"
awk '/^dependencies:/,/^[^ ]/' dogfooding/pubspec.yaml
Length of output: 161
🏁 Script executed:
#!/bin/bash
# Verify plugin entries in root and dogfooding pubspec.yaml files
echo "Root pubspec.yaml dependencies block:"
awk '/^dependencies:/,/^[^ ]/' pubspec.yaml || echo "No dependencies section found in root pubspec.yaml"
echo
echo "Search for screen_brightness_windows and volume_controller references in pubspec files:"
for f in pubspec.yaml dogfooding/pubspec.yaml; do
echo "== $f =="
rg -n "screen_brightness_windows" "$f" || echo " screen_brightness_windows: none"
rg -n "volume_controller" "$f" || echo " volume_controller: none"
done
Length of output: 1005
Remove or Correct Manual Edits to generated_plugins.cmake
It looks like screen_brightness_windows
was added by hand to
dogfooding/windows/flutter/generated_plugins.cmake
(line 17), but there’s no corresponding dependency in any pubspec.yaml
. Generated plugin registrant files are rebuilt by Flutter and shouldn’t be edited directly. You’ll need to either:
- Add
screen_brightness_windows
as a dependency in yourpubspec.yaml
so Flutter’s tooling can regenerate it correctly, or - Revert the manual change in
generated_plugins.cmake
and manage plugin registration through your Dart/Flutter configuration.
Files needing attention:
- dogfooding/windows/flutter/generated_plugins.cmake (remove or revert line 17)
- pubspec.yaml / dogfooding/pubspec.yaml (add
screen_brightness_windows:
underdependencies:
if this plugin is intended)
🤖 Prompt for AI Agents
In dogfooding/windows/flutter/generated_plugins.cmake at line 17, the plugin
'screen_brightness_windows' was manually added but this file is auto-generated
and should not be edited directly. To fix this, either add
'screen_brightness_windows' as a dependency in dogfooding/pubspec.yaml under
dependencies so Flutter can regenerate this file properly, or revert the manual
addition in generated_plugins.cmake and manage plugin registration only through
pubspec.yaml and Flutter tooling.
@@ -92,7 +97,7 @@ add_custom_command( | |||
COMMAND ${CMAKE_COMMAND} -E env | |||
${FLUTTER_TOOL_ENVIRONMENT} | |||
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" | |||
windows-x64 $<CONFIG> | |||
${FLUTTER_TARGET_PLATFORM} $<CONFIG> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify consistent usage of FLUTTER_TARGET_PLATFORM variable.
The usage of ${FLUTTER_TARGET_PLATFORM}
in the custom command is correct and consistent with the fallback mechanism defined above.
Please verify that this change doesn't break existing build processes:
🏁 Script executed:
#!/bin/bash
# Description: Verify FLUTTER_TARGET_PLATFORM usage and check for any hardcoded platform references
# Check for any remaining hardcoded "windows-x64" references that might need updating
echo "Checking for hardcoded windows-x64 references:"
rg -i "windows-x64" --type cmake
# Check for FLUTTER_TARGET_PLATFORM usage consistency
echo "Checking FLUTTER_TARGET_PLATFORM variable usage:"
rg "FLUTTER_TARGET_PLATFORM" --type cmake -A 2 -B 2
# Check if there are any other CMakeLists.txt files that might need similar updates
echo "Checking for other CMakeLists.txt files in Windows directories:"
fd -e txt -p "*/windows/*" -x grep -l "FLUTTER_TARGET_PLATFORM\|windows-x64" {}
Length of output: 3640
Ensure all Windows CMakeLists use FLUTTER_TARGET_PLATFORM
The example project under packages/stream_video_flutter still hardcodes “windows-x64”. Replace it to keep platform selection consistent:
- packages/stream_video_flutter/example/windows/flutter/CMakeLists.txt
-
windows-x64 $<CONFIG>
-
${FLUTTER_TARGET_PLATFORM} $<CONFIG>
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
${FLUTTER_TARGET_PLATFORM} $<CONFIG> | |
- windows-x64 $<CONFIG> | |
+ ${FLUTTER_TARGET_PLATFORM} $<CONFIG> |
🤖 Prompt for AI Agents
In dogfooding/windows/flutter/CMakeLists.txt at line 100, replace the hardcoded
platform string "windows-x64" with the variable ${FLUTTER_TARGET_PLATFORM} to
ensure consistent platform selection across all Windows CMakeLists files. This
change will make the platform configurable and aligned with other projects.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1023 +/- ##
=====================================
Coverage 4.24% 4.24%
=====================================
Files 574 574
Lines 38526 38526
=====================================
Hits 1634 1634
Misses 36892 36892 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@@ -7,6 +7,7 @@ | |||
* Fixed an issue where the last reaction was removed too fast when a user sends multiple reactions quickly after each other. | |||
* Fixed an issue where toggling camera enabled quickly could cause AVCaptureMultiCamSession to crash | |||
* Fixed an issue where the default camera selection would occasionally be incorrect even when properly configured. | |||
* Boolean type of `DtlsSrtpKeyAgreement`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Boolean type of `DtlsSrtpKeyAgreement`. | |
* Fixed `DtlsSrtpKeyAgreement` audio constraint parameter mapping |
🎯 Goal
Run dogfooding on windows.
Related PR: GetStream/webrtc-flutter#37
🛠 Implementation details
Mostly automated changes, the only real change is in audio_constraints.dart
☑️Contributor Checklist
General
☑️Reviewer Checklist
Summary by CodeRabbit
Bug Fixes
Chores