Opened 12 years ago

Closed 12 years ago

#6208 closed patch (fixed)

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

Reported by: Mitch <mitch@…> Owned by: Shane Shrybman
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.

Attachments (3)

diff.txt (598 bytes) - added by Mitch <mitch@…> 12 years ago.
mythbackend.log.tar.gz (12.7 KB) - added by yianniv 12 years ago.
mythbackend -v record,channel
7197_6208_browse_across_inputs.diff (540 bytes) - added by Shane Shrybman 12 years ago.

Download all attachments as: .zip

Change History (15)

Changed 12 years ago by Mitch <mitch@…>

Attachment: diff.txt added


comment:1 Changed 12 years ago by danielk

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 Changed 12 years ago by Herman Gerritsen

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 using the liplianin drivers

comment:3 Changed 12 years ago by sphery

Description: modified (diff)

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

comment:4 Changed 12 years ago by paulh

Milestone: unknown0.22

comment:5 Changed 12 years ago by sphery

related to [19071] ?

comment:6 Changed 12 years ago by yianniv

I think I have the same problem.

This also affects the "H"istory button. I was watching channel 12 on a DVB-T input. I then typed 8204 to view BBC World on a DVB-S input. If I then press H to go back to the DVB-T feed it sends me to channel 12 on the DVB-S input. Switching to a different input is impossible through browsing, unless I choose "swich input" from the menu. Strangely, if I am on an analogue input I can browse to DVB (T and S). The reverse is impossible.

mythfrontend --version Please include all output in bug reports. MythTV Version : 21939 MythTV Branch : trunk Network Protocol : 48 Library API : 0.22.20090918-1 QT Version : 4.5.2 Options compiled in:

linux release using_oss using_alsa using_arts using_jack using_backend using_directfb using_dvb using_frontend using_hdpvr using_iptv using_ivtv using_libfftw3 using_lirc using_mheg using_opengl_video using_opengl_vsync using_qtwebkit using_v4l using_x11 using_xrandr using_xv using_xvmc using_xvmc_vld using_xvmcw using_bindings_perl using_bindings_python using_opengl using_vdpau using_ffmpeg_threads using_live using_mheg

comment:7 Changed 12 years ago by Shane Shrybman

Owner: changed from danielk to Shane Shrybman
Status: newaccepted

Please provide a full log from the backend around the time of the problem. With these logging options:

mythbackend -v record,channel

Changed 12 years ago by yianniv

Attachment: mythbackend.log.tar.gz added

mythbackend -v record,channel

comment:8 Changed 12 years ago by yianniv

I attached the log as requested.

18:25:23.898: I started viewing Tv on an analog input I then switched to channel No 12 on a slave backend (DVB-T) Then I switched to 8204 on the master backend (DVB-S) Then by pressing H I tried to go back to 12 (DVB-T), but ended in DVB-S on the master Backend.

comment:9 Changed 12 years ago by Shane Shrybman

Hi yianniv, your problem may be different, probably best to open another ticket and attach some logs there.

mythfrontend -v playback,channel


mythbackend -v record,channel logs from all of the involved backends.

Also need to describe how each channel change was done, (eg browsed to chan 12, 'H' Key to 400, entered by number 366 ...)

comment:10 Changed 12 years ago by sphery

refs #7197

comment:11 Changed 12 years ago by Shane Shrybman

Status: acceptedstarted
Type: defectpatch

Please give the attached patch a try. Also, please test with the "Browse all Channels" option on and off. That option can be found on the first page of the "Playback OSD" settings.

Changed 12 years ago by Shane Shrybman

comment:12 Changed 12 years ago by shane

Resolution: fixed
Status: startedclosed

(In [22346]) Fixes #7197 and #6208. Fix LiveTV browsing to channels on other inputs.

Remove the call to CommitQueuedInput?() when selecting a channel in browse mode. BrowseEnd?(ctx, true) will do the call to ChangeChannel?(..).

This problem was only seen if the "Browse all channels" option was turned off.

Note: See TracTickets for help on using tickets.