Not able to switch off comment for blind people in splitted Stereo Signal
Commit Message
Klaus Schmidinger wrote:
> Tomahawk wrote:
> > I just switched over the german channel ARD showing a movie in 2 Channel
> > Audio.
> >
> > Channel A the normal Movie Audio
> > Channel B the Audio for blind people
> >
> > Though I tried to switch it in the Audio Menu (Cursors left right for
> > left and right channel) nothing changed I always had to listen to the
> > descriptive Audio for blind people too.
> > Because my digital audio receiver has no possibility to switch between
> > channel a or b.
> >
> > Shouldn't there be something implemented to switch the Audio Channel on
> > TV channles choosing not to use two audio pids for splitting the audio
> > modes but by splitting the Stereo Signal.
>
> I'd say the ARD has screwd up things.
> They aren't broadcasting this correctly.
Unfortunately, DVB standards are too difficult to implement for most
channels. :P
If you own a FF card with Crystal audio chip [*], you may try this patch:
It will switch the *analog* output of the sound chip to L/stereo/R mode,
which will even work if data is not encoded correctly.
[*] FF DVB-S Cards with Crystal chip:
- rev 1.5
- rev 1.6
- some rev 2.1 boards
- rev 2.2
- rev 2.3
Oliver
Comments
Oliver Endriss wrote:
> Klaus Schmidinger wrote:
>
>>Tomahawk wrote:
>>
>>>I just switched over the german channel ARD showing a movie in 2 Channel
>>>Audio.
>>>
>>>Channel A the normal Movie Audio
>>>Channel B the Audio for blind people
>>>
>>>Though I tried to switch it in the Audio Menu (Cursors left right for
>>>left and right channel) nothing changed I always had to listen to the
>>>descriptive Audio for blind people too.
>>>Because my digital audio receiver has no possibility to switch between
>>>channel a or b.
>>>
>>>Shouldn't there be something implemented to switch the Audio Channel on
>>>TV channles choosing not to use two audio pids for splitting the audio
>>>modes but by splitting the Stereo Signal.
>>
>>I'd say the ARD has screwd up things.
>>They aren't broadcasting this correctly.
>
>
> Unfortunately, DVB standards are too difficult to implement for most
> channels. :P
>
> If you own a FF card with Crystal audio chip [*], you may try this patch:
>
> diff -p -u -r1.15 av7110_av.c
> --- linux/drivers/media/dvb/ttpci/av7110_av.c 17 Mar 2005 03:16:11 -0000 1.15
> +++ linux/drivers/media/dvb/ttpci/av7110_av.c 26 Mar 2005 02:38:29 -0000
> @@ -1230,14 +1236,20 @@ static int dvb_audio_ioctl(struct inode
> switch(av7110->audiostate.channel_select) {
> case AUDIO_STEREO:
> audcom(av7110, AUDIO_CMD_STEREO);
> + if (av7110->adac_type == DVB_ADAC_CRYSTAL)
> + i2c_writereg(av7110, 0x20, 0x02, 0x49);
> break;
>
> case AUDIO_MONO_LEFT:
> audcom(av7110, AUDIO_CMD_MONO_L);
> + if (av7110->adac_type == DVB_ADAC_CRYSTAL)
> + i2c_writereg(av7110, 0x20, 0x02, 0x4a);
> break;
>
> case AUDIO_MONO_RIGHT:
> audcom(av7110, AUDIO_CMD_MONO_R);
> + if (av7110->adac_type == DVB_ADAC_CRYSTAL)
> + i2c_writereg(av7110, 0x20, 0x02, 0x45);
> break;
>
> default:
>
>
> It will switch the *analog* output of the sound chip to L/stereo/R mode,
> which will even work if data is not encoded correctly.
>
> [*] FF DVB-S Cards with Crystal chip:
> - rev 1.5
> - rev 1.6
> - some rev 2.1 boards
> - rev 2.2
> - rev 2.3
>
Is this patch to be added to the cvs of the dvb-kernel? Or was the reason it
was not added because some cards do not have the crystal chip?
Best Regards,
C.Y.M wrote:
> Oliver Endriss wrote:
> > If you own a FF card with Crystal audio chip [*], you may try this patch:
> > ...
> >
> Is this patch to be added to the cvs of the dvb-kernel? Or was the reason it
> was not added because some cards do not have the crystal chip?
Patch is in CVS now.
It does not change anything for cards without Crystal sound chip.
Oliver
@@ -1230,14 +1236,20 @@ static int dvb_audio_ioctl(struct inode
switch(av7110->audiostate.channel_select) {
case AUDIO_STEREO:
audcom(av7110, AUDIO_CMD_STEREO);
+ if (av7110->adac_type == DVB_ADAC_CRYSTAL)
+ i2c_writereg(av7110, 0x20, 0x02, 0x49);
break;
case AUDIO_MONO_LEFT:
audcom(av7110, AUDIO_CMD_MONO_L);
+ if (av7110->adac_type == DVB_ADAC_CRYSTAL)
+ i2c_writereg(av7110, 0x20, 0x02, 0x4a);
break;
case AUDIO_MONO_RIGHT:
audcom(av7110, AUDIO_CMD_MONO_R);
+ if (av7110->adac_type == DVB_ADAC_CRYSTAL)
+ i2c_writereg(av7110, 0x20, 0x02, 0x45);
break;
default: