DirectShow Error and Success Codes
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
This topic lists the HRESULT return codes that are defined for DirectShow. Note that DirectShow APIs can return other HRESULT values not shown here. For additional HRESULT values, see COM Error Codes.
The following table contains DirectShow-specific error and success codes in numerical order. Return codes beginning with VFW_S_ indicate success. An operation might partially succeed and still have a successful return value. For example, VFW_S_SOME_DATA_IGNORED indicates that a file was rendered by ignoring some of its property settings. Return codes beginning with VFW_E_ indicate an error.
These values are defined in the header file Vfwmsgs.h.
Constant/value | Description |
---|---|
|
Reached the end of the list; no more items in the list. (Filter developers: The CBasePin::GetMediaType method is expected to return this value.) |
|
An attempt to add a filter with a duplicate name succeeded with a modified name. |
|
The state transition is not complete. |
|
Some of the streams are in an unsupported format. |
|
The file contained some property settings that were not used. |
|
Some connections failed and were deferred. |
|
The resource specified is no longer needed. |
|
A GraphEdit (.grf) file was loaded successfully, but at least two pins were connected using a different media type than the media type stored in the GraphEdit file. |
|
Cannot play back the video stream: could not find a suitable renderer. |
|
Cannot play back the audio stream: could not find a suitable renderer. |
|
Cannot play back the video stream: format 'RPZA' is not supported. |
|
The value returned had to be estimated. Its accuracy can't be guaranteed. |
|
This success code is reserved for internal purposes within DirectShow. |
|
The stream was turned off. |
|
The filter is active, but cannot deliver data. See IMediaFilter::GetState. |
|
The sample had a start time but not a stop time. In this case, the stop time that is returned is set to the start time plus one. |
|
Preview was rendered throught the Smart Tee filter, because the capture filter does not have a preview pin. |
|
The current title is not a sequential set of chapters (PGC), so the timing information might not be continuous. |
|
The audio stream does not contain enough information to determine the contents of each channel. |
|
The seek operation on the DVD was not frame accurate. |
|
The specified media type is invalid. |
|
The specified media subtype is invalid. |
|
This object can only be created as an aggregated object. |
|
The state of the enumerated object has changed and is now inconsistent with the state of the enumerator. Discard any data obtained from previous calls to the enumerator and then update the enumerator by calling the enumerator's Reset method. |
|
At least one of the pins involved in the operation is already connected. |
|
This operation cannot be performed because the filter is active. |
|
One of the specified pins supports no media types. |
|
There is no common media type between these pins. |
|
Two pins of the same direction cannot be connected. |
|
The operation cannot be performed because the pins are not connected. |
|
No sample buffer allocator is available. |
|
A run-time error occurred. |
|
No buffer space has been set. |
|
The buffer is not big enough. |
|
An invalid alignment was specified. |
|
The allocator was not committed. See IMemAllocator::Commit. |
|
One or more buffers are still active. |
|
Cannot allocate a sample when the allocator is not active. |
|
Cannot allocate memory because no size has been set. |
|
Cannot lock for synchronization because no clock has been defined. |
|
Quality messages could not be sent because no quality sink has been defined. |
|
A required interface has not been implemented. |
|
An object or name was not found. |
|
No combination of intermediate filters could be found to make the connection. |
|
No combination of filters could be found to render the stream. |
|
Could not change formats dynamically. |
|
No color key has been set. |
|
Current pin connection is not using the IOverlay transport. |
|
Current pin connection is not using the IMemInputPin transport. |
|
Setting a color key would conflict with the palette already set. |
|
Setting a palette would conflict with the color key already set. |
|
No matching color key is available. |
|
No palette is available. |
|
Display does not use a palette. |
|
Too many colors for the current display settings. |
|
The state changed while waiting to process the sample. |
|
The operation could not be performed because the filter is not stopped. |
|
The operation could not be performed because the filter is not paused. |
|
The operation could not be performed because the filter is not running. |
|
The operation could not be performed because the filter is in the wrong state. |
|
The sample start time is after the sample end time. |
|
The supplied rectangle is invalid. |
|
This pin cannot use the supplied media type. |
|
This sample cannot be rendered. |
|
This sample cannot be rendered because the end of the stream has been reached. |
|
An attempt to add a filter with a duplicate name failed. |
|
A time-out has expired. |
|
The file format is invalid. |
|
The list has already been exhausted. |
|
The filter graph is circular. |
|
Updates are not allowed in this state. |
|
An attempt was made to queue a command for a time in the past. |
|
The queued command was already canceled. |
|
Cannot render the file because it is corrupt. |
|
An IOverlay advise link already exists. |
|
No full-screen modes are available. |
|
This advise cannot be canceled because it was not successfully set. |
|
Full-screen mode is not available. |
|
Cannot call IVideoWindow methods while in full-screen mode. |
|
The media type of this file is not recognized. |
|
The source filter for this file could not be loaded. |
|
A file appeared to be incomplete. |
|
The file's version number is invalid. |
|
This file is corrupt: it contains an invalid class identifier. |
|
This file is corrupt: it contains an invalid media type. |
|
No time stamp has been set for this sample. |
|
No media time was set for this sample. |
|
No media time format was selected. |
|
Cannot change balance because audio device is monoaural only. |
|
Cannot play back the video stream: could not find a suitable decompressor. |
|
Cannot play back the audio stream: no audio hardware is available, or the hardware is not supported. |
|
Cannot play back the video stream: format 'RPZA' is not supported. |
|
DirectShow cannot play MPEG movies on this processor. |
|
Cannot play back the audio stream: the audio format is not supported. |
|
Cannot play back the video stream: the video format is not supported. |
|
DirectShow cannot play this video stream because it falls outside the constrained standard. |
|
Cannot perform the requested function on an object that is not in the filter graph. |
|
Cannot access the time format on an object. |
|
Could not make the connection because the stream is read-only and the filter alters the data. |
|
The buffer is not full enough. |
|
Cannot play back the file: the format is not supported. |
|
Pins cannot connect because they don't support the same transport. For example, the upstream filter might require the IAsyncReader interface, while the downstream filter requires IMemInputPin. |
|
The Video CD can't be read correctly by the device or the data is corrupt. |
|
There is not enough video memory at this display resolution and number of colors. Reducing resolution might help. |
|
The video port connection negotiation process has failed. |
|
Either DirectDraw has not been installed or the video card capabilities are not suitable. Make sure the display is not in 16-color mode. |
|
No video port hardware is available, or the hardware is not responding. |
|
No capture hardware is available, or the hardware is not responding. |
|
This user operation is prohibited by DVD content at this time. |
|
This operation is not permitted in the current domain. |
|
Requested button is not available. |
|
DVD-Video playback graph has not been built yet. |
|
DVD-Video playback graph building failed. |
|
DVD-Video playback graph could not be built due to insufficient decoders. |
|
The DirectDraw version number is not suitable. Make sure to install DirectX 5 or higher. |
|
Copy protection could not be enabled. |
|
Seek command timed out. |
|
The operation cannot be performed at the current playback speed. |
|
The specified DVD menu does not exist. |
|
The specified command was canceled or no longer exists. |
|
The DVD state information contains the wrong version number. |
|
The DVD state information is corrupted. |
|
The DVD state information is from another disc and not the current disc. |
|
The region is not compatible with the drive. |
|
The requested attributes do not exist. |
|
The operation cannot be performed because no GoUp program chain (PGC) is available. |
|
The operation is prohibited because the parental level is too low. |
|
The DVD Navigator is not in karaoke mode. |
|
Frame stepping is not supported. |
|
The requested stream is disabled. |
|
The operation requires a title number, but there is no current title. This error can occur when the DVD Navigator is not in the Title domain or the Video Title Set Menu (VTSM) domain. |
|
The specified path is not a valid DVD disc. |
|
The Resume operation could not be completed, because there is no resume information. |
|
Pin is already blocked on the calling thread. |
|
Pin is already blocked on another thread. |
|
Use of this filter is restricted by a software key. The application must unlock the filter. |
|
The Video Mixing Renderer (VMR) is not in mixing mode. Call IVMRFilterConfig::SetNumberOfStreams (VMR-7) or IVMRFilterConfig9::SetNumberOfStreams (VMR-9). |
|
The application has not yet provided the VMR filter with a valid allocator-presenter object. |
|
The VMR could not find any de-interlacing hardware on the current display device. |
|
The VMR could not find any hardware that supports ProcAmp controls on the current display device. |
|
The hardware decoder uses video port extensions (VPE), which are not compatible with the VMR-9 filter. |
|
The current display device does not support Content Output Protection Protocol (COPP); or the VMR has not connected to a display device yet. |
|
A registry entry is corrupt. |
|
The DVD navigator cannot complete the requested operation, because another operation is still pending. |
|
The DVD Navigator cannot build the DVD playback graph because the graph contains more than one video renderer. |
|
The DVD Navigator cannot add the Enhanced Video Renderer (EVR) filter to the filter graph because the graph already contains a video renderer. |
|
DVD Video output is not at a proper resolution. |
|
The specified codec parameter has a linear range, not an enumerated list. |
|
The specified codec parameter has an enumerated range of values, not a linear range. |
|
The specified codec parameter does not have a default value. |
|
The specified codec parameter does not have a current value. |
|
The specified property identifier is not supported. |
|
The specified property set is not supported. |
In addition to the values listed previously, DirectShow Editing Services defines the following HRESULT values.
Constant/value | Description |
---|---|
|
The rendering portion of the graph was deleted. The application must rebuild it. |
|
The object is not contained in the timeline. |
|
Operation failed because project was not rendered successfully. |
|
Render engine has not been initialized. |
|
Cannot determine requested value. |
|
There is no timeline object. |
Requirements
Requirement | Value |
---|---|
Header |
|