Functions

Granule calculations

Functions

int kate_granule_shift (const kate_info *ki)
kate_int64_t kate_time_granule (const kate_info *ki, kate_float base, kate_float offset)
int kate_granule_split_time (const kate_info *ki, kate_int64_t granulepos, kate_float *base, kate_float *offset)
kate_float kate_granule_time (const kate_info *ki, kate_int64_t granulepos)
kate_int64_t kate_duration_granule (const kate_info *ki, kate_float duration)
kate_float kate_granule_duration (const kate_info *ki, kate_int64_t duration)

Function Documentation

kate_int64_t kate_duration_granule ( const kate_info ki,
kate_float  duration 
)

Converts a duration to a granule duration

Parameters:
ki the kate_info structure describing the granule encoding setup
duration the duration in seconds to convert to a granulepos offset
Returns:
>=0 the time corresponding to the granulepos
KATE_E_* error

References kate_info::gps_denominator, and kate_info::gps_numerator.

Referenced by kate_encode_finish(), kate_encode_keepalive(), kate_encode_repeat(), and kate_encode_text().

kate_float kate_granule_duration ( const kate_info ki,
kate_int64_t  duration 
)

Converts a granule offset position to a time in seconds.

Parameters:
ki the kate_info structure describing the granule encoding setup
duration the granulepos offset to convert to a time
Returns:
>=0 the time corresponding to the granulepos offset
KATE_E_* error

References kate_info::gps_denominator, and kate_info::gps_numerator.

int kate_granule_shift ( const kate_info ki  ) 

Returns the granule shift for the given stream

Parameters:
ki the kate_info structure describing the granule encoding setup
Returns:
>=0 the granule shift
KATE_E_* error

References kate_info::granule_shift.

int kate_granule_split_time ( const kate_info ki,
kate_int64_t  granulepos,
kate_float *  base,
kate_float *  offset 
)

Converts a granule position to a base+offset time representation in seconds.

Parameters:
ki the kate_info structure describing the granule encoding setup
granulepos the granulepos to convert to a time representation
base a pointer where to store the base part of the time corresponding to the granulepos
offset a pointer where to store the offset part of the time corresponding to the granulepos
Returns:
0 success
KATE_E_* error

References kate_info::gps_denominator, kate_info::gps_numerator, and kate_info::granule_shift.

Referenced by kate_granule_time().

kate_float kate_granule_time ( const kate_info ki,
kate_int64_t  granulepos 
)

Converts a granule position to a time in seconds.

Parameters:
ki the kate_info structure describing the granule encoding setup
granulepos the granulepos to convert to a time
Returns:
>=0 the time corresponding to the granulepos
KATE_E_* error

References kate_granule_split_time().

kate_int64_t kate_time_granule ( const kate_info ki,
kate_float  base,
kate_float  offset 
)

Converts a base/offset pair in seconds to a granule position

Parameters:
ki the kate_info structure describing the granule encoding setup
base the base time in seconds to convert
offset the time offset in seconds to convert
Returns:
>=0 the granule corresponding to the base/offset pair
KATE_E_* error

References kate_info::gps_denominator, kate_info::gps_numerator, kate_info::granule_shift, and KATE_E_LIMIT.