Mauro Carvalho Chehab wrote:
> I'm getting an weird behavior with em28xx, especially when the device
> is connected into an audio port.
>
>       
> http://git.linuxtv.org/mchehab/experimental.git/blob/refs/heads/em28xx-v4l2-v6:/drivers/media/usb/em28xx/em28xx-audio.c
>
> What happens is that, when I require xawtv3 to use any latency lower
> than 65 ms, the audio doesn't work, as it gets lots of underruns per
> second.

The driver uses five URBs with 64 frames each, so of course it
will not be able to properly handle periods smaller than that.

> FYI, em28xx works at a 48000 KHz sampling rate, and its PM capture Hw
> is described as:
>
> static struct snd_pcm_hardware snd_em28xx_hw_capture = {
>       .info = SNDRV_PCM_INFO_BLOCK_TRANSFER |
>               SNDRV_PCM_INFO_MMAP           |
>               SNDRV_PCM_INFO_INTERLEAVED    |
>               SNDRV_PCM_INFO_BATCH          |
>               SNDRV_PCM_INFO_MMAP_VALID,
>
>       .formats = SNDRV_PCM_FMTBIT_S16_LE,
>
>       .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_KNOT,

This should be just SNDRV_PCM_RATE_48000.

>       .period_bytes_min = 64,         /* 12544/2, */

This is wrong (if the driver doesn't install other constraints on the
period length, like the USB audio class driver does).


Regards,
Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to