Opened 13 years ago

Closed 11 years ago

Last modified 11 years ago

#11713 closed Developer Task (Fixed)

add mythical bookmark at the scheduled start of programme (to automatically skip preroll)

Reported by: Karl Egly Owned by: Jim Stichnoth
Priority: minor Milestone: 0.28
Component: MythTV - Recording Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description (last modified by Karl Egly)

As there may be or not be soft padding applied to recordings it would be nice to be able to start watching recordings at the scheduled beginning of the programme.

http://irc.mythtv.org/ircLog/channel/4/2013-07-29:18:34/2013-07-29:18:54

(I don't know that area of the code base. So if anyone else gets to it first that's fine.)

Attachments (3)

11713_v1.patch (32.9 KB ) - added by Jim Stichnoth 11 years ago.
11713_v2.patch (31.3 KB ) - added by Jim Stichnoth 11 years ago.
Rename preroll==>progstart, and playpos==>lastplaypos.
0001-Add-utility-function-to-clear-all-bookmarks.patch (3.1 KB ) - added by Karl Egly 11 years ago.
proof of concept (compile tested) implementing the suggestion from the mailing list discussion

Download all attachments as: .zip

Change History (18)

comment:1 by Karl Egly, 12 years ago

Milestone: 0.27.20.27.5

comment:2 by Karl Egly, 11 years ago

Description: modified (diff)

comment:4 by Jim Stichnoth, 11 years ago

Owner: changed from Karl Egly to Jim Stichnoth
Status: newaccepted

After some more thought, here's the current plan.

Add a new value MARK_UTIL_PREROLL to MarkTypes.

RecorderBase::SavePositionMap() writes this mark as soon as it encounters a keyframe close to the recording's scheduled start time.

The frontend PBB starts playback from this keyframe if the user selects Play and there is no explicit bookmark (but not if the user selects one of the "Play from..." menu items).

I also want another "utility mark" mechanism:

Add a new value MARK_UTIL_PLAYPOS to MarkTypes.

The TV class (tv_play.cpp) adds a timer event that auto-saves the current playback frame with this mark type every 30 seconds. The actual saving is done in a background thread to avoid playback glitches.

The "Play from..." menu gets a new item:

Play from last played position

If you accidentally exit playback without setting a bookmark (or mythfrontend crashes, or the OS crashes, or ...), this allows you to resume roughly where you left off.

by Jim Stichnoth, 11 years ago

Attachment: 11713_v1.patch added

comment:5 by Jim Stichnoth, 11 years ago

I'll be trying out 11713_v1.patch for several days before committing. Other testers/feedback appreciated.

by Jim Stichnoth, 11 years ago

Attachment: 11713_v2.patch added

Rename preroll==>progstart, and playpos==>lastplaypos.

comment:6 by Jim Stichnoth <jstichnoth@…>, 11 years ago

In c13b8361627f971cef10d47eb52445157f23eff6/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:7 by Jim Stichnoth, 11 years ago

Resolution: Fixed
Status: acceptedclosed

comment:8 by Jim Stichnoth, 11 years ago

comment:9 by Jim Stichnoth, 11 years ago

comment:10 by Jim Stichnoth <jstichnoth@…>, 11 years ago

In 38443b8e6a306335d0dabe434ba4e983a62fd056/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:11 by Jim Stichnoth <jstichnoth@…>, 11 years ago

In e2e9b1e1d60d5d6e851b972fd0c360844032c53a/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:12 by Jim Stichnoth, 11 years ago

Milestone: 0.27.50.28

comment:13 by J.Pilk@…, 11 years ago

I hadn't rebuilt master since the qt5 switch, so hadn't noticed this.

I cut most of my recordings with the intention of letting me see the parts I want. Now playback starts two minutes late. That is the duration of my specified pre-roll. For me the scheduled start time is rarely a good guide to reality.

My cutting script clears the cutlist and marks its output as transcoded; I believe that the 'lossless' mythtranscode does the same. If this commit is still thought useful it ought to be disabled for cases like that.

http://www.gossamer-threads.com/lists/mythtv/users/588641#588641

by Karl Egly, 11 years ago

proof of concept (compile tested) implementing the suggestion from the mailing list discussion

comment:14 by J.Pilk@…, 11 years ago

Yes, that patch and its explanation look good and likely to let me solve the late-start-of-playback effect I'm seeing with output from my current mythDVBcut script. I'm afraid I don't see my way to testing it anytime soon, though. No experience yet in *buntu builds - nor with recent master and el7 clones.

Thanks.

comment:15 by Karl Dietz <dekarl@…>, 11 years ago

In d231e4636908fb814a9b1d90d18c4b902e2c7f6c/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available
Note: See TracTickets for help on using tickets.