Share via


Troubleshooting the DirectShow Playback and Latency Tests

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

For more troubleshooting help, see Troubleshooting the CETK Tests.

Check that the XML file is configured as desired. The default values in the XML file will usually fail. This is especially true of the latency and duration thresholds, which are set to arbitrary values. Update the XML file to reflect the desired latency. The test will fail if the latency experienced is larger than the threshold specified in the XML file.

In general, the tests may fail if:

  • the URL is inaccessible, or if the xml file points to an invalid URL
  • the server containing the media is not accessible
  • the exact URL on the server is inaccessible
  • the network is inaccessible or the proxy or firewall are configured incorrectly
  • the correct SYSGENs needed to pull in the necessary DirectShow components are missing
  • you do not have or cannot initialize COM
  • the test device lacks a storage device, or the XML file is not pointing to the storage device or the media clip
  • the test device has run out of memory
  • the command line points to the wrong XML file

The following table shows common reasons for failure for each test case.

Test case Typical reasons for failure

0

DirectShow cannot find an appropriate source filter for the URL.

1

A filter in the <FilterList> cannot be loaded.

Cannot create an end-to-end filter graph of the URL.

2

DirectShow cannot find an appropriate source filter for the URL.

Cannot render the unconnected pins all the way to the renderer.

3

Xml file does not specify a source filter, or the source filter is unknown.

Xml file does not specify a renderer filter, or the renderer filter is unknown.

The source filter or the renderer specified cannot be loaded.

Cannot connect the pins of the source filter, through various transform filters if needed, to the renderer specified.

4

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

All the filters in the <CorrectGraph> are not present in the connected graph.

5

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Any of the essential interfaces are not returned.

100

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Cannot set the playback position to play to and from.

Cannot run the graph successfully.

It takes longer to playback than expect (calculated based of off clip duration).

Tester clicks No on the message box asking to verify playback.

101

Cannot copy the clip locally (URLMON is used to do this); failure could be due to:

  • Lack of space on the device in the location specified.
  • The location specified in the <DownloadTo> tag does not exist.
  • The clip is too big to fit in the URLMON cache.

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Cannot set the playback position to play to and from.

Cannot run the graph successfully.

It takes longer to playback than expected (calculated based of off clip duration).

Tester clicks No on the message box asking to verify playback.

102

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Cannot set the playback position to play to and from.

Cannot run the graph successfully.

It takes longer to playback than expected (calculated based of off clip duration).

The playback duration is not within the threshold specified. The threshold can be specified in the <PlaybackDuration> tag as a comma separated list. First number is the percent deviation allowed on total playback time. Second number is the deviation allowed in ms. If the difference between expected playback and actual playback is not covered by either of these two thresholds, then the test fails..

200

201

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Cannot set the playback position to play to and from.

Cannot run the graph successfully.

It takes longer to playback than expected (calculated based of off clip duration).

The startup latency is not within the specified threshold. Can configure this threshold via the <StartupLatency></StartupLatency> tag. Specify a latency in ms. Currently this is set at 300 ms.

300

301

302

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Cannot run the graph successfully.

Cannot change states.

State change latency is not within expected threshold (in ms). This value can be modified via the <VerifyStateChangeLatency> tag. The value is specified in ms. Currently set at 2000 ms. Test measures the latency for every state change it does, plus calculates and prints out an average state change latency over all the runs.

303

The URL cannot be rendered and the test cannot create an end-to-end, completely connected graph.

Cannot run the graph successfully.

Cannot change the states successfully.

Decoder run to first sample latency is not within expected threshold (in ms). This value can be modified via the <DecodedVideoLatencyRunToFirstSample> tag. The value is specified in ms. Currently set at 300 ms.

See Also

Other Resources

DirectShow Playback and Latency Tests