| Previous | Next |
| RTC_E_MEDIA_VIDEO_DEVICE_NOT_AVAILABLE | RTC_E_MEDIA_AEC |
RTC_E_START_STREAM
Where the state changes: RTC_E_START_STREAM
In the RTC Client API, this result separates one failure or completion path from its neighbors because it denotes RTC could not move a negotiated stream into the started state.
At the HRESULT layer, this result appears as 0x80EE0023 in the RTC interface facility 0xEE; preserving the facility and symbol prevents it from being grouped incorrectly with unrelated networking or media errors.
To establish this result, collect terminal, format, codec, controller state, port mapping, and lower-level device error; this matters because this is a start-transition failure after stream definition, broader than one specific missing device.
Telemetry and packet evidence
- Code-specific proof: collect terminal, format, codec, controller state, port mapping, and lower-level device error.
- Addressing context: stream direction and negotiated codec.
- RTC callback state: device removal or format-change event.
- Transaction boundary: session and media type.
- Media or profile detail: terminal/device identifier.
Protocol and object state
| RTC area | RTC media controller and terminal |
|---|---|
| Condition to prove | RTC could not move a negotiated stream into the started state |
| Objects to correlate | RTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation |
| Safe corrective direction | repair the first failing media dependency and repeat one controlled start transition |
Interpreting it requires both of these facts: Signaling success does not guarantee that a capture or render device exists or that a media stream can start; also, the result branch assumes that AddStream, RemoveStream, hold, and terminal selection change the media state machine and can race with callbacks from the previous operation.
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.
Step-by-step isolation
- Record it and
0x80EE0023at the first RTC method or event that returns it. - Prove the condition by ensuring the trace can collect terminal, format, codec, controller state, port mapping, and lower-level device error.
- Apply one controlled change: repair the first failing media dependency and repeat one controlled start transition; then verify the result return value and resulting RTC state.
Recovery
The owning RTC component should repair the first failing media dependency and repeat one controlled start transition; it should also settle or cancel its previous operation before callers begin a replacement.
Example: Audio SDP is accepted, but the selected terminal cannot initialize the negotiated format.
Comparison with adjacent codes
RTC_E_MEDIA_DISABLED | the requested media operation requires media that has been disabled for the client or session |
|---|---|
RTC_E_MEDIA_ENABLED | code attempted an enable transition for media that is already enabled |
RTC_E_MEDIA_NEED_TERMINAL | the media stream has no terminal/device bound for the requested direction |
Technical references
Looking for a different code? Search another status or error code.