summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2016-05-17 16:31:16 -0600
committerJohn Stebbins <[email protected]>2016-05-17 16:57:37 -0600
commit7b0b7be380be3e0a3bba0fc5703a8ea4812c71f5 (patch)
treebd834b523ba549352a5be2573d4aca11d20ff0a1
parentea52417de3b64aca61257a575417c8d7782cbc96 (diff)
sync: interleave subtitle output with other streams
-rw-r--r--libhb/sync.c23
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;
}