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