Re: How should we handle isochronous underruns?

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

 



Ming Lei wrote:
> On Mon, Jul 1, 2013 at 9:27 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
>> Ming Lei wrote:
>>> On Mon, Jul 1, 2013 at 9:06 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
>>>> Ming Lei wrote:
>>>>> I understand the latency is effected by packet count in one URB,
>>>>> and it shouldn't be related with URB count,
>>>>
>>>> This is true only when capturing.  For playback, the latency is the
>>>> length of the entire pipeline.
>>>
>>> For playback, every URB submitted is added into hw table
>>> immediately, then the data will be played to speaker. I don't
>>> understand why the latency is the entire pipeline.
>>
>> A submitted packet will be transmitted only after all the other packets
>> in the pipeline have been transmitted.
>
> Yes, that is always true since EHCI HW will send out data(packet) to
> device one by one at the scheduled frame/uframe according to the
> order of URB submitting , so the USB audio driver can submit URBs
> in advance, can't it?

Latency is defined as the time interval between the software generating
the sample data, and the data actually being played.  When the driver
submits URBs in advance, latency increases accordingly.

(The Linux USB API does not allow changing a URB's buffer after it has
been submitted.)

> Also could you provide the typical time one URB in audio driver may
> span?

Anything between one microframe and twenty milliseconds.  Most software
ends up using eight milliseconds.


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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux