Opened 12 years ago

Closed 12 years ago

#4510 closed defect (invalid)

Tuning to a channel with duplicate callsigns doesn't work as expected

Reported by: Mark Buechler <Mark.Buechler@…> Owned by: Janne Grunau
Priority: minor Milestone: 0.21
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

When tuning to a second DVB radio channel, the frontend looks to be trying to tune to every channel on the same transport (all DVB radio in my case) until it gets a full lock. Very strange. Frontend log attached.

Attachments (4)

radio_mythfrontend.log (82.0 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
frontend log
tuning_fix.diff (701 bytes) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Fix tuning when multiple choices are present.
tuning_fix2.diff (369 bytes) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Without the extra debugging.
duplicates.diff (978 bytes) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Patch to fix duplicate channel callsigns with different channums.

Download all attachments as: .zip

Change History (14)

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: radio_mythfrontend.log added

frontend log

comment:1 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

What's very odd here is that, even though the first radio channel tunes, there are a LOT of calls to IsTunable?() after I changed to the channel and before it tuned. On normal channels I don't see any calls to IsTunable?() after a channel change on other channels.

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: tuning_fix.diff added

Fix tuning when multiple choices are present.

comment:2 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Added patch which fixes this. The problem originates from GuideGrid::fillChannelInfos() where it matches duplicate channums and callsigns. TV::ChangeChannels? was queuing all all the duplicates instead of only the first one it found to be IsTunable?().

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: tuning_fix2.diff added

Without the extra debugging.

comment:3 Changed 12 years ago by Janne Grunau

Milestone: unknown0.21
Owner: changed from Isaac Richards to Janne Grunau
Status: newaccepted

comment:4 Changed 12 years ago by Janne Grunau

Resolution: fixed
Status: acceptedclosed

(In [15517]) Closes #4510. Avoid tuning of all channels for cahannels with duplicate channums or callsigns

Patch by Mark Buechler < Mark.Buechler [a] gmail [p] com >

comment:5 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Resolution: fixed
Status: closednew

There seems to be a second oddity with how duplicate callsigns are added to the list of channels to attempt to tune.

I have quite a few channels that have the same callsign, particularly DVB radio. If the tuner in question is in use, and another channel on that same transport is selected, often times the selected channel is not tuned but instead another channel with the same callsign on that same transport. Given three channels, all on the same tuner and transport:

channum | callsign | Recording 1 Radio Yes 2 Radio No 3 Radio No

When selecting channel 3, channel 2 gets tuned instead. One of two things needs to happen here:

  1. Ensure that the channel selected is at the top of the list in m_channelInfos[channel]. The code looks to be doing this already, but isn't working as expected
  2. Don't match by callsign looking for duplicates.

comment:6 Changed 12 years ago by Janne Grunau

Resolution: fixed
Status: newclosed

option 3: change the callsigns

please reopen if you have a patch

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: duplicates.diff added

Patch to fix duplicate channel callsigns with different channums.

comment:7 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Resolution: fixed
Status: closednew

comment:8 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Patch added.

comment:9 Changed 12 years ago by Anduin Withers

Component: mythtvdvb

comment:10 Changed 12 years ago by Janne Grunau

Component: dvbmythtv
Resolution: invalid
Status: newclosed
Summary: DVB Radio isn't handled correctly after multirec mergeTuning to a channel with duplicate callsigns doesn't work as expected

The patch is invalid, channels with the same callsign should remain alternatives even if they have a different channum. This is consistent with the schedulers notion of identical channels.

Note: See TracTickets for help on using tickets.