What does HRESULT 0x88980504 (MILAVERR_NOREADYFRAMES) mean?

 
Previous Next
MILAVERR_NOVIDEOPRESENTER MILAVERR_MODULENOTLOADED

MILAVERR_NOREADYFRAMES

The scope of MILAVERR_NOREADYFRAMES is WPF media timing and stream negotiation. The presentation stage asked for video output but no frame was ready for the requested time. Keep 0x88980504 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.

Locate the first rejecting layer

WPF media presentation needs both a usable stream format and a clock that can schedule decoded output. Source opening, stream selection, decoder output type, queued frames, and presentation time are related but distinct checkpoints. A playable file in another application does not prove that the WPF path negotiated the same stream or requested the same presentation time.

Decoder, queue, timestamp, and scheduling state at presentation.

Misleading responses

This is not the same as MILAVERR_NOCLOCK: a valid clock may request a time for which decoding has not produced a frame. Do not treat the constant name as a complete root-cause report; preserve the nested media, COM, graphics, or driver result before resetting the player.

Evidence to preserve

  • Requested presentation time and nearest decoded sample timestamps
  • Decode queue depth and end-of-stream state
  • Playback rate, pause/seek generation, and discontinuity flags
  • Source latency and hardware-decoder events

Controlled reproduction

Use a short local file with one ordinary audio/video stream, then log open, media-opened, clock, position, natural dimensions, and frame availability in order. Change only source format or timing control in each comparison.

  1. Start at time zero without seeking.
  2. Use normal playback rate and a local seekable file.
  3. Compare software decoding with the hardware path.
  4. Verify stale frames are discarded only at the correct seek generation.

Technical references


Looking for a different code? Search another status or error code.