Module: wine Branch: master Commit: deff27e23ee9dca1791501c3ba31a0e6cf042c64 URL: http://source.winehq.org/git/wine.git/?a=commit;h=deff27e23ee9dca1791501c3ba...
Author: Aric Stewart aric@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);