[bug] Codec H264 on Android Screen-share non-functional
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Domain
- audio-video-rtc, mobile-dev
Research direction
Start by reproducing the issue in the example demo app with H264 selected, Android screen sharing as the publisher, and a remote participant viewing the track; compare with VP8. Then trace the Android screen-share publishing and H264 handling paths to find where remote video stops rendering. Done means remote participants render Android H264 screen-share video, while local rendering continues to work.
Written by the indexing model from the issue text.
Description
Describe the bug
When using H264 with Android screen-share, the local participant will see the video rendered correctly in their local UI viewer. However, other remote participants instead see no video rendered/produced. Remote participants are notified of the new track being publish/subscribed, but the VideoTrackRenderer does not render any video.
VP8 is not impacted by this bug and works as intended.
iOS/Browsers are not impacted by this H264 bug when they are the publisher of screen-sharing.
Other OSs not tested.
To Reproduce
Switch the default codec to H264 within the example demo app. Try to share your screen on Android. I have also independently verified this bug behavior within my own private application.
Expected behavior
Android screen-share video should be rendered by remote participants, and not just the local participant.
Platform information
- Flutter version:
[√] Flutter (Channel stable, 3.13.5, on Microsoft Windows [Version 10.0.22621.2283], locale en-US)
• Flutter version 3.13.5 on channel stable at C:\flutter
• Upstream repository https://github.com/flutter/flutter
• Framework revision 12fccda598 (3 weeks ago), 2023-09-19 13:56:11 -0700
• Engine revision bd986c5ed2
• Dart version 3.1.2
• DevTools version 2.25.0
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at C:\Users\alden\AppData\Local\Android\sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2019 16.11.29)
• Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
• Visual Studio Build Tools 2019 version 16.11.33927.289
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 2022.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
[√] VS Code (version 1.83.0)
• VS Code at C:\Users\alden\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.74.0
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.22621.2283]
• Chrome (web) • chrome • web-javascript • Google Chrome 117.0.5938.150
• Edge (web) • edge • web-javascript • Microsoft Edge 117.0.2045.47
[√] Network resources
• All expected network resources are available.
• No issues found!
- Plugin version:
ref: main - Flutter target OS: `Android (physical Pixel 6 Pro)
- Flutter target OS version:
Android 13 - Flutter console log:
Very long, trust me.
Screenshots
- Dominant language
- Dart
- Stars
- 421
- Forks
- 260
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 11
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from livekit/client-sdk-flutter
-
`jwtPayload.roomConfiguration` returns null fields for tokens from LiveKit server SDKsPossibly taken @RaphaelFakhri claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
livekit/client-sdk-flutter#1243 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 57/100
livekit/client-sdk-flutter#1245 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
livekit/client-sdk-flutter#1227 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
livekit/client-sdk-flutter#1221 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
livekit/client-sdk-flutter#1219 · 1 reaction ·
Maintainers usually reply within 1 day
All issues in livekit/client-sdk-flutter
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
CircuitVerse/mobile-app#679 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
PhoebeSoftware/xrooster#41 ·
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 61/100
spotiflacapp/SpotiFLAC-Mobile#687 ·