diff --git a/dlls/wineqtdecoder/qtsplitter.c b/dlls/wineqtdecoder/qtsplitter.c index 03cc8a9d1f0..9aa6314179d 100644 --- a/dlls/wineqtdecoder/qtsplitter.c +++ b/dlls/wineqtdecoder/qtsplitter.c @@ -884,6 +884,10 @@ static HRESULT QT_Process_Video_Track(QTSplitter* filter, Track trk) int t; DWORD outputWidth, outputHeight, outputDepth; Fixed trackWidth, trackHeight; + Media videoMedia; + long sampleCount; + TimeValue64 duration; + TimeScale timeScale; ZeroMemory(&amt, sizeof(amt)); amt.formattype = FORMAT_VideoInfo; @@ -952,6 +956,12 @@ static HRESULT QT_Process_Video_Track(QTSplitter* filter, Track trk) return E_FAIL; } + videoMedia = GetTrackMedia(trk); + sampleCount = GetMediaSampleCount(videoMedia); + timeScale = GetMediaTimeScale(videoMedia); + duration = GetMediaDisplayDuration(videoMedia); + pvi->AvgTimePerFrame = (100000.0 * sampleCount * timeScale) / duration; + piOutput.dir = PINDIR_OUTPUT; piOutput.pFilter = &filter->filter.IBaseFilter_iface; lstrcpyW(piOutput.achName,szwVideoOut);