[pvrusb2] [patch] fix black screen after encoder start (saa7115)
martin.dauskardt at gmx.de
Tue Jan 26 02:50:43 CST 2010
> From: Mike Isely <isely at isely.net>
> It looks like what you're trying to do is to delay starting of the mpeg
> encoder until the video decoder (i.e. saa7115) has run for at least
> 300msec, right?
yes, that seems to be the best place. It should also work if the delay is
placed directly at the beginning of pvr2_encoder_start in pvrusb2-encoder.c
> Causing the state machine to freeze for 300msec right
> after the video decoder is started will have that effect.
> I'd like to restructure this patch. The driver uses a non-blocking
> event oriented approach via a state machine when controlling the video
> pipeline - sleep style operations are normally not done. So to create
> the effect of this patch, the code which calls this function to start
> the saa7115 streaming just needs to not set the "yes the decoder is
> working flag" until 300msec later. That can be done without blocking
> anything, via an adjustment of the state machine which I can set up.
> Then the other various things should work properly.
I think every delay of 300ms at this place would help, no matter how it is
done. Give me a patch with your solution and I will test it.
> Also, if this fix is specific to the saa7115 then it should be keyed
> against PVR2_CLIENT_ID_SAA7115 rather than "everything but
> PVR2_CLIENT_ID_CX25840" (minor detail).
yes, this is obviously better.
More information about the pvrusb2