tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Where's f_audioctx set?



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		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index