In my Bda minidriver, there is a Tunner filter and a Capture filter.
I am supporting PinStateChange property on CaptureOut Pin and AntennaPin (TunnerIn Pin)
When there is a state change from STOP to ACQUIRE, the capture filter allocates resources, and Tunner Filter also completes the transition successfully.
On the next state transition i.e from ACQUIRE to PAUSE, DirectShow sends RF frequency to tune on the Tunner filter. (StartChanges, CheckChanges & CommitChanges method set of Tunner filter).
Then next transition i.e from PAUSE to RUN, I see a delay of few seconds(around 3 to 8) and then right before video appears on AM window, minidriver intercepts KSMETHODSETID_BdaChangeSync method set.
Is this normal operation for Bda minidriver?
Also am not able to figure out the reason for delay of few seconds before video appears, when the state transition of PAUSE to RUN has completed successfully on the capture filter. During the delay, in CaptureOut pin I can get streampointer?s & send data to next filter.
Looking for some tips?..
Thanks,
Maheek
xxxxx@gmail.com wrote:
In my Bda minidriver, there is a Tunner filter and a Capture filter.
I am supporting PinStateChange property on CaptureOut Pin and AntennaPin (TunnerIn Pin)
“Tuner” is spelled with one “n”.
When there is a state change from STOP to ACQUIRE, the capture filter allocates resources, and Tunner Filter also completes the transition successfully.
On the next state transition i.e from ACQUIRE to PAUSE, DirectShow sends RF frequency to tune on the Tunner filter. (StartChanges, CheckChanges & CommitChanges method set of Tunner filter).
Then next transition i.e from PAUSE to RUN, I see a delay of few seconds(around 3 to 8) and then right before video appears on AM window, minidriver intercepts KSMETHODSETID_BdaChangeSync method set.
Is this normal operation for Bda minidriver?
Also am not able to figure out the reason for delay of few seconds before video appears, when the state transition of PAUSE to RUN has completed successfully on the capture filter. During the delay, in CaptureOut pin I can get streampointer?s & send data to next filter.
Looking for some tips?..
In what application are you seeing this? You sometimes get this kind of
delay in Windows Media Center because it has to pipe the data through
the media buffer, although 8 seconds does seem to be very, very long.
Does your tuner report a frequency lock right away? Are your signal
quality properties being read?
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I am seeing this behaviour in GraphEdit.
Does your tuner report a frequency lock right away?
Yes
Are your signal quality properties being read?
No
Any idea on what state transitions does “KSMETHODSETID_BdaChangeSync method set” will be called?
BTW, sorry for extra ‘n’…
xxxxx@gmail.com wrote:
I am seeing this behaviour in GraphEdit.
My experience with Graphedt as a BDA tester has always been
problematic. In theory, it should work just like a TV tuner
application, but I have always seen strange little anomalies. This
could just be my imagination, however.
Any idea on what state transitions does “KSMETHODSETID_BdaChangeSync method set” will be called?
Frequency changes are one thing that are synced this way. You already
said you were handling StartChanges, CheckChanges, and CommitChanges,
right? Those are the methods within KSMETHODSETID_BdaChangeSync. So,
you’re seeing one set of syncs before you go to pause, and one set after
you go to pause?
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
> Frequency changes are one thing that are synced this way. You already
said you were handling StartChanges, CheckChanges, and CommitChanges,
right? Those are the methods within KSMETHODSETID_BdaChangeSync. So,
you’re seeing one set of syncs before you go to pause, and one set after
you go to pause?
Yes, the driver is handling them.
First set of KSMETHODSETID_BdaChangeSync’s comes after state transition from ACQUIRE to PAUSE i.e in PAUSE state.
After state transition from PAUSE to RUN i.e in RUN state, i see secomd set of KSMETHODSETID_BdaChangeSync’s but after a delay of 3 - 8 seconds. Once this second set of sync’s are done, video will appear on AM.