p***@yahoo.com
2007-04-15 20:56:19 UTC
Hello,
I am writing a BDA driver for DVB-T card. For start I have taken a BDA
DDK samples (capture and tuner) and modified them to suite my needs.
To test how the capture filter works with the rest of the graph
(Demux, decoders and renderers) I have made a small stub within
capture filter. This stub reads 2 MB of data from the file, which
contains dump of transport stream. Then, in the Process routine of
output pin of capture filter, I use KsPinGetLeadingEdgeStreamPointer
to get the pointer to the first available streaming frame, fill it
(Leading->StreamHeader->Data) with data from the buffer, set Leading-
For testing purposes I have created a graph in GraphEdit: Network
Provider -> Tuner->Capture->Demux->Audio/Video decoders->Audio/Video
renderers. So far so good. The graph can be fully connected in
graphedit and started. However it does not produce any audio or video.
In the WinDBG I can trace that buffer in the stub is filled with
correct data, I see that Process function of output pin is called,
that state of the output pin is Run, but no video/audio is produced as
a result of the running graph. Can someone help me with this problem?
Can I check somehow that data from my capture filter is actually
transferred to Demux filter?
The functionality of tuner filter is completely stubbed at the moment
- it returns OK on almost all requests. Can it be the source of my
problems?
Thanks in advance,
Pavlo
I am writing a BDA driver for DVB-T card. For start I have taken a BDA
DDK samples (capture and tuner) and modified them to suite my needs.
To test how the capture filter works with the rest of the graph
(Demux, decoders and renderers) I have made a small stub within
capture filter. This stub reads 2 MB of data from the file, which
contains dump of transport stream. Then, in the Process routine of
output pin of capture filter, I use KsPinGetLeadingEdgeStreamPointer
to get the pointer to the first available streaming frame, fill it
(Leading->StreamHeader->Data) with data from the buffer, set Leading-
StreamHeader->DataUsed to the actual amount of copied data and unlock
the pointer (KsStreamPointerUnlock(Leading, TRUE)).For testing purposes I have created a graph in GraphEdit: Network
Provider -> Tuner->Capture->Demux->Audio/Video decoders->Audio/Video
renderers. So far so good. The graph can be fully connected in
graphedit and started. However it does not produce any audio or video.
In the WinDBG I can trace that buffer in the stub is filled with
correct data, I see that Process function of output pin is called,
that state of the output pin is Run, but no video/audio is produced as
a result of the running graph. Can someone help me with this problem?
Can I check somehow that data from my capture filter is actually
transferred to Demux filter?
The functionality of tuner filter is completely stubbed at the moment
- it returns OK on almost all requests. Can it be the source of my
problems?
Thanks in advance,
Pavlo