Modify

Ticket #6208 (closed patch: fixed)

Opened 3 years ago

Last modified 3 years ago

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

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

Description (last modified by mdean) (diff)

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

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

Change History

Changed 3 years ago by Mitch <mitch@…>

patch

comment:1 Changed 3 years ago by danielk

  • Priority changed from major to minor
  • Version changed from 0.21-fixes to head
  • Type changed from patch to defect
  • Severity changed from high to low

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

-- Daniel

comment:2 Changed 3 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 2.6.28.11 using the liplianin drivers

comment:3 Changed 3 years ago by mdean

  • Description modified (diff)

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

comment:4 Changed 3 years ago by paulh

  • Milestone changed from unknown to 0.22

comment:5 Changed 3 years ago by mdean

related to [19071] ?

comment:6 Changed 3 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 3 years ago by gnome42

  • Owner changed from danielk to gnome42
  • Status changed from new to accepted

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

mythbackend -v record,channel

Changed 3 years ago by yianniv

mythbackend -v record,channel

comment:8 Changed 3 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 3 years ago by gnome42

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

mythfrontend -v playback,channel

and

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 3 years ago by mdean

refs #7197

comment:11 Changed 3 years ago by gnome42

  • Status changed from accepted to started
  • Type changed from defect to patch

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 3 years ago by gnome42

comment:12 Changed 3 years ago by shane

  • Status changed from started to closed
  • Resolution set to fixed

(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.

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.