diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2011-02-25 08:48:22 +0100 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2011-02-25 18:42:55 +0100 |
commit | 728f538340cd926ce0d6d757ccee0c165c9e3722 (patch) | |
tree | dcd6e3414216109ae2748d1cce080c9248e0b0a0 | |
parent | 9f2e0dac8852ff661184c2cb8224a9ef0402c25e (diff) | |
download | libraw1394-728f538340cd926ce0d6d757ccee0c165c9e3722.tar.gz |
do not delay iso packet queueing
Libraw1394's attempt to optimize away the packet queueing ioctl syscall
overhead was a little bit too successful: when used with FFADO's
streaming system, it ended up delaying packets after their intended
transmission time.
For now, to ensure correctness, don't try to optimize anything.
This makes FFADO playback on Juju with my DICE work.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r-- | src/fw-iso.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/fw-iso.c b/src/fw-iso.c index 253ce1d..ce1a891 100644 --- a/src/fw-iso.c +++ b/src/fw-iso.c @@ -51,10 +51,8 @@ queue_packet(fw_handle_t handle, if (handle->iso.head + handle->iso.max_packet_size > handle->iso.buffer_end) handle->iso.head = handle->iso.buffer; - /* Queue the packets in the kernel if we filled up the packets - * array or wrapped the payload buffer. */ - if (handle->iso.packet_index == handle->iso.irq_interval || - handle->iso.head == handle->iso.buffer) { + /* queue each packet individually */ + if (1) { queue_iso.packets = ptr_to_u64(handle->iso.packets); queue_iso.size = handle->iso.packet_index * sizeof handle->iso.packets[0]; queue_iso.data = ptr_to_u64(handle->iso.first_payload); |