Commit dc7fff37 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

libvlc_clock, libvlc_delay: expose LibVLC clock for audio sync

parent 6a45dac7
...@@ -448,6 +448,34 @@ LIBVLC_API ...@@ -448,6 +448,34 @@ LIBVLC_API
libvlc_module_description_t *libvlc_video_filter_list_get( libvlc_instance_t *p_instance ); libvlc_module_description_t *libvlc_video_filter_list_get( libvlc_instance_t *p_instance );
/** @} */ /** @} */
/** \defgroup libvlc_clock LibVLC time
* These functions provide access to the LibVLC time/clock.
* @{
*/
/**
* Return the current time as defined by LibVLC. The unit is the microsecond.
* Time increases monotonically (regardless of time zone changes and RTC
* adjustements).
* The origin is arbitrary but consistent across the whole system
* (e.g. the system uptim, the time since the system was booted).
* \note On systems that support it, the POSIX monotonic clock is used.
*/
LIBVLC_API
int64_t libvlc_clock(void);
/**
* Return the delay (in microseconds) until a certain timestamp.
* \param pts timestamp
* \return negative if timestamp is in the past,
* positive if it is in the future
*/
static inline int64_t libvlc_delay(int64_t pts)
{
return pts - libvlc_clock();
}
/** @} */ /** @} */
# ifdef __cplusplus # ifdef __cplusplus
......
...@@ -238,3 +238,8 @@ libvlc_module_description_t *libvlc_video_filter_list_get( libvlc_instance_t *p_ ...@@ -238,3 +238,8 @@ libvlc_module_description_t *libvlc_video_filter_list_get( libvlc_instance_t *p_
{ {
return libvlc_module_description_list_get( p_instance, "video filter2" ); return libvlc_module_description_list_get( p_instance, "video filter2" );
} }
int64_t libvlc_clock(void)
{
return mdate();
}
...@@ -25,6 +25,7 @@ libvlc_audio_set_mute ...@@ -25,6 +25,7 @@ libvlc_audio_set_mute
libvlc_audio_set_track libvlc_audio_set_track
libvlc_audio_set_volume libvlc_audio_set_volume
libvlc_audio_toggle_mute libvlc_audio_toggle_mute
libvlc_clock
libvlc_event_attach libvlc_event_attach
libvlc_event_detach libvlc_event_detach
libvlc_event_manager_new libvlc_event_manager_new
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment