[alsa-devel] Timer instability
Clive Messer
clive at vacuumtube.org.uk
Wed Feb 25 18:36:24 CET 2009
On Wednesday 25 Feb 2009 16:59:48 Takashi Iwai wrote:
> Oops, sorry, pasted a wrong version.
> Here it is.
>
>
> thanks,
>
> Takashi
> ---
> diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
> index e9ce092..5211d1c 100644
> --- a/src/pcm/pcm_hw.c
> +++ b/src/pcm/pcm_hw.c
> @@ -131,6 +131,10 @@ struct timespec snd_pcm_hw_fast_tstamp(snd_pcm_t *pcm)
> static int sync_ptr1(snd_pcm_hw_t *hw, unsigned int flags)
> {
> int err;
> + long old_hwptr, new_hwptr;
> + long old_applptr, new_applptr;
> + old_hwptr = hw->sync_ptr->s.status.hw_ptr;
> + old_applptr = hw->sync_ptr->c.control.appl_ptr;
> hw->sync_ptr->flags = flags;
> err = ioctl((hw)->fd, SNDRV_PCM_IOCTL_SYNC_PTR, (hw)->sync_ptr);
> if (err < 0) {
> @@ -138,6 +142,11 @@ static int sync_ptr1(snd_pcm_hw_t *hw, unsigned int
> flags) SYSMSG("SNDRV_PCM_IOCTL_SYNC_PTR failed");
> return err;
> }
> + new_hwptr = hw->sync_ptr->s.status.hw_ptr;
> + new_applptr = hw->sync_ptr->c.control.appl_ptr;
> + printf("sync_ptr1: %ld(%ld), %ld(%ld)\n",
> + new_hwptr, new_hwptr - old_hwptr,
> + new_applptr, new_applptr - old_applptr);
> return 0;
> }
>
Takashi,
Applied, but I'm not getting any "sync_ptr1: .... " logging on stdout. Any
ideas?
Regards
Clive
--
Clive Messer <clive at vacuumtube.org.uk>
More information about the Alsa-devel
mailing list