Loopback
|
Posted: Mon Nov 04, 2024 17:27 Post subject: |
|
|
AkulaBig wrote: | Дело в том, что многие при подсчете продолжительности расчет ведут от округленных секунд, что конечно неправильно. |
Если вести не от округлённых, то получается, что в расчете тайминга мы просто отбрасываем миллисекунды. Что, собственно, и делалось в TimingFormat до всех сентябрьских модификаций (да, там все равно был косячок в округлении до десятых/сотых при наличии спецификаторов %f, но он не связан с округлением до целых секунд, в этом случае миллисекунды отбрасывались).
В вашем Custom эта строка просто обрезает полученное дробное число секунд до меньшего целого, никакого округления не производится:
Code: | Secs := Integer(Duration / 1000); //convert miliseconds to seconds |
Что приводит вывод к старому варианту
AkulaBig wrote: | Этот вариант полностью соответствует отображению MediaInfo, что подтверждаю скрином. |
Разумеется, потому что MediaInfo при форматировании не округляет, а отбрасывает миллисекунды.
AkulaBig wrote: | Опять-же, если сочтете нужным, включите эти изменения в новую версию плагина. |
Посмотрю, но не очень скоро, вижу там много чего.
AkulaBig wrote: | Не порядок, когда есть разночтение с MediaInfo, раз плагин ей пользуется. |
А вот это как раз ни к чему не обязывает, поскольку MediaInfo используется только как источник сырых данных. То, что выводит GUI-версия - это уже отформатированные данные. Единственные данные, которые обязаны быть одинаковы - это полный тайминг вида 00:08:16.526, всё остальное зависит от метода расчета и предпочтений пользователя. |
|