diff options
author | jstebbins <[email protected]> | 2010-04-22 01:57:09 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-04-22 01:57:09 +0000 |
commit | fa7502ca1b3fb07a785e59d9834009df54bfb19a (patch) | |
tree | e2e41939b759591cac1f64c3b898ae3ca5b25d68 /libhb/muxcommon.c | |
parent | 264340057fe7b79509bc1a206583ea1ccab975c0 (diff) |
fix fps logging when there is no audio track.
where there's no audio, the muxer closes earlier than when there is audio
due to reference counting. upon close, the muxer sets the muxing
state which overwrites the current state that includes the avg fps.
so log the avg fps before closing mux.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3251 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/muxcommon.c')
-rw-r--r-- | libhb/muxcommon.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/libhb/muxcommon.c b/libhb/muxcommon.c index 702285bba..b6b5a2a57 100644 --- a/libhb/muxcommon.c +++ b/libhb/muxcommon.c @@ -289,6 +289,19 @@ void muxClose( hb_work_object_t * w ) hb_lock( mux->mutex ); if ( --mux->ref == 0 ) { + // Update state before closing muxer. Closing the muxer + // may initiate optimization which can take a while and + // we want the muxing state to be visible while this is + // happening. + if( job->pass == 0 || job->pass == 2 ) + { + /* Update the UI */ + hb_state_t state; + state.state = HB_STATE_MUXING; + state.param.muxing.progress = 0; + hb_set_state( job->h, &state ); + } + if( mux->m ) { mux->m->end( mux->m ); @@ -301,12 +314,6 @@ void muxClose( hb_work_object_t * w ) struct stat sb; uint64_t bytes_total, frames_total; - /* Update the UI */ - hb_state_t state; - state.state = HB_STATE_MUXING; - state.param.muxing.progress = 0; - hb_set_state( job->h, &state ); - if( !stat( job->file, &sb ) ) { hb_deep_log( 2, "mux: file size, %"PRId64" bytes", (uint64_t) sb.st_size ); |