Opened 11 years ago

Closed 10 years ago

Last modified 10 years ago

#5788 closed defect (fixed)

Commercial auto-skip skips backwards

Reported by: otto at kolsi dot fi Owned by: cpinkham
Priority: minor Milestone: 0.22
Component: mythtv Version: 0.21-fixes
Severity: medium Keywords: commercial break skip
Cc: Ticket locked: no

Description

With one particular recording, commercial auto-skip jumps backwards immediately after successful commskip. During the commbreak and at the time of the problem, video resolution changes (704x576 -> 720x576 -> 704x576) which might somehow confuse the player.

I've attached frontend log with "commskip,playback" which shows the problem:

2008-10-07 11:26:31.007 NVP: AutoCommercialSkip(), current framesPlayed 84307, commBreakIter frame 32651, incrementing commBreakIter
2008-10-07 11:26:31.008 NVP: AutoCommercialSkip(), new commBreakIter frame 40941
2008-10-07 11:26:31.008 NVP: AutoCommercialSkip(), auto-skipping to frame 40941

Following shows the markups for this recording:

mysql> select mark,type from recordedmarkup where chanid = 1004 AND starttime = '2008-09-03 22:00:00.0' order by mark;                
+--------+------+
| mark   | type |
+--------+------+
|      0 |   -3 | 
|      0 |    2 | 
|      0 |    4 | 
|   7049 |    5 | 
|  32651 |    4 | 
|  40941 |    5 | 
|  75526 |    4 | 
|  84253 |    5 | 
| 104178 |    4 | 
| 108046 |    5 | 
+--------+------+

There's related ticket #5667. Patch attached to that ticket has no affect on this problem.

Attachments (1)

commskip-backwards-log.txt (12.8 KB) - added by otto at kolsi dot fi 11 years ago.

Download all attachments as: .zip

Change History (10)

Changed 11 years ago by otto at kolsi dot fi

Attachment: commskip-backwards-log.txt added

comment:1 Changed 11 years ago by cpinkham

Owner: changed from Isaac Richards to cpinkham
Status: newassigned

Do you still have this video available to test with? The only way I can see this issue happening is if framesPlayed is getting reset temporarily because of the video size/aspect change, but I don't see it getting reset anywhere. If you can test, I'm curious to see what framesPlayed is inside NuppelVideoPlayer::SetCommBreakIter?(). I'm about to commmit a patch that will help in debugging this if you're running svn trunk. It will print out framesPlayed with the "NVP: new commBreakIter = 5 @ frame 84253" type messages.

comment:2 Changed 11 years ago by cpinkham

(In [19696]) Print out framesPlayed whenever we NVP::SetCommBreakIter?() with "-v commflag".

References #5788.

comment:3 in reply to:  1 Changed 11 years ago by otto at kolsi dot fi

Replying to cpinkham:

Do you still have this video available to test with? The only way I can see this issue happening is if framesPlayed is getting reset temporarily because of the video size/aspect change, but I don't see it getting reset anywhere. If you can test, I'm curious to see what framesPlayed is inside NuppelVideoPlayer::SetCommBreakIter?(). I'm about to commmit a patch that will help in debugging this if you're running svn trunk. It will print out framesPlayed with the "NVP: new commBreakIter = 5 @ frame 84253" type messages.

I have the recording still available. Originally this problem was with -fixes, I can now only test it with trunk. I'll do that after the weekend and get back.

comment:4 Changed 11 years ago by otto at kolsi dot fi

Here is the log from the backward jump:

Initialize Yadif Deinterlacer. In-Pixformat = 1 Out-Pixformat=1
yadifdeint: size changed from 0 x 0 -> 720 x 576
2009-01-20 20:29:44.052 NVP(1): new commBreakIter = 4 @ frame 75526, framesPlayed = 75526
2009-01-20 20:29:44.099 NVP(1): new commBreakIter = 5 @ frame 84253, framesPlayed = 84253
Initialize Yadif Deinterlacer. In-Pixformat = 1 Out-Pixformat=1
yadifdeint: size changed from 0 x 0 -> 704 x 576
2009-01-20 20:29:44.594 NVP(1): new commBreakIter = 5 @ frame 7049, framesPlayed = 1
2009-01-20 20:29:44.972 NVP(1): new commBreakIter = 5 @ frame 7049, framesPlayed = 7049
2009-01-20 20:29:45.319 NVP(1): new commBreakIter = 4 @ frame 32651, framesPlayed = 32651
2009-01-20 20:29:45.623 NVP(1): new commBreakIter = 5 @ frame 40941, framesPlayed = 40941

comment:5 Changed 10 years ago by cpinkham

Can anyone confirm if this issue still occurs with trunk or can provide a sample file so that I can test? If not, I'm going to close this since 0.22 is pending.

comment:6 Changed 10 years ago by otto at kolsi dot fi

Unfortunately this still occurs with trunk. I should have one or two recordings saved which show this problem. I'll try to produce a sample within few days..

comment:7 Changed 10 years ago by otto at kolsi dot fi

This problem has been fixed somewhere in trunk since my last testing so the ticket can be closed. Originally it looked somehow related to aspect changes and some values getting reseted which might have got some changes/fixes during ffmpeg sync.

Tested with three samples and all work now fine.

comment:8 Changed 10 years ago by robertm

Resolution: fixed
Status: assignedclosed

Closing as fixed per reporter. Thanks for reporting back, Otto.

comment:9 Changed 10 years ago by stuartm

Milestone: unknown0.22
Note: See TracTickets for help on using tickets.