Aric Stewart : wineqtdecoder: Calculate AvgTimePerFrame for video tracks.

Alexandre Julliard julliard at winehq.org
Mon Jul 22 14:22:46 CDT 2013


Module: wine
Branch: master
Commit: deff27e23ee9dca1791501c3ba31a0e6cf042c64
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=deff27e23ee9dca1791501c3ba31a0e6cf042c64

Author: Aric Stewart <aric at 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);




More information about the wine-cvs mailing list