stream: add pw_stream_get_nsec() to get current time

Make a method to get the current time to compare agains the pw_time-now
field. This is currently CLOCK_MONOTONIC but make this into a method
so that we can more easily change it later.
This commit is contained in:
Wim Taymans 2024-03-04 12:59:26 +01:00
parent 81d8ecf0dc
commit f4e391dd41
16 changed files with 53 additions and 58 deletions

View file

@ -325,11 +325,16 @@ static void clear_sdp_info(struct sdp_info *info)
spa_zero(*info);
}
static void session_touch(struct session *sess)
static uint64_t get_time_nsec(struct impl *impl)
{
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
sess->timestamp = SPA_TIMESPEC_TO_NSEC(&ts);
return SPA_TIMESPEC_TO_NSEC(&ts);
}
static void session_touch(struct session *sess)
{
sess->timestamp = get_time_nsec(sess->impl);
}
static void session_free(struct session *sess)
@ -791,11 +796,9 @@ static void on_timer_event(void *data, uint64_t expirations)
{
struct impl *impl = data;
struct session *sess, *tmp;
struct timespec ts;
uint64_t timestamp, interval;
clock_gettime(CLOCK_MONOTONIC, &ts);
timestamp = SPA_TIMESPEC_TO_NSEC(&ts);
timestamp = get_time_nsec(impl);
interval = impl->cleanup_interval * SPA_NSEC_PER_SEC;
update_ts_refclk(impl);