Ticket #128 (closed bug: fixed)

Opened 13 years ago

Last modified 13 years ago

The filename of the cache should not include the ieee1394 bus/node number

Reported by: slack Assigned to:
Priority: minor Milestone: FFADO 2.0
Component: Version: FFADO 2.0-beta5.2 (1.999.34)
Keywords: Cc:
The device the bug applies to:

Description

I noticed that there are a lot of files in the cache subdirectory of my device.

Obviously the sample rate is part of the name, which seems ok because at different sample rates some devices change their operation mode (e.g. at 192k my device operates only in analog mode).

But I don't see any reason that the ieee1394 bus/node is also contained in the file name.

To show you what I mean, two examples:

Device has node id 0:

Cache file: $HOME/.ffado/cache/<GUID>/0000000000030404.xml

Device has node id 1:

Cache file: $HOME/.ffado/cache/<GUID>/0000000000030c04.xml

Just unplugging and replugging my device a few times shows that the assigned node id is completely random and it seems logical to me that the same cache is used in this case.

If I have not missed something this should also work if multiple devices of the same type are connected at the same time because each device uses its own <GUID> subdirectory.

Change History

06/02/08 00:42:33 changed by ppalmers

  • type changed from discussion to bug.

I don't see anything in the code that indicates the use of the node id in the cache path. So we'll have to investigate why this is happening.

The field that seems to depend on the node-id should contain the sum of the number of channels available from input and output. In r1242 I've changed the id generation to keep the nb of input and output channels separated such that we can check which one causes this behavior.

06/02/08 12:05:58 changed by slack

I have compared level 10 debug logs and found that the "nodeid" is used for building the SubunitPlugAddress? sometimes in bebob_avdevice.cpp.

1) in AvDevice::probe()

2) in AvDevice::getConfigurationIdNumberOfChannel()

I also noticed in AvDevice::getConfigurationIdSampleRate() that only the constant value zero is filled in.

06/02/08 13:24:17 changed by ppalmers

Good catch!

I fixed this in r1243. Can you check whether this solves the issue?

Thanks!

06/03/08 10:34:01 changed by slack

Thank you, works now.

And sorry, in my first post I described the situation in the wrong way.

In case these strange values from the device have any useful meaning I summarize the correct situation again:

Device has node id 0:

Before r1242: $HOME/.ffado/cache/<GUID>/0000000000030c04.xml

After r1242: $HOME/.ffado/cache/<GUID>/0000000003050704.xml

Device has node id 1:

Before: $HOME/.ffado/cache/<GUID>/0000000000030404.xml

After: $HOME/.ffado/cache/<GUID>/0000000003020204.xml

06/05/08 00:58:30 changed by ppalmers

  • status changed from new to closed.
  • resolution set to fixed.