Opened 17 years ago

Last modified 16 years ago

#6208 closed patch

Changing channels in browse mode switches to incorrect channel if input is not on same dvb input — at Version 3

Reported by: Mitch <mitch@…> Owned by: danielk
Priority: minor Milestone: 0.22
Component: MythTV - DVB/ATSC Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description (last modified by sphery)

I have a single DVB card with a single input connected to 3 satellites via a diseqc. Mythbackend shows this:

2009-01-31 23:42:03.867 DiSEqCDevTree: Changing LNB voltage to 18V
2009-01-31 23:42:04.368 DiSEqCDevTree: Resetting DiSEqC Bus
2009-01-31 23:42:04.368 DiSEqCDevTree: Sending DiSEqC Command: e0  0  0 
2009-01-31 23:42:05.017 ChannelBase(1): Input #1: 'DVBInput #1' schan(630) sourceid(1) ccid(1)
2009-01-31 23:42:05.018 ChannelBase(1): Input #2: 'DVBInput #2' schan(384) sourceid(2) ccid(1)
2009-01-31 23:42:05.019 ChannelBase(1): Input #3: 'DVBInput #3' schan(330) sourceid(3) ccid(1)
2009-01-31 23:42:05.019 ChannelBase(1): Current Input #1: 'DVBInput #1'

Everything works fine normally. However if you attempt to change channel in browse mode to a channel on a different input you will see the following output

2009-01-31 20:30:33.773 ChannelBase(1): Failed to find channel(785) on current input (DVBInput #3) of card (1).
2009-01-31 20:30:33.775 ChannelBase(1): Found channel(785) on another input (DVBInput #1) of card (1).
2009-01-31 20:30:33.811 ChannelBase(1): Failed to find channel(384) on current input (DVBInput #3) of card (1).
2009-01-31 20:30:33.813 ChannelBase(1): Found channel(384) on another input (DVBInput #2) of card (1).
2009-01-31 20:30:33.818 TVRec(1): SetChannel(384) -- begin
2009-01-31 20:30:33.818 ChannelBase(1): Looking for startchannel '384' on input 'DVBInput #1'
2009-01-31 20:30:33.833 ChannelBase(1): Found startchannel '384' on input 'DVBInput #2'
2009-01-31 20:30:33.834 TVRec(1): HW Tuner: 1->1

So it recognises that the channel i'm wanting to change to is not on the current input, but then changes to change the channel to the start channel but on a totally different input (i.e. the wrong channel). Once you are on this new (wrong) channel, you can no longer change channel in browse mode and you have to go to the EPG to change channels.

I believe this bug is due to the fact that CheckChannel() ignores the filled in return field 'inputName'.

I have attached a patch which seems to fix this for me however i'm not sure this is the right place to do this or if we're leaking anything here.

I've marked this as major/high as i'm positive this is bug and should affect everyone with multiple satellites on a single dvb card.

Change History (4)

by Mitch <mitch@…>, 17 years ago

Attachment: diff.txt added

patch

comment:1 by danielk, 16 years ago

Priority: majorminor
Severity: highlow
Type: patchdefect
Version: 0.21-fixeshead

Problem seems to be real, but the patch appears incorrect. This should probably be handled in DVBChannel not TVRec.

-- Daniel

comment:2 by Herman Gerritsen, 16 years ago

This patch may be wrong, but works indeed. I tried on mythtv trunk revision 20580 using a technotrend S2-3200 on Ubuntu 9.04 running kernel 2.6.28.11 using the liplianin drivers

comment:3 by sphery, 16 years ago

Description: modified (diff)

See, also, #6909 for a -v channel,record,siparser log.

Note: See TracTickets for help on using tickets.