¿Usando cmtime sin redondear?
-
29-10-2019 - |
Pregunta
Estoy escribiendo una aplicación que usa Avfoundation y CMTime. He registrado los valores de mi CMTime
instancias creadas usando CMTimeMake()
. Este valor parece estar redondeado al entero más cercano. necesito un CMTime
instancia con un valor preciso, sin redondeo.
He visto las constantes de redondeo en el CMTime
referencia:
enum {
kCMTimeRoundingMethod_RoundHalfAwayFromZero = 1,
kCMTimeRoundingMethod_RoundTowardZero = 2,
kCMTimeRoundingMethod_RoundAwayFromZero = 3,
kCMTimeRoundingMethod_QuickTime = 4,
kCMTimeRoundingMethod_RoundTowardPositiveInfinity = 5,
kCMTimeRoundingMethod_RoundTowardNegativeInfinity = 6,
kCMTimeRoundingMethod_Default = kCMTimeRoundingMethod_RoundHalfAwayFromZero
};
No hay ningún ejemplo de cómo puedo controlar cuál de estas estrategias se aplica a un CMTime
¿instancia? O, si esta no es la forma correcta, ¿cómo puedo extraer un valor preciso de un CMTime
¿instancia?
Editar:
He encontrado y probado CMTIME_HAS_BEEN_ROUNDED()
. Pasé mi CMTime
instancia a esta función y devuelve No
(indicando que el valor no ha sido redondeado). Entonces, ¿por qué estoy perdiendo precisión?
No hay solución correcta