Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#6472 closed defect (fixed)

Keybinding for NEXTSOURCE and NEXTINPUT do nothing

Reported by: restorin@… Owned by: Isaac Richards
Priority: trivial Milestone: unknown
Component: MythTV - General Version: unknown
Severity: low Keywords:
Cc: Ticket locked: no

Description

Keybindings for NEXT/PREV SOURCE and NEXT/PREV INPUT and NEXT/PREV CARD do nothing. The functions work from the menu. It doesn't matter what key is bound to the function. Started failing at rev 19483.

Attachments (1)

mythtv-6472-fix_nextcard_action.patch (935 bytes) - added by sphery 14 years ago.
Patch to fix NEXTCARD, NEXTINPUT, PREVSOURCE and NEXTSOURCE

Download all attachments as: .zip

Change History (16)

comment:1 Changed 15 years ago by restorin@…

Oops! Rev 19297 is the last good rev. The next rev is 19417 which fails. 19417 was a huge changeset that seems to rework the PIP stuff among other things.

comment:2 Changed 15 years ago by danielk

Milestone: 0.22unknown
Priority: majortrivial
Severity: mediumlow

comment:3 Changed 14 years ago by skd5aner <skd5aner@…>

Was troubleshooting this today with the help of sphery on IRC. I can confirm that this is still a problem in .22-fixes (as of revision r22760). None of these bindings do anything within the frontend during TV playback.

Please let me know if there's anything I can provide to help diagnose/troubleshoot the issue.

comment:4 Changed 14 years ago by anonymous

I have the same problem (0.22). I can still switch sources the long way through the menu. Since I switch sources frequently, it's a pain to be constantly doing it this way.

I get no error messages or indications in logs or anywhere else. Shouldn't be too hard to fix, IMHO.

Why priority == trivial? It's not trivial to me and my wife! :)

comment:5 Changed 14 years ago by Dibblah

Have you tried the (new in 0.22) option "Browse All Channels"?

http://mythtv.org/pipermail/mythtv-dev/2009-January/064286.html

Not saying that this is not a bug, just that the switch sources button is (now) probably not the easiest way to do this.

If you have multiple backends, this may significantly slow down channel changing.

comment:6 Changed 14 years ago by anonymous

Tried the browse all channels function - it works great. Now I'm using that, thx.

comment:7 in reply to:  5 Changed 14 years ago by skd5aner <skd5aner@…>

Replying to Dibblah:

Have you tried the (new in 0.22) option "Browse All Channels"?

http://mythtv.org/pipermail/mythtv-dev/2009-January/064286.html

Not saying that this is not a bug, just that the switch sources button is (now) probably not the easiest way to do this.

If you have multiple backends, this may significantly slow down channel changing.

Correct - for day to day use, that feature is all that is needed (and was long overdue, thanks for including it!!!). But, being able to switch inputs/cards/sources is extremely helpful when diagnosing/configuring individual tuners.

Regardless, I'll keep further discussion off the ticket. Thanks!

comment:8 Changed 14 years ago by bam <mybigspam@…>

This is a typo bug. Patch to fix NEXT/PREV CARD:

--- libs/libmythtv/tv_play.cpp  (revision 22942)
+++ libs/libmythtv/tv_play.cpp  (working copy)
@@ -4567,7 +4567,7 @@
     }
     else if (has_action("NEXTFAV", actions) && islivetv)
         ChangeChannel(ctx, CHANNEL_DIRECTION_FAVORITE);
-    else if (has_action("SWITCHARDS", actions) && islivetv)
+    else if (has_action("NEXTCARD", actions) && islivetv)
         SwitchCards(ctx);
     else if (has_action("GUIDE", actions))
         EditSchedule(ctx, kScheduleProgramGuide);

Then bind the "NEXTCARD" action to somewhat key in "Edit Keys" frontend's menu.

Changed 14 years ago by sphery

Patch to fix NEXTCARD, NEXTINPUT, PREVSOURCE and NEXTSOURCE

comment:9 Changed 14 years ago by sphery

Can someone test the attached patch, mythtv-6472-fix_nextcard_action.patch , please. I'm lacking sources and inputs to fully test. It should fix NEXTCARD, NEXTINPUT, PREVSOURCE and NEXTSOURCE . (There are/were no PREVCARD and PREVINPUT bindings in MythTV.) Note that you may need to bind keys to the specified actions. Thanks.

