Opened 9 years ago

Closed 9 years ago

#2286 closed defect (fixed)

Subtitle delay adjustment inconsistency when using the "-ass" subtitle parameter.

Reported by: Hakan Owned by: beastd
Priority: normal Component: undetermined
Version: Severity: normal
Keywords: -ass, sub_delay, -subdelay Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Without the -ass parameter sub_delay works as expected.
+1 delay means show subtitles one second later, -1 delay means show subtitles one second earlier.

When using the -ass parameters sub_delay works opposite.
+1 delay shows subtitle one second earlier (problem, one second delay expected)
-1 delay shows subtitle one second later (problem, it should show subtitles one second earlier)

Is this is a bug or am i missing something?
Changing sign of delay value when using ASS fixes the problem, but this might confuse users e.g. OSD shows "sub delay: -1000ms" when subtitle delay increased +1000ms (when using the -ass parameter)

Mplayer version: MPlayer Redxii-SVN-r37734-4.9.3
OS:Windows 7, 64bit Eng

Thank you.

Change History (3)

comment:1 by reimar, 9 years ago

I could never figure out the intended behaviour.
I believe there are many different cases, and I'd rather have them fixed all at once.
Are you testing with muxed or external subtitles? Because I think they might behave differently.
Also, -dumpsub I think is supposed to take the sub delay into account as well, but I think it goes the wrong way, too.
Double-checking of all these and which needs to be fixed would be welcome.

comment:2 by Hakan, 9 years ago

Mplayer version: MPlayer Redxii-SVN-r37734-4.9.3
OS:Windows 7, 64bit Eng

Test 1: (buggy) -ass + sub_delay + Embedded subtitle
Test 2: (buggy) -ass + sub_delay + External subtitle (srt)
Test 3: -ass + sub_delay + External subtitle (*.sub+*.idx)

Test 4: (buggy differently) -ass + -subdelay 2 + Embedded subtitle
Test 5: (buggy) -ass + -subdelay 2 + External subtitle (srt)
Test 6: -ass + -subdelay 2 + External subtitle (*.sub+*.idx)

Test 7: -subdelay 2 + Embedded subtitle
Test 8: -subdelay 2 + External subtitle (srt)
Test 9: -subdelay 2 + External subtitle (*.sub+*.idx)

Test 10: sub_delay + Embedded subtitle
Test 11: sub_delay + External subtitle (srt)
Test 12: sub_delay + External subtitle (*.sub+*.idx)

Test 1: Tested embedded subtitle delay with -ass parameter with slave mode parameter sub_delay
Result: Seems buggy (mplayer shows negative delay value (-2000ms) when subtitle delay increased +2000ms, because we have to send negative value to increase subtitle delay because -ass works opposite -1 increases delay +1 decreases delay, ass seems to work this way.)

Test 2: Tested external subtitle (SRT) delay with -ass parameter slave mode parameter sub_delay
Result: same as test one

Test 3: Tested external *.vob and *.idx subtitle pairs delay with -ass parameter slave mode parameter sub_delay
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 4: Tested embedded subtitle delay with -ass parameter with -subdelay 2
Result: embedded subtitle did not show up, when I tried with -subdelay 1 one second delay, subtitle dialogs displayed 1 second delayed but very shortly and disappeared. Duration problem i think. I performed test on three different video file and all behaved the same.

Test 5: Tested external subtitle (SRT) delay with -ass parameter with -subdelay 2
Result: we tried to delay subtitle 2 seconds, but subtitle shows 2 seconds early (delay 2 seconds decreased)

Test 6: Tested external *.vob and *.idx subtitle pairs delay with -ass parameter with -subdelay 2
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 7: Tested external subtitle (SRT) delay without -ass parameter with slave mode parameter sub_delay
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 8: Tested embedded subtitle delay without -ass parameter with slave mode parameter sub_delay
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 9: Tested external *.vob and *.idx subtitle delay without -ass parameter with slave mode parameter sub_delay
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 10: Tested external subtitle (SRT) delay without -ass parameter with -subdelay 2
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 11: Tested embedded subtitle delay without -ass parameter with -subdelay 2
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 12: Tested external *.vob and *.idx subtitle delay without -ass parameter with -subdelay 2
Result: Worked as expected (+value increases delay, -value decreases delay)

Test 13: -dumpsub I could not test this parameter. I am inexperienced on it.

plus
In slave mode sub_pos does not work when the -ass parameter is used.

comment:3 by reimar, 9 years ago

Resolution: fixed
Status: newclosed

Wow, thanks.
I always though it was more broken than that.
Should be fixed by r37814.

Note: See TracTickets for help on using tickets.