[PATCH] echo-cancel: drift compensation timer event now restarts correctly.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Robert,
Thanks for the patch.

On 2 August 2014 05:43, Robert Kolchmeyer <robert.kolchmeyer at gmail.com> wrote:
> The drift compensation timer event now restarts even if the source/sink
> becomes inactive. This allows the drift compensation to work correctly
> when the source/sink becomes active again.
> ---
>  src/modules/echo-cancel/module-echo-cancel.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c
> index 9df2899..bba6a2e 100644
> --- a/src/modules/echo-cancel/module-echo-cancel.c
> +++ b/src/modules/echo-cancel/module-echo-cancel.c
> @@ -346,8 +346,10 @@ static void time_callback(pa_mainloop_api *a, pa_time_event *e, const struct tim
>      pa_assert(u->time_event == e);
>      pa_assert_ctl_context();
>
> -    if (!IS_ACTIVE(u))
> +    if (!IS_ACTIVE(u)){
> +        pa_core_rttime_restart(u->core, u->time_event, pa_rtclock_now() + u->adjust_time);
>          return;
> +    }

The timer is already restarted when the sink or source state changes
to RUNNING (see the state change callbacks a little later on), so this
patch should effectively be a no-op.

Could you describe the problem you're seeing and possibly steps to reproduce it?

Cheers,
Arun


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux