[Bug 19803] "Fingerprint" is unclear

https://www.w3.org/Bugs/Public/show_bug.cgi?id=19803

--- Comment #13 from Jussi Kalliokoski <jussi.kalliokoski@gmail.com> ---
(In reply to comment #12)
> (In reply to comment #10)
> > I don't see how you're going to maintain that port B - in the enumeration of
> > MIDI ports coming form the underlying hardware, not in the fingerprint
> > stored by the app in local storage - has a modified entropy pool.  Every
> > time you enumerate ports, you're going to start from zero with the
> > fingerprint map - so if A was removed, B will be the "natural fingerprint
> > available" port.  Yes?
> 
> I need to actually try this to be sure, but for example the Windows MIDI API
> has the notion of device ID, which is actually a pointer to a HMIDIIN
> instance, and it seems that even if the port's index has changed, the ID
> stays the same, so you can actually see that port at index something has a
> pointer that's already associated to a fingerprint. But I need to figure out
> if this is true, and if something like this can be done on (at least) all
> desktop platforms. It would be silly if you can't detect whether two midi
> port instances are actually pointing to the same port.

(In reply to comment #11)
> (In reply to comment #9)
> > Actually, I just made an assumption that I'm not sure is valid with all
> > platform MIDI APIs: if you unplug device at index 0 while the application is
> > running, your reference to a device that was in index 1 still works. I can't
> > test this right now, I only have 1 MIDI device home at the moment, does
> > anyone know better?
> 
> I know in Windows MIDI, once you've grabbed a reference to the device (via
> MidiInOpen/MidiInGetID/etc), you have an HMIDIIN or HMIDIOUT handle, which
> doesn't change (should continue to work) - but of course, if you enumerated
> the devices in a list via midiInGetNumDevs(), called midiInGetDevCaps() to
> get the name/etc. BUT NOT A HMIDIIN, THEN disconnected, the list indices are
> going to be off.
> 
> I think it's similar in CoreMIDI - it all depends when you call
> MIDIGetDevice().

Yeah, I just tried with a virtual device and it works like this on Linux/ALSA
as well.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 7 December 2012 23:44:49 UTC