Opened 12 years ago

Closed 11 years ago

Last modified 10 years ago

#5194 closed defect (fixed)

DVB-T Channel Browse mode select

Reported by: rafmoslin@… Owned by: markk
Priority: major Milestone: 0.22
Component: mythtv Version: head
Severity: low Keywords: playback, livetv, channel, browse, DVB-T
Cc: Ticket locked: no

Description

When watching live tv and using channel browse, selecting any channel by pressing the return key used to select and change to that channel, however currently this is ignored and always selects channel number 1 (BBC1 in the UK). Tested using latest SVN version 17023.

Attachments (5)

mythbackend.log (35.1 KB) - added by rafmoslin@… 12 years ago.
mythfrontend.log (5.5 KB) - added by rafmoslin@… 12 years ago.
log.txt (2.2 KB) - added by ankoe 12 years ago.
livetv_browsemode-fix.patch (825 bytes) - added by nettibug@… 12 years ago.
Fixes livetv browsermode channelchange
livetv_browsemode_workaround-0.2.patch (689 bytes) - added by Alan Calvert <cal@…> 11 years ago.

Download all attachments as: .zip

Change History (32)

comment:1 Changed 12 years ago by stuartm

Status: newinfoneeded_new

Works for me, are you sure that you aren't recording on that card already so that it's limited to the current multiplex? Does switching to 2 (BBC2) work?

comment:2 in reply to:  1 Changed 12 years ago by rafmoslin@…

Replying to stuartm:

Works for me, are you sure that you aren't recording on that card already so that it's limited to the current multiplex? Does switching to 2 (BBC2) work?

Worked for me as well with 0.20.2 PCLinuxOS repo version as well. No tuners are recording and directly entering the channel number works just fine.

comment:3 Changed 12 years ago by stuartm

Ok, we'll need backend and frontend logs with -v channel,record,siparser

Changed 12 years ago by rafmoslin@…

Attachment: mythbackend.log added

Changed 12 years ago by rafmoslin@…

Attachment: mythfrontend.log added

comment:4 Changed 12 years ago by rafmoslin@…

Okay, attached the logs, in addition the frontend wrote these errors to screen, unlikely to be relevant but I don't think I should be the judge of that:

$ mythfrontend -v channel,record,siparser > mythfrontend.log Q3ServerSocket: failed to bind or listen to the socket QSocketNotifier: Can only be used with threads started with QThread Initialize Yadif Deinterlacer. In-Pixformat = 1 Out-Pixformat=1 ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer QSqlDatabasePrivate::removeDatabase: connection 'DBManager0' is still in use, all queries will cease to work. QSqlDatabasePrivate::removeDatabase: connection 'DBManager1' is still in use, all queries will cease to work. QSqlDatabasePrivate::removeDatabase: connection 'DBManager2' is still in use, all queries will cease to work. Error in my_thread_global_end(): 1 threads didn't exit

comment:5 Changed 12 years ago by rafmoslin@…

Sorry I forgot to say that when in the frontend I selected "Watch TV" which started viewing channel 1, I then pressed the "5" key and then started viewing channel 5, then pressed the arrow key to browse to channel 3 and pressed return and was tuned to channel 1 then exited the app.

comment:6 Changed 12 years ago by rafmoslin@…

A little extra information; I've noted that whilst recording a channel and watching Live TV, channel browsing and selecting will select the lowest station ID on the current transponder being selected. PS. Nice touch that the latest version of MythTV allows you to watch any channel on the current transponder when recording!

comment:7 Changed 12 years ago by ankoe

