BTTV driver & input change

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



	I'm developing a program to record from an infrared camera to check my home 
when I'm away. I have four bt848 on the same PCI card. My kernel is 2.4.18 
(from Slackware) and bttv is the one with it. Everything works right and is 
well-configured.
	Since I had some problems as regards input selections I have a few questions:
Why is there a mdelay(10)  in the function bt848_muxel? Here it is:

static void bt848_muxsel(struct bttv *btv, unsigned int input)
{
	....
	/* This seems to get rid of some synchronization problems */
	btand(~(3<<5), BT848_IFORM);
-->>	mdelay(10); // it's too much to get the 1st right! <<--

	input %= bttv_tvcards[btv->type].video_inputs;
	if (input==bttv_tvcards[btv->type].svhs)
	{
		btor(BT848_CONTROL_COMP, BT848_E_CONTROL);
		btor(BT848_CONTROL_COMP, BT848_O_CONTROL);
	}
	else
	{
		btand(~BT848_CONTROL_COMP, BT848_E_CONTROL);
		btand(~BT848_CONTROL_COMP, BT848_O_CONTROL);
	}
	btaor((bttv_tvcards[btv->type].muxsel[input&7]&3)<<5, ~(3<<5), BT848_IFORM);
	audio(btv, (input!=bttv_tvcards[btv->type].tuner) ? AUDIO_EXTERN : 
AUDIO_TUNER, 1);
	...
}

It should avoid syncro problems but I can catch a correct 1st frame only 
removing it. The little problems I had without it could be removed avoiding 
the use of DMA by my hard disk (some sync() in the right place).
Shouldn't this pause (the mdelay(10)) be selectable (maybe with a flag 
fast/slow change)?
I patched my driver removing it and it's right for me, but nobody else can use 
the program well. It's important because I have two cameras for each bttv and 
I'd like to take 1 frame from one and then 1 from the other.

I'd like to block other program accesses to the disks during the channel 
change and grabbing sequence, releasing it after that. Is there any way of 
doing this? I've already tried changing scheduling modes but the DMA is 
something on the OS side so I don't know how to do it (if I can). This is 
because I'd like to see what has been recorded (with a MPEG viewer) while I'm 
recording.

Thanks for the attention paid!

						Stefano





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux