Module: wine Branch: master Commit: deff27e23ee9dca1791501c3ba31a0e6cf042c64 URL: http://source.winehq.org/git/wine.git/?a=commit;h=deff27e23ee9dca1791501c3ba... Author: Aric Stewart <aric(a)codeweavers.com> Date: Mon Jul 15 13:04:42 2013 -0500 wineqtdecoder: Calculate AvgTimePerFrame for video tracks. --- dlls/wineqtdecoder/qtsplitter.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/dlls/wineqtdecoder/qtsplitter.c b/dlls/wineqtdecoder/qtsplitter.c index 03cc8a9..9aa6314 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);