| Previous | Next |
| RTC_E_MEDIA_AUDIO_DEVICE_NOT_AVAILABLE | RTC_E_START_STREAM |
RTC_E_MEDIA_VIDEO_DEVICE_NOT_AVAILABLE
Operational meaning: RTC_E_MEDIA_VIDEO_DEVICE_NOT_AVAILABLE
This result is useful only when preserved with its producing phase; in binding negotiated audio or video streams to media terminals and moving the media controller through legal states, it denotes the selected video capture or render device is unavailable to RTC.
The machine-readable identity of this result is 0x80EE0022 in the RTC interface facility 0xEE; the result identity matters because RTC uses separate facilities for API conditions, SIP final responses, and PINT service statuses.
The first useful check is to record device ID, capture/render role, driver state, format, and hot-plug timeline. The result must be separated from nearby conditions because video device failure should not automatically terminate an otherwise valid audio call.
Signals worth preserving
- Code-specific proof: record device ID, capture/render role, driver state, format, and hot-plug timeline.
- Correlation key: stream direction and negotiated codec.
- Protocol or object snapshot: device removal or format-change event.
- Last completed transition: session and media type.
- Expected output: terminal/device identifier.
Protocol and object state
| RTC area | RTC media controller and terminal |
|---|---|
| Condition to prove | the selected video capture or render device is unavailable to RTC |
| Objects to correlate | RTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation |
| Safe corrective direction | disable video or bind another compatible terminal while preserving allowed session media |
Signaling success does not guarantee that a capture or render device exists or that a media stream can start. AddStream, RemoveStream, hold, and terminal selection change the media state machine and can race with callbacks from the previous operation.
Verification workflow
- Confirm the distinction that video device failure should not automatically terminate an otherwise valid audio call.
- Start a fresh operation after you disable video or bind another compatible terminal while preserving allowed session media, and compare its final state with the failing run.
Do not confuse it with
RTC_E_MEDIA_DISABLED | the requested media operation requires media that has been disabled for the client or session |
|---|---|
RTC_E_MEDIA_SESSION_NOT_EXIST | the requested media-session object no longer exists for the RTC signaling session |
RTC_E_START_STREAM | RTC could not move a negotiated stream into the started state |
Recovery and control flow
The appropriate response to it is not a blanket reconnect. Instead, disable video or bind another compatible terminal while preserving allowed session media, while preserving ownership of cleanup and any bounded retry.
Example: A camera is already held exclusively by another application when the call starts.
Actions that do not address this condition
- Do not recreate the entire SIP session before determining whether only a local terminal failed.
- Do not assume the default Windows device is the terminal selected by the RTC object.
Technical references
Looking for a different code? Search another status or error code.
