Repository navigation
Show a live preview of my own screen share instead of a blurred thumbnail card - #236
Merged
Merged
Conversation
…nail card Sharing a screen in a Tiny call used to leave my own stage with a text card over a dimmed, cover-fitted copy of the start-of-share thumbnail. The share now paints a small live JPEG of what it sends (the camera's self-view size and rate), the stage and tile draw it Contain with Stop sharing over it, and it clears when the share stops. Camera and share can be on together, so the preview is its own slot: Call.share_view and a `share` flag on MediaResponse::SelfView (absent reads as the camera, so older mediad frames still parse). Until the first picture lands the card stays, without the thumbnail smear and without claiming nothing is shown. Adds e2e/scenarios/share-self-view and a tiny_sharing shot state. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
When I share my screen in a Tiny call and open my own share, I got a dark, blurry copy of the start-of-share thumbnail behind a text card that said it would not be played back to me. It looked like a rendering bug and gave no way to see what was being sent. The share now paints a small live picture of what it sends, at the same size and rate as the camera's self view, and the stage and tile draw it with Stop sharing over it. Until the first picture lands the card stays, on a plain surface and with words that no longer claim nothing is shown.
Type
Platforms
Proof
Scenario: e2e/scenarios/share-self-view
Lab run:
The scenario is headless: it runs mediad's real capture thread on the host's real screen and requires a self-view picture for the share (and none for the camera while it is off), then its removal when the share stops. It does not open a window. The stage drawing, Stop over it and the fallback card are covered by window tests and a
--shot --demostate (TINYCLIENT_SHOT_CALL=tiny_sharing --tiny-stream), not by the lab.Compatibility
MediaResponse::SelfViewgainsshare: bool(serde default false, so an older mediad's frame still reads as the camera's), andCallgainsshare_view: Option<CallPicture>(skipped when none). The fields only grew. Camera and share can be on together, so the share's preview has its own slot instead of sharingself_view. Discord's screen leg gets the same preview from the shared capture code. A phone'sOutgoinggets stubs that return nothing.Risk and rollback
Costs one 640x360 shrink and JPEG write every 100 ms while sharing on desktop, the same as the camera's self view. If it is wrong the card comes back; revert the PR.
Release note
Your own screen share now shows a live preview with Stop sharing over it, instead of a blurry thumbnail.
🤖 Generated with Claude Code