I have seen that alsa-driver-0.9.0rc1 cs4281.c driver supports only 2 periods.

There exists an unofficial patch for alsa-driver-0.5.12a done by
[EMAIL PROTECTED] I have seen that some parts of it are included in
0.9.0rc1, some are obsolete, but the limit of only 2 periods is not fixed in
0.9.0rc1 (playback). 

Especially snd_cs4281_start_new_dma(cs4281_t *chip, cs4281_dma_t *dma) and
changes to the interrupt handler are not in 0.9.0rc1 (and I believe also not in
CVS).

I am trying to backport it now, but it seems some interfaces have changed.

For exaple what the "pointer" function should return?

I do not understand the following code in alsa-kernel/core/pcm_lib.c:

    new_hw_ptr = runtime->hw_ptr_base + pos;
        
    hw_ptr_interrupt = runtime->hw_ptr_interrupt + runtime->period_size;
        
    delta = hw_ptr_interrupt - new_hw_ptr;
    if (delta > 0) {
        if (delta < runtime->buffer_size / 2) {
            snd_printd("Unexpected hw_pointer value (stream = %i, delta: -%ld,
max jitter = %ld): wrong interrupt acknowledge?\n", substream->stream,
(long) delta, runtime->buffer_size /
2);                                                                                   
return
0;
        }               
        runtime->hw_ptr_base += runtime->buffer_size;
        if (runtime->hw_ptr_base == runtime->boundary)
            runtime->hw_ptr_base = 0;
        new_hw_ptr = runtime->hw_ptr_base + pos;
    }           
    runtime->status->hw_ptr = new_hw_ptr;
    runtime->hw_ptr_interrupt = new_hw_ptr - (runtime->hw_ptr_base + pos) %
runtime->period_size;                                     

Why is runtime->buffer_size the whole buffer or the period size? What is in
bytes, what in frames? Is there any function/field giving size of a single
frame in bytes?

Best regards,
--
Tomasz Motylewski




_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas - 
http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to