comment:10 Changed 14 years ago by sphery

(In [23004]) Refs #6472. Fix NEXTSOURCE, PREVSOURCE, NEXTINPUT, and NEXTCARD key bindings. These seem to have been broken in the mythtv-pip branch or when mythtv-pip was merged to mythtv-vid in [15601]. Then, the breakage entered trunk when mythtv-vid was merged to trunk in [19417] (prior to the 0.22 release).

comment:11 Changed 14 years ago by skd5aner <skd5aner@…>

mdean - sorry for not reporting back earlier on the ticket, but I did test the patch prior to your last commit. However - during testing I'm getting complete loss of input/response from mythfrontend when I use the "NEXTSOURCE" bindining while watching Live TV. All keyboard input works fine, but when I hit "Y" (nextsource), from that point on, no matter what I press, nothing happens within the frontend. I can succesfully alt-tab, and input works outside of myth. The only way to restore functionality is to kill mythfrontend and restart it.

As for the other bindings, I can say that NEXTCARD works and NEXTINPUT appears to work (however I don't have any cards with multiple inputs). I can tell you that NEXTINPUT doesn't cause any ill effects from my (limited) testing, and appeared to responde to the binding post-patch.

I did report this in IRC a few weeks ago, but wanted to place it with this ticket so it didn't get lost. If a separate ticket is warrented for the lack of response after hitting NEXTSOURCE, please let me know - otherwise, let me know if there's any more details you'd like me to place on this ticket to troubleshoot that symptom.

comment:12 Changed 14 years ago by sphery

Matt, thanks for the comment. I also meant to thank you for the testing when I committed the fix to trunk, but was distracted by too many other things I was working on.

Anyway, as far as the NEXTSOURCE issue, I'd need a good (with symbols) backtrace to say for sure, but I'm almost positive the problem exists in the TV::SwitchSource?() function and is unrelated to the keybinding fix (though the binding allows you to access that function). I plan to test it eventually, but if you can get a backtrace of the hung mythfrontend process, feel free to submit a separate ticket for the issue.

Probably should have mentioned some of that to you earlier, but it's been a busy couple of weeks. I'll get the fix for this issue committed to -fixes soon.

comment:13 Changed 14 years ago by sphery

Resolution: fixed
Status: newclosed

(In [23032]) Fixes #6472. Fix NEXTSOURCE, PREVSOURCE, NEXTINPUT, and NEXTCARD key bindings. Backports [23004] from trunk.

comment:14 in reply to:  11 Changed 14 years ago by mythtv@…

I can confirm this. After hitting "Y" there is no other way out then to kill mythfrontend. I'm running rev 23110 from 0.22-fixes.

Replying to skd5aner <skd5aner@…>:

mdean - sorry for not reporting back earlier on the ticket, but I did test the patch prior to your last commit. However - during testing I'm getting complete loss of input/response from mythfrontend when I use the "NEXTSOURCE" bindining while watching Live TV. All keyboard input works fine, but when I hit "Y" (nextsource), from that point on, no matter what I press, nothing happens within the frontend. I can succesfully alt-tab, and input works outside of myth. The only way to restore functionality is to kill mythfrontend and restart it.

comment:15 Changed 14 years ago by sphery

(In [24274]) Fix a deadlock in TV::SwitchSource?() that occured when using the NEXTSOURCE/PREVSOURCE key bindings to switch sources.

The code in TV::timerEvent() was holding a lock, causing a deadlock when TV::SwitchSource?() requested the PlayerContext?. This changes TV::SwitchSource?() to work like the related TV::SwitchCards?() and TV::ToggleInputs? functions by using the PlayerContext? that TV::timerEvent() passes through TV::ProcessKeypress?() and, finally, to TV::ActivePostQHandleAction(), which calls TV::SwitchSource?().

This seems to have been broken in the mythtv-vid branch, but the code was unreachable/untestable due to broken key bindings (which were fixed for #6472).

Refs #6472. Fixes #8190. Thanks to jafa for finally getting a backtrace.

Note: See TracTickets for help on using tickets.