wFrameRate of KSPROPERTY_TIMECODE_S not returned to user app

Hi all,

I’ve got a WDM capture driver that supports the KSPROPERTY_TIMECODE_READER
property set that returns the timecode correctly within the dwFrames portion
of the TIMECODE structure but wFrameRate doesn’t seem to be passed back with
the value I filled in.

In my driver I get a pointer to the output buffer to fill in as follows:-

PKSPROPERTY_TIMECODE_S pTimecode =
(PKSPROPERTY_TIMECODE_S)pSPD->PropertyInfo;

I make sure the output buffer is big enough before I return it:-

if (pSPD->PropertyOutputSize >= sizeof(KSPROPERTY_TIMECODE_S))

And then I write to the output buffer after I work out what to return as
follows:-

pTimecode->TimecodeSamp.timecode.dwFrames = dwFrames ;
pTimecode->TimecodeSamp.timecode.wFrameRate = wFrameRate ;
pTimecode->TimecodeSamp.timecode.wFrameFract = 0 ;

For a PAL source I set wFrameRate to ED_FORMAT_SMPTE_25 which should be
0x1198.

In the user app I call the GetTimecode() method of the IAMTimecodeReader
interface on my capture filter/driver. I first initialise a TIMECODE_SAMPLE
structure with unique values, e.g. wFrameRate = 0xDEAD. Then a pointer to
this structure is passed to the GetTimecode() call. After the call the
dwFrames is updated correctly with the correct timecode. However,
wFrameRate is still set to 0xDEAD.

I’ve proven that the output buffer of my driver has wFrameRate set to 0x1198
which corresponds to ED_FORMAT_SMPTE_25 before the driver returns.

The amount of data returned by driver is :-

pSrb->ActualBytesTransferred = sizeof(KSPROPERTY_TIMECODE_S);

I don’t update anything else in this structure within my driver (e.g. I
leave pTimecode->TimecodeSamp.dwFlags alone and indeed this is retuned with
the same value I set in the user app of ED_DEVCAP_TIMECODE_READ which I also
confirm in my app).

Does anyone have any ideas on what’s going wrong?

Thanks,
Emyr

This email and any attachments is confidential, may be legally privileged and is intended for the use of the addressee only. If you are not the intended recipient, please note that any use, disclosure, printing or copying of this email is strictly prohibited and may be unlawful. If received in error, please delete this email and any attachments and confirm this to the sender.