Opened 9 years ago

Closed 9 years ago

#8742 closed defect (fixed)

Channel changing broken after 25543

Reported by: anonymous Owned by: jpoet
Priority: minor Milestone: 0.24
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Channel changing with DVB-S is broken after 24453. This issue is /not/ database corruption. Reverting to 25542 results in myth behaving appropriately. Push forward to 25543 and it breaks.

Breakdown: The initial channel tune works just fine. Clicking "watch tv" or running "jump livetv" yield expected results.

If the user attempts to change channels, and specifically if the channel is not on the same multiplex (transponder) as the currently viewed channel, channel changing fails.

The attached backend shows what happens after the initial channel has been tuned (55), and I try to go up one channel (56).

Attachments (2)

tune_error.txt.bz2 (1.8 KB) - added by anonymous 9 years ago.
ringbuffer-early.patch (2.3 KB) - added by jpoet 9 years ago.
Fix LiveTV DB contention error

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by anonymous

Attachment: tune_error.txt.bz2 added

Changed 9 years ago by jpoet

Attachment: ringbuffer-early.patch added

Fix LiveTV DB contention error

comment:1 Changed 9 years ago by jpoet

Attached a patch which fixes this problem.

comment:2 Changed 9 years ago by jpoet

(In [25588]) For a couple of people, creating the LiveTV ringbuffer with the new channum results in a DB query failing (see #8742). So, for now, don't do it.

comment:3 Changed 9 years ago by robertm

Owner: set to jpoet
Status: newassigned

comment:4 Changed 9 years ago by jpoet

Resolution: fixed
Status: assignedclosed

(In [25642]) Fix issues with DiSEqC caused by [25543].

Creating the LiveTVRingBuffer before the channel change operation means that the channelbase::sourceid may not be up to date when multiple sourceids are associated with a single input. Therefore a call to CheckChannel? is needed to determine that information.

Also, when initializing the inputs in ChannelBase?, retrieve the "default input" from the DB in case the capture device is opened "on demand".

Both of these issues could result in incorrect program information being displayed when changing from one channel to another in LiveTV, as well as tuning failures due to DB lookup problems.

Thanks to Gus Bourg for discovering and diagnosing the problem with DiSEqC.

Thanks to Benny Sjöstrand for discovering the issue with opening devices "on demand", and fixing it.

Thanks to Mark Buechler for his help in analyzing log files, and diagnosing the problems.

Fixes #8742 Fixes #6719

Note: See TracTickets for help on using tickets.