Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Feb 1998 16:23:41 +0100
From:      Eivind Eklund <eivind@yes.no>
To:        Ian Freislich <iang@iafrica.com>
Cc:        multimedia@FreeBSD.ORG
Subject:   Re: Audio using haupauge wintv card
Message-ID:  <19980215162341.13873@follo.net>
In-Reply-To: <28814.887541272@iafrica.com>; from Ian Freislich on Sun, Feb 15, 1998 at 01:14:32PM %2B0200
References:  <19980214024906.28444@follo.net> <28814.887541272@iafrica.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 15, 1998 at 01:14:32PM +0200, Ian Freislich wrote:
> > > Call me stupid. I presume you mean in /usr/src/sys/pci/brooktree848.c
> > > and these lines:
> > >         /* CARD_HAUPPAUGE */
> > >         { "Hauppauge WinCast/TV",               /* the 'name' */
> > >            NULL,                                /* the tuner */
> > >            0,                                   /* dbx is optional */
> > >            0,
> > >            PFC8582_WADDR,                       /* EEProm type */
> > >            (u_char)(256 / EEPROMBLOCKSIZE),     /* 256 bytes */
> > >            { 0x00, 0x02, 0x01, 0x01, 1 } },     /* audio MUX values */
> >
> > The first one is for the tuner, the second is for the external, etc.
> > Look at the header file.  Each of these select an audio source.
> 
> I surmise that these numbers are channel numbers used by the audio
> mux to select the audio input for the line out. From what I can
> make out, the first is the value is used when the program is set
> to 'Tuner' the second for 'Video' (line in), the third is unused
> and the fourth is the chennel selected when in 'mute'.
> 
> I've deduced the following channel numbers for the audio MUX (I
> seriously doubt that Haupauge would change these assignments from
> version to version):

It wouldn't surprise me.  PC hardware manufacturers do gratious changes all
the time.

Index: brooktree848.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/brooktree848.c,v
retrieving revision 1.28
diff -u -r1.28 brooktree848.c
--- brooktree848.c      1998/02/09 06:10:44     1.28
+++ brooktree848.c      1998/02/14 08:45:59
@@ -2012,6 +2012,11 @@
        case TVTUNER_SETCHNL:
                temp_mute( bktr, TRUE );
                temp = tv_channel( bktr, (int)*(unsigned long *)arg );
+               bktr->card.audiomuxs[0] =
+                   bktr->card.audiomuxs[1] =
+                   bktr->card.audiomuxs[2] =
+                   bktr->card.audiomuxs[3] =
+                   (*(unsigned long *)arg & GPIO_AUDIOMUX_BITS);
                temp_mute( bktr, FALSE );
                if ( temp < 0 )
                        return( EINVAL );

will tie the audio MUX input select to the TV channel selected; see if this
give you audio anywhere.

> Setting the mute channel to 2 passes line in to line out when the
> output is muted. (I'd expect this result.)
> 
> Setting the tuner channel to 2 should pass line in to line out when
> the tuner is selected, but this does not happen. I find this
> surprising. I also tried 0 to 0x0f values for the tuner with no
> success.

That sound extremely strange, yes.  It sound like some of our initialization
may be incomplete.  Amancio, any idea?

> Something that did surprise me about the software was that it could
> select input from 4 sources and not 3 like the FreeBSD driver.
> Namely: tuner, ext 1, ext 2, svideo.

We could support that.  The problem is that these things tend to differ from
card to card; at a max, a single card might support 16 in-devices, so we
_could_ need to add 16 types for each new card discovered...

> Without a circuit diagram or some kind of decent technical
> documentation I'm totally at a loss. The board has one of those
> msp3410 chips on it and a Philips tuner chip whose part number
> escapes me, but which I suspect is part of the audio stage of the
> TV tuner. Does the driver have to program this tuner at all or does
> it know what side-band it should be examining for the audio track?

The MSP3410 is NICAM and radio support.  I have been lent one of these to
write support for; I have the docs, but haven't gotten around to doing any
code yet.

The driver shouldn't have to program more than the Bt848 and the tuner,
AFAIK - but I have not experimented at all on a Hauppauge.  I'll try to
borrow the one my co-worker have for a few days; I doubt I can have it for
long, as he use it as his primary TV.

Eivind.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message



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