diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2023-08-19 12:07:52 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2023-08-19 12:11:09 -0700 |
commit | 0a8088b3b34f9efed3f8905969a1d16bfd485a65 (patch) | |
tree | eb2351a55afca110d9286c042b0cc0e95d49a4d8 /src/modules | |
parent | de5a8a689915bc5918097168a172e11ad1059c3f (diff) |
til_stream: set frame in til_stream_pipe_set_driving_tap()
This needs the stream pulled in so the signature changed to
accomodate that.
Also modules/rkt was calling this conditionally which won't be
compatible with the per-frame driver race model, so always call
it to maintain the driving position every frame.
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/rkt/rkt.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/modules/rkt/rkt.c b/src/modules/rkt/rkt.c index ab55d0f..82dff44 100644 --- a/src/modules/rkt/rkt.c +++ b/src/modules/rkt/rkt.c @@ -202,9 +202,12 @@ static int rkt_pipe_update(void *context, til_stream_pipe_t *pipe, const void *o return 0; } + /* TODO: it would be nice if we could just use the same til_stream_tap() API as everything + * else does. til_stream_pipe_set_driving_tap() shouldn't really be necessary, since rkt'd + * _always_ win the race to drive for pipes under rkt's purview. + */ rkt_pipe->tap.inactive = 0; - if (driving_tap != &rkt_pipe->tap) - til_stream_pipe_set_driving_tap(pipe, &rkt_pipe->tap); + til_stream_pipe_set_driving_tap(ctxt->til_module_context.stream, pipe, &rkt_pipe->tap); /* otherwise get the current interpolated value from the rocket track @ owner_foo->track * to update owner_foo->var.[fd], which _should_ be the driving tap. |