Thanks! Very interesting.

Can other people test this patch and see if it solves the tinny audio 
problems? (without introducing new problems :-)

Thanks,

        Hans

On Thursday 21 September 2006 06:32, Argus wrote:
> Like many people with PVR150/500 cards, I've been plagued by fuzzy
> sound when capturing with Myth 0.19.5 while using composite/s-video
> with audio line-in. I am running ivtv-0.4.6 on a stock Ubuntu distro
> with a Hauppauge PVR150 capture card.
>
> Anyone interested can read the history and cooperative debugging
> effort here:
>
>   http://www.mythtvtalk.com/forum/viewtopic.php?t=2690
>
> The attached patch seems to completely clear up the audio issues for
> me. I imagine the patch could easily be adjusted for later versions
> of ivtv ...
>
> The patch is to ivtv_init_digitizer() in ivtv-streams.c.
>
> Empirically, it appears that putting a delay between turning off the
> decoder stream and initialising the decoder inputs, at least for the
> PVR150 card, seems to stabilise the audio stream in the decoder. I'm
> not quite sure why this works, but at least for my equipment it
> does. I'm presuming that the 50ms delay is giving the decoder
> stream enough time to fully turn off before trying to initialise the
> inputs (or possibly before turning the stream back on) and therefore
> stabilize the audio stream. I imagine the timing delay here would be
> safe enough for all supported cards, though I am unable to test
> this. I'd be interested if anyone else has any ideas why this delay
> might be necessary for these particular cards.
>
> Additionally, and again through empirical testing, I also had success
> by removing the decoder stream control completely from this function;
> however, I imagine that while it works OK for the PVR150, such a
> drastic manoeuvre would affect other supported cards. As another
> option, I suppose, one might be able to avoid the nasty timing delay
> if one selectively disabled the decoder stream STREAMOFF/ON controls
> for PVR150/500 cards only.
>
> If the patch is deemed safe for the general case, it would also be
> nice to see this resolved in the ivtv codebase. Is there any further
> process involved to submit these kinds of changes to ivtv?
>
> --------------------------------------------------------------------
> The patch (against ivtv-0.4.6 release snapshot):
> --------------------------------------------------------------------
>
> diff -Naur ivtv-0.4.6/driver/ivtv-streams.c
> ivtv-0.4.6-stream-timeout/driver/ivtv-streams.c ---
> ivtv-0.4.6/driver/ivtv-streams.c      2006-05-24 06:09:17.000000000 -0400
> +++ ivtv-0.4.6-stream-timeout/driver/ivtv-streams.c   2006-09-20
> 00:02:48.000000000 -0400 @@ -789,6 +789,9 @@
>          IVTV_DEBUG_INFO("Disabling digitizer\n");
>       itv->card->video_dec_func(itv, VIDIOC_STREAMOFF, &dummy);
>
> +     /* give PVR150/500 cards 50ms to shut down the decoder stream */
> +     ivtv_sleep_timeout(HZ / 20, 0);
> +
>          /* initialize or refresh input */
>          if (atomic_read(&itv->capturing) == 0)
>                  ivtv_vapi(itv, IVTV_API_INITIALIZE_INPUT, 0);
>
>
> _______________________________________________
> ivtv-devel mailing list
> ivtv-devel@ivtvdriver.org
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel

_______________________________________________
ivtv-devel mailing list
ivtv-devel@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to