Bug #3158

Some styled ASS subtitles problem

Added by Rural Hunter almost 5 years ago. Updated almost 5 years ago.

Status:FixedStart date:06/01/2016
Priority:NormalDue date:
Assignee:Andreas Smas% Done:


Target version:5.2
Found in version:5.0.240 Platform:Linux


It seems some text styles are displayed instead of processed. See the numbers string at the right side of the attached image. Those numbers are displayed all the time and the actual subtitles is not displayed since they appears. The subtitles displayed fine in other players.

2016-06-01 11_22_52屏幕截图.png (798 KB) Rural Hunter, 06/01/2016 05:30 AM

Game.of.Thrones.S06E05.720p.HDTV.x264-NCARBBS.AVS.ass - the problematic subtitles (813 KB) Rural Hunter, 06/01/2016 05:34 AM


#1 Updated by Rural Hunter almost 5 years ago

sorry forgot to upload the subtitles

#2 Updated by Rural Hunter almost 5 years ago

@Andreas, I'm trying to trace this problem in source and have some finds. There are actually 2 problems here:
1. Those numbers displayed are ASS drawing command which seems not supported by movian now. And I found the way to skip them.
2. Subtitle is not displayed if movian is already displaying a long standing subtitle such as some water marks. That means at one time only one subtitle can be displayed.

My question regarding the source in ext_subtitles.c:
static void
vo_deliver(ext_subtitles_t *es, video_overlay_t *vo, media_pipe_t *mp,
int64_t user_time, int64_t user_time_to_pts) {
int64_t s = vo->vo_start;
do {
es->es_cur = vo;

video_overlay_t *dup = video_overlay_dup(vo);
dup->vo_start += user_time_to_pts;
dup->vo_stop += user_time_to_pts;
video_overlay_enqueue(mp, dup);
vo = TAILQ_NEXT(vo, vo_link);
} while(vo != NULL && vo->vo_start == s && vo->vo_stop > user_time);
After a subtitle is enqueued into mp->mp_overlay_queue by function video_overlay_enqueue, when it will be removed from the mp->mp_overlay_queue? After it is displayed or after time is out of the time range of the subtitle?

#3 Updated by Rural Hunter almost 5 years ago

I created pull request https://github.com/andoma/movian/pull/213.
There is still a problem left about the long standing subtitle(water mark) since I haven't figure out a way to check if a vo is displaying or not.
So when a subtitles_pick is triggered and the current subtitle(es->es_cur) is NULL:
1. If I delivery the water mark, then it will be redelivered every time in the gap of two normal subtitle items.
2. If I skip the water mark, then when a seek happens, the water mark won't be displayed again.
Currently I chose the 2nd option. Pls improve it if possible. Thanks.

#4 Updated by Andreas Smas almost 5 years ago

  • Status changed from New to Fixed
  • Target version set to 5.2

Also available in: Atom PDF