diff options
author | jstebbins <[email protected]> | 2014-12-16 16:50:50 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2014-12-16 16:50:50 +0000 |
commit | f56efd7b52c89da8cac55b4d4a187f2c87fdfee6 (patch) | |
tree | 24eacb856704fa8e4b8b8f0edc76568916f70255 /libhb/sync.c | |
parent | d0a975e42dcab93e1d2eead350fb1ba3951d977c (diff) |
json: add json APIs
There are several changes to job and title structs that break
current windows interop code. The interop code should be changed
such that it only uses json APIs. So if there is any missing
features (or bugs) in these APIs, please let me know.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6602 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/sync.c')
-rw-r--r-- | libhb/sync.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libhb/sync.c b/libhb/sync.c index 5f7cbd4e6..e62a742fc 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -171,7 +171,8 @@ hb_work_object_t * hb_sync_init( hb_job_t * job ) else if( job->frame_to_stop ) { /* Set the duration to a rough estimate */ - duration = ( job->frame_to_stop / ( title->rate / title->rate_base ) ) * 90000; + duration = (int64_t)job->frame_to_stop * title->vrate.den * 90000 / + title->vrate.num; } else { @@ -182,7 +183,7 @@ hb_work_object_t * hb_sync_init( hb_job_t * job ) duration += chapter->duration; } } - sync->count_frames_max = duration * title->rate / title->rate_base / 90000; + sync->count_frames_max = duration * title->vrate.num / title->vrate.den / 90000; } hb_log( "sync: expecting %d video frames", sync->count_frames_max ); @@ -697,7 +698,7 @@ int syncVideoWork( hb_work_object_t * w, hb_buffer_t ** buf_in, pv->common->first_pts[0] = INT64_MAX - 1; cur->s.start = sync->next_start; - cur->s.stop = cur->s.start + 90000. / ((double)job->vrate / (double)job->vrate_base); + cur->s.stop = cur->s.start + 90000L * job->vrate.den / job->vrate.num; sync->next_start += cur->s.stop - cur->s.start;; /* Make sure last frame is reflected in frame count */ |