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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top