the problem is not the cx23416, but the cx23415.

I never had problems with my PVR250 (cx23416) changing channels or inputs. But 
the PVR350 (cx23415) had freezes and a flickering problem (see 
http://www.gossamer-threads.com/lists/ivtv/devel/32970)

Hans fixed the freezing problems, with the result that now we must stop the 
encoder when changing inputs or switching  between TV/radio while on tuner 
input. 

My first solution for the pvrinput-plugin (vdr) was to stop the encoder only 
when it was necessary. For switching between TV channels I used the faster 
pause/resume or the let the encoder run.  I also tested black video during 
channel switches, using CX2341X_ENC_MUTE_VIDEO (like it is done during radio 
captures). 

After a lot of tests I found out that the only reliable solution against 
flickering with cx23415  is to stop the encoder before every channel switch 
and restart it after tuning is done.  With the current ivtv driver in v4l-dvb 
hg stopping and starting the encoder works very fast. It also makes channels 
switching smoother, because we don`t see the tuning interferences.

With the 1.x driver I let the application do the following:
-delete the read thread
-call V4L2_ENC_CMD_STOP
-change inputs and/or tune
-call V4L2_ENC_CMD_START
-create a new read thread

with ivtv 0.10 it is a bit more tricky, because the stop/start ioctls 
(VIDIOC_STREAMON/OFF)  doesn`t work properly according to Hans.
-delete the read thread
-close device
-reopen device
-change inputs and/or tune
-create a new read thread
The encoder will stop and start automatically

_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to