> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # sw-local-camera Aspect-ratio-aware preview tile for the local camera, with a "camera off" placeholder when video is muted or the stream is missing. ```html ``` Designed for small picture-in-picture-style previews — typically slotted into ``'s `floating-video` slot or used standalone in a settings panel. The element reads `getSettings()` on the active video track to detect the natural orientation (landscape, portrait, or square) and rewrites `--sw-local-camera-aspect` so its container hugs the track. Input precedence (most specific wins): **`.stream` / `.videoMuted` > `.call` > context**. Any of `.stream` and `.videoMuted` can be set independently — for example, you can supply an explicit `stream` from a "join" preview screen while still letting `videoMuted` come from `devicesContext`. The `mirror` attribute reflects to the host so it can be styled with `:host([mirror])` and is the natural default for selfie cameras. *Class: `SwLocalCamera` · Module: `packages/web-components/src/components/sw-local-camera.ts`* ## class: `SwLocalCamera`, `sw-local-camera` ### Fields **`stream`** `MediaStream | null` — default: null Explicit stream — highest precedence. --- **`videoMuted`** `boolean | undefined` Explicit muted flag — overrides devicesContext.videoMuted. --- **`call`** `Call | undefined` Explicit Call — used when `.stream` is not set. Bypasses context. --- **`mirror`** `boolean` — default: false `mirror` field. --- ### Attributes | Name | Field | Inherited From | | ------------- | ---------- | -------------- | | `video-muted` | videoMuted | | | `mirror` | mirror | | | `call` | call | | ### CSS Properties | Name | Default | Description | | -------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `--sw-local-camera-aspect` | `16/9` | Aspect ratio of the tile. Automatically rewritten to match the active track's orientation (e.g. \`9 / 16\` for portrait phone cameras). | ### CSS Parts | Name | Description | | ------------- | -------------------------------------------------------------------------------------------------------- | | `video` | The internal \`\