Hi,
I've taken a look again at the usbmon logs I posted some years ago.
It seems that by switching the sync source you essentially tell the FTU to use a different altsetting for iface 2:
Switching "Sync Source" from "Internal" to "External" (see last line):
ffff8800662a60c0 3325542111 S Co:1:006:0 s 01 0b 0000 0001 0000 0 ffff8800662a60c0 3325543386 C Co:1:006:0 0 0 ffff88009159e740 3325594872 S Co:1:006:0 s 01 0b 0000 0002 0000 0 ffff88009159e740 3325596263 C Co:1:006:0 0 0 ffff8800a00d0900 3325633405 S Co:1:006:0 s 01 0b 0001 0001 0000 0 ffff8800a00d0900 3325633637 C Co:1:006:0 0 0 ffff88009159e440 3325644251 S Co:1:006:0 s 01 0b 0002 0002 0000 0
Switching "Sync Source" from "External" to "Internal" (see last line):
ffff8800a00d0480 3349133460 S Co:1:006:0 s 01 0b 0000 0001 0000 0 ffff8800a00d0480 3349134696 C Co:1:006:0 0 0 ffff88009159e740 3349186489 S Co:1:006:0 s 01 0b 0000 0002 0000 0 ffff88009159e740 3349187696 C Co:1:006:0 0 0 ffff88009159e440 3349239544 S Co:1:006:0 s 01 0b 0001 0001 0000 0 ffff88009159e440 3349239823 C Co:1:006:0 0 0 ffff8800a00d0900 3349255385 S Co:1:006:0 s 01 0b 0001 0002 0000 0
If I haven't missed something we can achieve this by adding a quirk hook to either find_format() or set_format() in pcm.c.
Daniel, can you think of a generic way to do this?
(Note to all: can't test anything on this topic because I don't have a S/PDIF device here.)
BTW, has anybody tested the mixer patch I posted a couple of days ago?
Regards,
Felix