v4l2: use dll to track rate difference

Track the difference between the configured and real framerate and use
that as the rate correction to adjust the next_nsec clock field.
This commit is contained in:
Wim Taymans 2024-11-26 17:14:26 +01:00
parent 043245ca11
commit 41e35c7b17
5 changed files with 40 additions and 5 deletions

View file

@ -16,6 +16,7 @@
#include <spa/utils/keys.h>
#include <spa/utils/names.h>
#include <spa/utils/string.h>
#include <spa/utils/dll.h>
#include <spa/monitor/device.h>
#include <spa/node/node.h>
#include <spa/node/io.h>
@ -147,6 +148,8 @@ struct impl {
struct spa_io_clock *clock;
struct spa_latency_info latency[2];
struct spa_dll dll;
};
#define CHECK_PORT(this,direction,port_id) ((direction) == SPA_DIRECTION_OUTPUT && (port_id) == 0)