Opened 12 years ago

Closed 10 years ago

#4254 closed defect (fixed)

LiveTV does not honor MasterBackendOverride

Reported by: keller Owned by: cpinkham
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: low Keywords: stream backend mbo
Cc: Ticket locked: no

Description

Here's the situation. Please tell me if my logic is wrong on this. This is all running almost-newest SVN.

Two backends: Master - RAID 5 Storage. Default and LiveTV Storage Groups point to the local directories. Both directories are shared via NFS. Slave - Tuners, no local storage. Master shares mounted via NFS. Default and LiveTV Storage Groups point to the NFS mounts.

Master Backend Override is on. ALL file reads should come from the Master.

My frontend is connected to the master backend. When I go to watch LiveTV, the slave begins recording to the correct directory (NFS share that points to Master). The frontend, however, begins streaming from the slave backend. The file is available on the Master backend, but it streams from the slave instead. This causes triple TV traffic on the network:

One trip from slave to master storage via NFS Second trip from master storage to slave via NFS Third trip from slave to frontend via mythtv protocol

If Master Backend Override is enabled, shouldn't the master backend check to see if the LiveTV file is local, and then stream it to the frontend?

Also note that once the program is not being recorded, it can be streamed from the Master backend correctly. This also goes for previously-recorded programs. It's JUST LiveTV that displays this behavior.

Please let me know if my logic is off. If this should be a patch, let me know and I'll see what I can cook up.

-Keller

Attachments (3)

Frontend Log.txt (1.9 KB) - added by keller 12 years ago.
MediaFrontend? (Frontend) Log - 10.2.0.11
Master Log.txt (2.9 KB) - added by keller 12 years ago.
PowerServer? Log (Master Backend) - 10.2.0.12
Slave Log.txt (1.5 KB) - added by keller 12 years ago.
MythServer? (Slave Backend) Log - 10.2.0.13

Download all attachments as: .zip

Change History (7)

Changed 12 years ago by keller

Attachment: Frontend Log.txt added

MediaFrontend? (Frontend) Log - 10.2.0.11

Changed 12 years ago by keller

Attachment: Master Log.txt added

PowerServer? Log (Master Backend) - 10.2.0.12

Changed 12 years ago by keller

Attachment: Slave Log.txt added

MythServer? (Slave Backend) Log - 10.2.0.13

comment:1 Changed 12 years ago by cpinkham

Try this: edit libs/libmythtv/tv_play.cpp and change every occurance of GetPlaybackURL(); to GetPlaybackURL(true);

Also change the one occurance of this: GetPlaybackURL(desiredNextState != kState_WatchingRecording); to GetPlaybackURL(true);

The 'true' argument to GetPlaybackURL() tells the method to check the master backend to see if it can stream the file.

For some reason I think we did not want to have the master stream LiveTV being recorded on another backend, but I can't remember why right now. See if you run into any long-term issues with it set this way.

comment:2 Changed 12 years ago by cpinkham

Owner: changed from Isaac Richards to cpinkham
Status: newassigned

comment:3 Changed 11 years ago by cpinkham

Severity: mediumlow
Summary: Wrong backend selected to stream LiveTVLiveTV does not honor MasterBackendOverride

comment:4 Changed 10 years ago by cpinkham

Resolution: fixed
Status: assignedclosed

Forgot to reference this in my commit log. This ticket was closed by [21366].

Note: See TracTickets for help on using tickets.