diff options
author | eddyg <[email protected]> | 2009-05-08 00:33:01 +0000 |
---|---|---|
committer | eddyg <[email protected]> | 2009-05-08 00:33:01 +0000 |
commit | 0c2c36b28e201266161daadfa7b68f9a31f983c3 (patch) | |
tree | 0595f3cc552f75f5657da4585e04e657eca4c5ff /libhb | |
parent | f923df5d7f32362798f2660378b40ea4dd91869e (diff) |
Fix timestamps on CC's they are now 100% ready and working. Thanks to j45 and ritsuka for their assistence in getting soft subs finally in HB.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2403 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb')
-rw-r--r-- | libhb/muxmp4.c | 5 | ||||
-rw-r--r-- | libhb/sync.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/libhb/muxmp4.c b/libhb/muxmp4.c index 0f06deb15..f6c462298 100644 --- a/libhb/muxmp4.c +++ b/libhb/muxmp4.c @@ -657,7 +657,6 @@ static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data, hb_error("Failed to write to output file, disk full?"); *job->die = 1; } - hb_log("Subtitle not due yet, adding delay of %lld", buf->start - m->sum_sub_duration); m->sum_sub_duration += buf->start - m->sum_sub_duration; } @@ -680,9 +679,9 @@ static int MP4Mux( hb_mux_object_t * m, hb_mux_data_t * mux_data, } m->sum_sub_duration += (buf->stop - buf->start); - hb_log("MuxMP4:Sub:%lld:%lld:%lld: %s", buf->start, buf->stop, + hb_deep_log(3, "MuxMP4:Sub:%fs:%lld:%lld:%lld: %s", (float)buf->start / 90000, buf->start, buf->stop, (buf->stop - buf->start), buf->data); - hb_log("MuxMP4:Total time elapsed:%lld", m->sum_sub_duration); + hb_deep_log(3, "MuxMP4:Total time elapsed:%lld", m->sum_sub_duration); } } else diff --git a/libhb/sync.c b/libhb/sync.c index c5842148c..eee4708f5 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -449,13 +449,20 @@ static void SyncVideo( hb_work_object_t * w ) sub = NULL; break; } else { + /* + * Sync the subtitles to the incoming video, and use + * the matching converted video timestamp. + * + * Note that it doesn't appear that we need to convert + * timestamps, I guess that they were already correct, + * so just push them through for rendering. + * + */ if( sub->start < cur->start ) { uint64_t duration; duration = sub->stop - sub->start; sub = hb_fifo_get( subtitle->fifo_raw ); - sub->start = pv->next_start; - sub->stop = sub->start + duration; hb_fifo_push( subtitle->fifo_out, sub ); } else { sub = NULL; |