Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Mar 1997 13:27:08 -0700
From:      Steve Passe <smp@csn.net>
To:        Randall Hopper <rhh@ct.picker.com>
Cc:        multimedia@freebsd.org
Subject:   Re: FXTV v0.3.1 
Message-ID:  <199703222027.NAA11610@Ilsa.StevesCafe.com>
In-Reply-To: Your message of "Sat, 22 Mar 1997 13:03:59 EST." <19970322130359.59843@ct.picker.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> BTW, this is a small thing, but I noticed that the driver doesn't preserve
> the mute state across channel, frequency, and input device changes.  Might
> be nice if it did in a future version, but for now I've accounted for this
> by reseting mute state after setting one of these three parameters.

I don't understand why TVTUNER_SETFREQ would be a problem, the audio
support for that ioctl() isn't enabled (AUDIO_SUPPORT_XXX).  The others
definately act as described.  below are changes to fix the problem.
The added tsleep() in TVTUNER_SETCHNL removes the 'click' when changing
channels, not sure if this is the correct way to do it, comments welcome.
for the input device changes I just removed the calls to MUTE/UNMUTE,
they were really redundant and no 'click' occurs without them.

forgive lack of a formal patch, I have so many pending versions lying around
I'm not sure what to patch to....

brooktree848.c:
---
	case TVTUNER_SETCHNL:
#if defined( AUDIO_SUPPORT )
		tmp_int = bktr->audio_mute_state;
		set_audio( bktr, AUDIO_MUTE );		/* prevent 'click' */
		tsleep((caddr_t)bktr, PZERO, "tuning", hz/8 );
#endif /* AUDIO_SUPPORT */
		temp = tv_channel( bktr, (int)*(unsigned long *)arg );
#if defined( AUDIO_SUPPORT )
		tsleep((caddr_t)bktr, PZERO, "tuning", hz/8 );
		if ( tmp_int == FALSE )
			set_audio( bktr, AUDIO_UNMUTE );
#endif /* AUDIO_SUPPORT */
		if ( temp < 0 )
			return EINVAL;
		*(unsigned long *)arg = temp;
		break;

---
		case METEOR_INPUT_DEV0:
 ...
#if defined( AUDIO_SUPPORT )
			set_audio( bktr, AUDIO_EXTERN );
#endif /* AUDIO_SUPPORT */

---
		case METEOR_INPUT_DEV1:
 ...
#if defined( AUDIO_SUPPORT )
			set_audio( bktr, AUDIO_TUNER );
#endif /* AUDIO_SUPPORT */

---
		case METEOR_INPUT_DEV2:
		case METEOR_INPUT_DEV_SVIDEO:
 ...
#if defined( AUDIO_SUPPORT )
			set_audio( bktr, AUDIO_EXTERN );
#endif /* AUDIO_SUPPORT */


--
Steve Passe	| powered by 
smp@csn.net	|            Symmetric MultiProcessor FreeBSD




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703222027.NAA11610>