> John,
> 
> I installed ivtv 0.3.6y with your patch (ivtv-0.3.6y.diffs) and
> ivtvdev_drv.o 0.10.4 last night. I tried watching a movie in MythVideo and
> was able to get sound but no picture (I made sure that I played a MPEG2
> recording first to initialize the driver). After attempting to watch the
> video, I tried watching an MPEG2 recording in MythTV and got a moving
> picture with no sound for a few seconds before the recording froze. This
> didn't crash my system and I was able to exit out of MythTV. However, I
> did have to reboot to get MythTV working again. Version 0.10.2 was working
> fine for me with ivtv 0.3.6x. I reverted back to 0.10.2 but now I get
> flickering video and sound with the 0.3.6y patched ivtv driver. I have
> attached my Xorg.log for you to see. I don't know how helpful it will be.
> I am in NTSC land.
> 
> I also noticed something in your patch that differed from Rob Hardy's fix
> to his own original patch (it's in the positioning of the
> DECLARE_WAITQUEUE statement). I don't know what affect this has but I
> thought I would bring it to your attention.
> 
> Your patch (ivtv-0.3.6y.diffs):
> diff -r -u ivtv-0.3.6y/driver/ivtv-streams.c
> ivtv-0.3.6y.new/driver/ivtv-streams.c
> --- ivtv-0.3.6y/driver/ivtv-streams.c 2005-06-29 13:27:26.000000000 +0100
> +++ ivtv-0.3.6y.new/driver/ivtv-streams.c     2005-07-10
> 21:51:05.000000000 +0100
> @@ -1321,11 +1321,11 @@
>       int stopmode;
>       u32 data[IVTV_MBOX_MAX_DATA], result;
>       int thread_to_stop = 0;
> +     DECLARE_WAITQUEUE(wait, current);
>  
>       if (st == NULL)
>               return -EINVAL;
>  
> -     DECLARE_WAITQUEUE(wait, current);
>  
>       /* This function assumes that you are allowed to stop the capture
>          and that we are actually capturing */
> 
> Rob Hardy's fix (ivtv-0.3.6y-fix-interruptible-and-warning.patch.bz2):
> diff -urNbBp ivtv-0.3.6y/driver/ivtv-kthreads.c.orig
> ivtv-0.3.6y/driver/ivtv-kthreads.c 
> --- ivtv-0.3.6y/driver/ivtv-kthreads.c.orig 2005-07-05 10:09:09.000000000
> -0400 
> +++ ivtv-0.3.6y/driver/ivtv-kthreads.c 2005-07-09 13:54:47.000000000 -0400
> 
> @@ -153,7 +153,6 @@ static int ivtv_dualwatch_kthread(void * 
> ivtv_dualwatch_init_kthread(ivtv); 
> 
> for (;;) { 
> - interruptible_sleep_on_timeout(&kthread->queue, HZ); 
> prepare_to_wait(&kthread->queue, &wait, TASK_INTERRUPTIBLE); 
> schedule_timeout(HZ); 
> finish_wait(&kthread->queue, &wait); 
> diff -urNbBp ivtv-0.3.6y/driver/ivtv-streams.c.orig
> ivtv-0.3.6y/driver/ivtv-streams.c 
> --- ivtv-0.3.6y/driver/ivtv-streams.c.orig 2005-07-09 14:00:58.000000000
> -0400 
> +++ ivtv-0.3.6y/driver/ivtv-streams.c 2005-07-09 14:00:58.000000000 -0400 
> @@ -1313,6 +1313,7 @@ int ivtv_stop_all_captures(struct ivtv * 
> 
> int ivtv_stop_capture(struct ivtv *itv, int type) 
> { 
> + DECLARE_WAITQUEUE(wait, current); 
> struct ivtv_stream *st = ivtv_stream_safeget( 
> "ivtv_stop_capture", itv, type); 
> int cap_type; 
> @@ -1325,8 +1326,6 @@ int ivtv_stop_capture(struct ivtv *itv, 
> if (st == NULL) 
> return -EINVAL; 
> 
> - DECLARE_WAITQUEUE(wait, current); 
> - 
> /* This function assumes that you are allowed to stop the capture 
> and that we are actually capturing */ 
> 
> Thanks again for all your hard work.
> 
> Jim
> 
>  <<Xorg.0.log.bz2>> 

Attachment: Xorg.0.log.bz2
Description: Binary data



Reply via email to