v4l2: set the NO_RATE clock flag

These sources have very inaccurate position/duration/rate information
that is not suitable for use as a clock so set the NO_RATE flag.
This commit is contained in:
Wim Taymans 2024-11-26 17:05:20 +01:00
parent 3f0fe0032f
commit 043245ca11
2 changed files with 4 additions and 0 deletions

View file

@ -360,6 +360,8 @@ static int impl_node_set_io(void *object, uint32_t id, void *data, size_t size)
switch (id) {
case SPA_IO_Clock:
impl->clock = (struct spa_io_clock*)data;
if (impl->clock)
SPA_FLAG_SET(impl->clock->flags, SPA_IO_CLOCK_FLAG_NO_RATE);
break;
case SPA_IO_Position:
impl->position = (struct spa_io_position*)data;

View file

@ -414,6 +414,8 @@ static int impl_node_set_io(void *object, uint32_t id, void *data, size_t size)
switch (id) {
case SPA_IO_Clock:
this->clock = data;
if (this->clock)
SPA_FLAG_SET(this->clock->flags, SPA_IO_CLOCK_FLAG_NO_RATE);
break;
case SPA_IO_Position:
this->position = data;