I started to look into the audio setting issue I mentioned here a couple of weeks ago (thread topic "Audio volume setting: not working - sometimes?"). (9.1, amd64.)
Right away I ran into something I don't understand. The implementation of AUDIO_SETINFO calls audio_file_setinfo with, among other things, a variable called file. file is passed in from the caller, which gets it from KASSERT(fp->f_audioctx); file = fp->f_audioctx; However, I have completely failed to figure out where f_audioctx is set. I find exactly one assignment to f_audioctx in the entire kernel source tree, that being fp->f_audioctx = NULL; f_audioctx is #defined to f_undata.fd_audioctx, but fd_audioctx occurs only twice in the whole tree: struct audio_file *fd_audioctx; // DTYPE_MISC (audio) #define f_audioctx f_undata.fd_audioctx However, the KASSERT, combined with AUDIO_SETINFO doing something, indicates that it clearly is getting set. So, I'm obviously missing something. What? /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B