Простая часть: double
в секундах, а REFERENCE_TIME
в единицах по 100 нс. Следовательно, преобразование просто: кратно или делится на 1E+7
.
Не все так просто: вы фиксируете некоторое время в граббере на одном графике фильтра, а данные метки времени в своем фильтре на другом графике. На обоих графиках есть отметки времени, указывающие время потоковой передачи / представления , что относительно графика «время выполнения». То есть, когда образец мультимедиа передается между графиками, может также иметь место смещение отметки времени.
Что касается времени окончания, то для отсчетов мультимедиа время окончания отсчетов может быть опущено или установлено равным времени начала; время остановки звука обычно вычисляется путем добавления времени начала к данным полезной нагрузки, которые хранятся в буфере.
Чтение бонусов на MSDN: Время и часы в DirectShow