I have the same problem after updateting from r16746 to r17084 (worked fine before). Channel change by enetring the new channel number with the numeric keys or by using EPG works correctly. My system has 2 DVB-S cards, no recordings are active. Another point which may be related: If I select the EPG from the main menu by "Manage recordings"->"plan recordings"->"Program Guide" (sorry if the menu items are not correct, I`ve the German translations on my screen) the EPG of the highest channel is selected.

comment:8 Changed 12 years ago by ankoe

I inserted some debug output into tv_play.cpp. I think the problem is in TV::CommitQueuedInput?(), but I don't understand the functions completely.

This is my log: started live tv, channel 1 selected, now enter 5

2008-04-21 19:32:12.175 TV: ANDREAS 4994 TV::CommitQueuedInput?(void) entry, browsechannum= 2008-04-21 19:32:12.175 TV: ANDREAS 5031 TV::CommitQueuedInput?(void): call of ChangeChannel?(0,5) 2008-04-21 19:32:12.175 TV: ANDREAS 5040 TV::ChangeChannel?(chanid 0, chan '5') entry 2008-04-21 19:32:12.175 TV: ANDREAS 5050 TV::ChangeChannel?(chanid, chan): channum=5, channum.isEmpty=0 2008-04-21 19:32:13.490 TV: ANDREAS 5038 TV::CommitQueuedInput?(void) exit, browsechannum=

channel 5 selected, now select channel 7 by entering UP, UP, ENTER

2008-04-21 19:32:41.831 TV: ANDREAS 6662 TV::BrowseDispInfo?(direction=1) entry 2008-04-21 19:32:41.831 TV: ANDREAS 6594 TV::BrowseStart?(void) entry 2008-04-21 19:32:41.831 TV: ANDREAS 6662 TV::BrowseStart?(void): browsechannum set to '5' 2008-04-21 19:32:41.831 TV: ANDREAS 6662 TV::BrowseDispInfo?(direction=0) entry 2008-04-21 19:32:41.832 TV: ANDREAS 6662 TV::BrowseDispInfo?(int): browsechannum set to '5' 2008-04-21 19:32:41.841 TV: ANDREAS 6662 TV::BrowseDispInfo?(int): browsechannum set to '6' 2008-04-21 19:32:42.583 TV: ANDREAS 6662 TV::BrowseDispInfo?(direction=1) entry 2008-04-21 19:32:42.586 TV: ANDREAS 6662 TV::BrowseDispInfo?(int): browsechannum set to '7'

2008-04-21 19:32:43.339 TV: ANDREAS 4994 TV::CommitQueuedInput?(void) entry, browsechannum='7'

?? I think now something is wrong ??

2008-04-21 19:32:43.339 TV: ANDREAS 5022 TV::CommitQueuedInput?(void): call of BrowseChannel?(channum=) 2008-04-21 19:32:43.340 TV: ANDREAS 6780 TV::BrowseChannel?(chan=) entry, browsechannum set to 2008-04-21 19:32:43.340 TV: ANDREAS 6662 TV::BrowseDispInfo?(direction=0) entry 2008-04-21 19:32:43.347 TV: ANDREAS 6662 TV::BrowseDispInfo?(int): browsechannum set to '1' 2008-04-21 19:32:43.353 TV: ANDREAS 5038 TV::CommitQueuedInput?(void) exit, browsechannum='1'

2008-04-21 19:32:43.353 TV: ANDREAS 6619 TV::BrowseEnd?(change 1) call ChangeChannel?(0, browsechannum='1') 2008-04-21 19:32:43.353 TV: ANDREAS 5040 TV::ChangeChannel?(chanid 0, chan '1') entry 2008-04-21 19:32:43.353 TV: ANDREAS 5050 TV::ChangeChannel?(chanid, chan): channum=1, channum.isEmpty=0

channel 1 selected (instead of 7)

Changed 12 years ago by ankoe

Attachment: log.txt added

comment:9 Changed 12 years ago by ankoe

Sorry, log is bad to read here - so I attached the file.

Changed 12 years ago by nettibug@…

Attachment: livetv_browsemode-fix.patch added

Fixes livetv browsermode channelchange

comment:10 Changed 12 years ago by manwe

Okay I just submitted a fix (livetv_browsemode-fix.patch) for this problem that's been annoying me. (And others it seems)
Problem existed only when using browse mode in livetv and channel change had to be activated by return. Thanks goes to ankoe that got me to the right tracks.
In TV::CommitQueuedInput?() BrowseChannel?(channum) gets called and because channum is empty it will actually clear browsechannum which contained correct wanted number (which gets used to set channel in BrowseEnd?()).

Is BrowseChannel? call necessary?
Working with HEAD (r17145)

comment:11 Changed 12 years ago by ankoe

I tried attachment:livetv_browsemode-fix.patch - works fine. Thanks.

comment:12 Changed 12 years ago by manwe

Still keeping my own patch, because nothing has been done for this in head r17449

comment:13 Changed 11 years ago by richard@…

I also experience this bug with HEAD (17482) with the following config: Fedora Core 8 (2.6.24.7-92) 2 x DVICO DVB-T PCI tuners 1 x Hauppage Nova-T 500 dual tuner (all three cards are based on the CX23880/1/2/3 tuner)

and require this patch to bchange channels in browse mode on Live TV.

Hoping it gets incorporated into HEAD soon.

comment:14 Changed 11 years ago by rafmoslin@…

Ah, well there is more than just a couple of us then! I would have thought that more people would have reported this, maybe it only affects anyone with more than one tuner? I do not think the hardware type is the cause as I have a Nebula DVB-T card and a Hauppauge HVR-4000 (in DVB-S only mode) but happy to report that I have had no problems with the patch applied, thanks Manwe.

comment:15 Changed 11 years ago by richard@…

Perhaps it's more due to the fact that few watch live tv (and even fewer in browse mode). But the more that report success with this patch the better the chance of its inclusion in HEAD I guess.

comment:16 Changed 11 years ago by mythtv@…

I can confirm the same problem against HEAD (17774). The patch above works for me too.

comment:17 Changed 11 years ago by shade73a

Also had this problem since a couple of month. 2xnexus-ca.

comment:18 Changed 11 years ago by anonymous

Is anyone ever going to commit this patch? Several people have now reported this patch is required and works fine.

comment:19 Changed 11 years ago by mythtv@…

This patch no longer works against HEAD (18156) - seems like the <q3deepcopy.h> include has been removed from tv_play.cpp. You can add it back in, but presumably it's removal is part of the QT3->QT4 work.

comment:20 Changed 11 years ago by rafmoslin@…

Indeed, I have just noticed myself that the patch has stopped working with the latest svn update.

As another poster here has pointed out, surely this defect should have been fixed after 4 months?* It does somewhat fundamentally change the entire operation of the channel browse feature, making it quite pointless when you cannot change to the selected station.

*Before it is pointed out to me, I am aware that I have paid nothing for this software and should not expect anything from it, and that it is also a testing only version not meant for production use and most importantly I do sincerely fully appreciate the work done by all parties involved in this project.

Changed 11 years ago by Alan Calvert <cal@…>

comment:21 Changed 11 years ago by Alan Calvert <cal@…>

My guess is that this patch will never be committed, primarily because it's _not_ a fix, it's just a workaround, and arguably a clumsy one. In the mean time, a workaround is better than living with a bug ... mustn't grumble! The patch update should work, but I'm not in a position to actually test it just now ... :-(.

comment:22 Changed 11 years ago by stuartm

Priority: minormajor
Status: infoneeded_newnew

comment:23 Changed 11 years ago by stuartm

Owner: changed from Isaac Richards to stuartm
Status: newassigned

comment:24 Changed 11 years ago by stuartm

Owner: stuartm deleted
Status: assignednew

Sorry, didn't mean to assign this ticket to myself.

comment:25 Changed 11 years ago by olejl

I can confirm that this patch solved my problem as well. Thanks.

comment:26 Changed 11 years ago by markk

Resolution: fixed
Status: newclosed

(In [19297]) Fix channel changing in livetv browse mode with patch from Alan Calvert. Closes #5194.

Incorrect behaviour was only exposed if the db contained a channel with an empty channel number.

comment:27 Changed 10 years ago by Janne Grunau

Owner: set to markk
Note: See TracTickets for help on using tickets.