What does HRESULT 0x80EE0022 (RTC_E_MEDIA_VIDEO_DEVICE_NOT_AVAILABLE) mean?

 
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 areaRTC media controller and terminal
Condition to provethe selected video capture or render device is unavailable to RTC
Objects to correlateRTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation
Safe corrective directiondisable 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

  1. Confirm the distinction that video device failure should not automatically terminate an otherwise valid audio call.
  2. 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_DISABLEDthe requested media operation requires media that has been disabled for the client or session
RTC_E_MEDIA_SESSION_NOT_EXISTthe requested media-session object no longer exists for the RTC signaling session
RTC_E_START_STREAMRTC 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.