Opened 13 years ago

Closed 13 years ago

#4693 closed patch (fixed)

Watch TV with LiveTV busy tuners provides no warning

Reported by: Nigel Owned by: Nigel
Priority: minor Milestone: 0.22
Component: mythtv Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description (last modified by Nigel)

Tuner busy with LiveTV. Watch TV on remote frontend -v playback,network reveals:

2008-02-18 09:28:02.559 write -> 26 38      ANN Monitor 1
2008-02-18 09:28:02.560 read  <- 26 2       OK
2008-02-18 09:28:02.560 write -> 27 23      GET_FREE_RECORDER_COUNT
2008-02-18 09:28:02.562 read  <- 27 1       0
2008-02-18 09:28:02.563 write -> 27 26      QUERY_RECORDINGS Recording
2008-02-18 09:28:02.568 read  <- 27 429     1[]:[]Unknown[]:[][]:[][]:[][]:[]1042[]:[]42[]:[]ABC[]:[]ABC[]:[]...
2008-02-18 09:44:58.636 TV Error: Failed to get recording show list

traffic from the backend listing a recording, but RemoteGetCurrentlyRecordingList?() is returning an empty list.

Attachments (1)

mythtv_HandleQueryRecordings.diff (1.4 KB) - added by Shane Shrybman <gnome42@…> 13 years ago.
show livetv as rsRecording in HandleQueryRecordings?()

Download all attachments as: .zip

Change History (12)

comment:1 Changed 13 years ago by Shane Shrybman <gnome42@…>

Hi Nigel, thanks for looking at that other patch.

Yeah, I saw that same -v network output but I thought livetv recordings were being ignored on purpose. :) I assume that is a livetv recording in your output, it works correctly for me if it's a scheduled recording that is in progress.

Here is a test patch that adjusts MainServer::HandleQueryRecordings?(...) so that livetv shows are listed as rsRecording. They aren't on the schedList so they weren't updated to rsRecording like scheduled recordings.

The popup allowing selection of in progress stuff is a nice touch!

Changed 13 years ago by Shane Shrybman <gnome42@…>

show livetv as rsRecording in HandleQueryRecordings?()

comment:2 Changed 13 years ago by Nigel

Yes, you are right, it is only LiveTV that shows no popup. I suspect they were ignored in the "Select a Current Recording" popup because they were not designed to be played by any frontend except the one which is watching them.
Once upon a time, LiveTV used to be in a separate filesystem. Then it moved into recordings. For a while it was there, but no recordedmarkup data was generated (problems if you wanted to seek through the file). Now recordedseek seems to be regularly updated, so there is probably no good reason to ignore them in the popup.

Note that there is a much easier way than your patch. Just add
p->recstatus == rsRecorded) into RemoteGetCurrentlyRecordingList?(). But I will check with the other devs first

comment:3 Changed 13 years ago by Nigel

Description: modified (diff)
Summary: Watch TV with busy tuners provides no warningWatch TV with LiveTV busy tuners provides no warning

comment:4 Changed 13 years ago by Nigel

(In [16177]) Display popups in a few more "no tuner" situations. See #4489. See #4693. Doesn't display customised messages yet, will do that next.

comment:5 Changed 13 years ago by Nigel

(In [16178]) Custom messages for "No Tuner" scenarios. See #4693. Closes #4489.

comment:6 Changed 13 years ago by Nigel

Milestone: 0.210.22

The immediate problem has been fixed in 0.21 (i.e. it puts up a "no free tuners" dialog), but the long term fix is to add a new recorder status. Something like rsLiveTV, and return that instead of rsRecorded - but that will have to wait.

comment:7 Changed 13 years ago by danielk

Priority: majorminor
Severity: highmedium

major|high problem solved in [16178], downgrading remaining status reporting issue to minor|medium.

comment:8 Changed 13 years ago by Nigel

Owner: changed from Isaac Richards to Nigel
Status: newassigned

comment:9 Changed 13 years ago by Nigel

Severity: mediumlow
Type: defectpatch

Working out if an in-progress recording is scheduled, or LiveTV, should be easy:

Index: mainserver.cpp
--- mainserver.cpp      (revision 18829)
+++ mainserver.cpp      (working copy)
@@ -1343,6 +1343,8 @@
+            else if (proginfo->recgroup == "LiveTV")
+                proginfo->recstatus = rsLiveTV;
             proginfo->stars = query.value(31).toDouble();

and LiveTV could also be added into the QUERY_RECORDINGS backend query, but neither of these really helps to put up the correct popup message. Having a list of both in-progress and LiveTV recordings to switch to is easiest (even if the LiveTV ones are often truncated). I will experiment with adding rsLiveTV as above, and have RemoteGetCurrentlyRecordingList() also return recordings of that type.

comment:10 Changed 13 years ago by Nigel

(In [18850]) When listing MBE recordings, also list LiveTV recordings. See #4693. I did it in the clients instead of the backend to prevent having to add another value in RecStatusType?, probably upgrade the protocol, et c. Won't actually work until a bug is fixed in the backend's MainServer::HandleQueryRecordings?().

comment:11 Changed 13 years ago by Nigel

Resolution: fixed
Status: assignedclosed

(In [18856]) Remove a var and if block, mention in button names if recording is LiveTV. Closes #4693

Note: See TracTickets for help on using tickets.