Opened 18 years ago
Closed 18 years ago
#981 closed defect (fixed)
LiveTV changing channels: DVB-S confused and locked
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | trivial | Milestone: | 0.19 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Two cards: bttv and DVB-S, three inputs (bttv 1, DVB-S 2-3 thanks to DiSEqC 2:1 switch).First 4 channels (1-4) defined on bttv, the other defined on DVB-S.
Two problems: first, once I change the Live TV channel to one of the DVB-S I can't switch back to bttv using channel number. Second problem is that switching to DVB-S activates a different channel than I wanted - probably because of the DiSEqC switch.
Chronological description of the first problem:
00:14:00 - Live TV started, tunes to channel 3, input 1 automatically. Switching to any channel would yet work correctly, including switching to a channel on another card and input. However, as soon as the channel is changed to a DVB-S card (channel 6, at 00:15:00) it's not possible to switch back to bttv (channel 1, tried at 00:17:00 and also channel 4 at 00:17:30). It's simply ignored with
Failed to find channel(1) on any input of card (2)
and it does not try other cards (which IMHO it should since the other way, from bttv to DVB-S it worked OK).
Switching channels on the DVB-S continues to work normally (channel 5 at 00:18:00).
Second problem: I asked for channel 6 (which is on input 3) at 00:15:00 but it tuned to channel 14 instead (which is on input 2). I then asked again for the channel 6 at 00:16:00 and now it tuned the input 3 correctly.
Attached are the complete logs.
Attachments (8)
Change History (19)
Changed 18 years ago by
Attachment: | backend.log.gz added |
---|
Changed 18 years ago by
Attachment: | frontend.log.gz added |
---|
comment:1 Changed 18 years ago by
Owner: | changed from Isaac Richards to danielk |
---|
comment:2 Changed 18 years ago by
Milestone: | → 0.19 |
---|---|
Priority: | minor → trivial |
Version: | → head |
comment:3 Changed 18 years ago by
I have seen your second problem as well. While switching from one of my PVR250 inputs to a DVB channel DVB always goes to the last saved channel for that input instead of the DVB channel I just selected which forced me to reselect the channel. This is with svn 8472.
I believe your first problem has already been addressed sometime between 82xx and 83xx.
- Mark.
Changed 18 years ago by
Attachment: | 981-v1.patch added |
---|
Preliminary fix for cross recorder channel switching
comment:4 Changed 18 years ago by
Petr, can you test the patch against revision [8570]?
It is not terribly efficient as is, but it should work.
comment:5 Changed 18 years ago by
It's actually same or even worse. Before I could go from bttv (channels 1-4) to any channel (including DVB-S) but could not go back from DVB-S to bttv. Now I can't even go from bttv to DVB-S channels 5-9. Surprisingly I can go from bttv to DVB-S channel 11. No idea why 11 works but 5-9 don't.
Attached logs show the following session:
- 58:00 - entering live tv
- 58:30 - asking for DVB-S channel 6 (still plays bttv, this channel change was ignored)
- 59:00 - asking for DVB-S channel 5 (that's different DiSEqC input, ignored as above)
- 59:30 - asking for DVB-S channel 11 (it's HDTV but it shouldn't matter, should it? - and worked)
- 00:00 - asking for bttv channel 1 (doesn't work, plays the channel 11)
- 00:30 - asking for DVB-S channel 6 (worked OK)
comment:6 Changed 18 years ago by
Petr, from the logs it looks like you may have a configuration problem. Please e-mail me a dump of your channel, cardinput, and capturecard tables.
comment:7 Changed 18 years ago by
Petr, can you test this? It should work in your case, but even if it doesn't it prints out some more useful debugging about partial matches, etc.
FYI The code in this is patch is messy, it is just for testing.
comment:8 Changed 18 years ago by
Daniel, the issue with "locked" DVB-S (when I couldn't go back from DVB-S to bttv) seems to be fixed, thanks a lot. The other issue that I found out when I was writing this ticket ("DiSEqC is sort of ignored when first tuning a given card") remains. Please decide whether to close this ticket (I would then create a new one describing just the issue with DiSEqC tuning) or whether this ticket remains open until the DiSEqC problem is fixed as well. I'll append the DiSEqC logs to this comment, anyway.
Thanks again for looking into the Live TV channel changing and fixing it.
comment:9 Changed 18 years ago by
OK, attached fresh logs that should show the DiSEqC problem. Channel 1 = bttv (card 1, sourceid = 1) Channels 6,8 = DVB-S DiSEqC input 1 (card 2, sourceid = 2) Channel 9 = DVB-S DiSEqC input 2 (card 2, sourceid = 3)
Now the problem is that when asking for channel 9 while LiveTV is on another card the MythTV correctly finds out that it should switch to card 2 but then ignores the sourceid/DiSEqC somehow and tunes the last used channel on the wrong DiSEqC input instead.
Timeline:
- 12:55:00 entered Live TV - bttv channel 1
- 12:55:30 asked for channel 8 - got channel 8
- 12:56:30 asked for channel 9 and since I am on the card 2 already I get the channel 9 correctly
- 12:57:00 switching back to bttv by changing to channel 1
- 12:57:30 trying to get channel 9 (=switching to card 2) but getting channel 8 -> PROBLEM. Probably got ch.8 because it was last used channel on card 2/sourceid 2 - my choice of channel 9 was ignored completely
- 12:58:00 changing to channel 6 to make the 6 last used channel on card 2/sourceid 2
- 12:58:30 changing to channel 9 to make the 9 last used channel on card 2/sourceid 3
- 12:59:00 going back to bttv
- 12:59:30 asking for channel 9 (=switching to card 2) but getting channel 6 -> PROBLEM. Probably got ch.6 because it was last used channel on card 2/sourceid 2 - my choice of channel 9 was ignored completely
Beware please: my original channel 8 from the mysql dumps I sent you disappeared on the EuroBird? satellite so I had to tune the same channel on Astra1 (different satellite thus different DiSEqC input). Thus channel 8 is now on sourceid 2, not sourceid 3 like in the dumps you got. Don't get confused by that, please.
comment:10 Changed 18 years ago by
Please open a seperate ticket for the DiSEqC problem. It's going to have to wait until 0.20. Since I don't have DiSEqC, fixing those problems always takes a while...
I will clean up the patch for the other problem and apply it in the next couple days.
comment:11 Changed 18 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
The cross recorder channel changes didn't have enough information from TVRec::CheckChannelPrefix?(). This extends that call with some more information which allows us to properly switch tuners even if the prefix matches several channels, but it matches at least one channum exactly. Before if a channel number was a prefix for another valid channel we could not switch to that channel unless it was on the current tuner.
Since the change to CheckChannelPrefix? changes the MythTV protocol, for "CHECK_CHANNEL_PREFIX" the MYTH_PROTO_VERSION has been incremented and a 'make clean' and reinstall of all frontend's and backends is needed.
Sounds like a bug, I'll have a look at it after looking at my other 0.19 tickets.