I am writing a directshow source filter to read a specific raw file, the raw file contains timestamp(utc time) in each frame
My filter is modified from Microsoft SDK's "Push Source Filters Sample", so the most important thing is to overwrite GetMediaType(), DecideBufferSize() and FillBuffer().
My question is in the FillBuffer(IMediaSample *pSample). I don't know how to correctly call pSample->SetTime() in this function, because timestamp start from a large number, the frame will wait until StreamTime reach the timestamp.
The problem can be solved by substract an offset on each frame, but I need the original timestamp in downstream filter(SampleGrabber)
Is there a better solution?