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>
This commit is contained in:
Clemens Ladisch 2011-02-25 08:48:22 +01:00 committed by Stefan Richter
parent 9f2e0dac88
commit 728f538340
1 changed files with 2 additions and 4 deletions

View File

@ -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);