diff options
author | John Stebbins <[email protected]> | 2016-05-17 16:31:16 -0600 |
---|---|---|
committer | John Stebbins <[email protected]> | 2016-05-17 16:57:37 -0600 |
commit | 7b0b7be380be3e0a3bba0fc5703a8ea4812c71f5 (patch) | |
tree | bd834b523ba549352a5be2573d4aca11d20ff0a1 | |
parent | ea52417de3b64aca61257a575417c8d7782cbc96 (diff) |
sync: interleave subtitle output with other streams
-rw-r--r-- | libhb/sync.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/libhb/sync.c b/libhb/sync.c index da92af9e8..a72980702 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -958,20 +958,6 @@ static void OutputBuffer( sync_common_t * common ) if (hb_list_count(stream->in_queue) > stream->min_len) { buf = hb_list_item(stream->in_queue, 0); - if (stream->type == SYNC_TYPE_SUBTITLE) - { - // Forward subtitles immediately instead of interleaving. - // - // Normally, we interleave output by PTS in order to - // optimize sync recovery. This results in queueing - // stream data that may not get delivered to it's - // respecitive output fifo until the next input data - // is received for that stream. This isn't a problem - // for continuous streams like audio and video, but - // it delays subtitles unacceptably. - out_stream = stream; - break; - } if (buf->s.start < pts) { pts = buf->s.start; @@ -1096,12 +1082,9 @@ static void OutputBuffer( sync_common_t * common ) default: break; } - out_stream->first_frame = 1; - out_stream->first_pts = buf->s.start; - if (out_stream->type != SYNC_TYPE_SUBTITLE) - { - out_stream->next_pts = buf->s.start; - } + out_stream->first_frame = 1; + out_stream->first_pts = buf->s.start; + out_stream->next_pts = buf->s.start; out_stream->min_frame_duration = buf->s.duration; } |