[mythtv] Ticket #8631: Treat cutlists like lossless transcoding
Michael T. Dean
mtdean at thirdcontact.com
Mon Jul 5 17:55:56 UTC 2010
On 07/04/2010 11:10 AM, Jim Stichnoth wrote:
> On Thu, Jul 1, 2010 at 7:06 PM, MythTV<mythtv at cvs.mythtv.org> wrote:
>> #8631: Treat cutlists like lossless transcoding
>> ------------------------------------------------+---------------------------
>> Reporter: Jim Stichnoth<stichnot@…> | Owner: ijr
>> Type: enhancement | Status: new
>> Priority: minor | Milestone: unknown
>> Component: MythTV - General | Version: Unspecified
>> Severity: medium | Mlocked: 0
>> ------------------------------------------------+---------------------------
>> This patch makes playback when a cutlist is present behave much more like
>> after lossless transcoding. In particular:
>>
>> 1. The playback progress indicator reflects the cutlist. For example, it
>> might display "Play 7:43 of 42:44" instead of "Play 9:39 of 60:00".
>>
>> 2. Seek operations, such as jumping forward or backward or to a particular
>> minute mark, also take the cutlist into account.
>>
>> I'm a little concerned that this introduces even more conversions back and
>> forth between frames and seconds, but that cleanup is beyond the scope of
>> this patch...
> I thought this description might deserve more commentary.
>
> Before watching a recording, I usually quickly create a cutlist to
> edit out the commercials. When looking at the status during playback,
> I prefer to see the current position and total length as though the
> cut sections were permanently deleted. That's what the changes in
> NuppelVideoPlayer.cpp do.
>
> Then I noticed that jumping and seeking were inconsistent. After
> pressing "30i" to jump to the 30-minute mark, the status indicator
> might report only being at the 22-minute mark. Jumping forward 10
> minutes might appear to only jump 8 minutes. The changes in
> tv_play.cpp make seeking and jumping consistent again.
>
> Editing, bookmark setting/seeking, etc. continue to use untranslated
> frame numbers.
>
> If this kind of presentation is judged to be outside the design
> principles, feel free to close the ticket. Otherwise, I'll continue
> to maintain the patch.
Jim, I like the idea of making the information available, but I think it
should be available as just another piece of data in the map, so that
themers can choose to display it or not--or, more likely, to decide
where to display each piece of data. It would also be nice to factor in
the flag list, even if a cut list isn't specified (once it becomes an
alternative/additional/optional display element).
As far as the jumping and seeking goes, though, I'm not sure if that's a
good thing. I know that 3/4 of the way through a 1-hr TV show is the
45-min mark. If I have a cutlist applied and the 1-hr show is now 38min
of content, I have no clue what 3/4 is--let alone the fact that I have
no idea how long various programs are after cutting commercials.
Therefore, I'd like to make this "optional" by the use of different key
bindings (i.e. LEFT/RIGHT/UP/DOWN work as they always have, but
LEFTIGNORECUTS (or whatever--better name appreciated) seeks while
factoring in the cutlist. (And, of course, the other key binding
wouldn't factor in the flag list for seeking/jumping since you may need
to seek to find parts of the show that the flagger mistakenly removed.)
The biggest problem with the alternative keybindings approach is that
doing it elegantly requires some changes to keybindings I have planned
to unroll the overloaded bindings into separate bindings. Until then,
though, just adding another case(s) to the TV::SeekHandleAction()
function would be fine.
Mike
More information about the mythtv-dev
mailing list