Eric
Eric

Reputation: 19863

How to debug H264 DirectShow filter?

I'm developping a h264 directshow filter.

I have a valid hardware source which outputs NAL units properly. I have a DirectShow filter which advertises h264 and successfully connects to the default windows 7 decoder microsoft dtv-dvd video decoder.

When I connect a renderer to the decoder, the renderer doesn't get any packets, so I assume that the decoder fails to decode my packets properly.

[ h264 Source ] -> [ dtv-dvd decoder ] -> [ enhanced video renderer ]

Is there any way for me to check where the microsoft decoder fails?

Any other info could be helpful

Upvotes: 2

Views: 1776

Answers (1)

PixelRouter
PixelRouter

Reputation: 103

The difficulty you have is that you do not have the code for the dtv-dvd decoder, making it somewhat of a black-box in the pipeline. The fact that your h264 Source can connect to the dtv-dvd decoder means you are off to a good start regarding media format negotiation. To get a better view of what is going wrong I suggest that you swap out the dtv-dvd decoder with one for which you have the source code and then debug your pipeline using GraphEdit or one of the similar tools. I have been doing the same sort of development and have found that once I got the h264 pipeline working properly with one decoder filter, it has generally worked properly with other h264 decoders.

Here are a few options which include source code:

Also, I have found the dtv-dvd filter to be a little finicky. It may be helpful to test using one of the following decoder filters available in binary form :

Upvotes: 3

Related Questions