summaryrefslogtreecommitdiffstats
path: root/libhb/muxcommon.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2010-04-22 01:57:09 +0000
committerjstebbins <[email protected]>2010-04-22 01:57:09 +0000
commitfa7502ca1b3fb07a785e59d9834009df54bfb19a (patch)
treee2e41939b759591cac1f64c3b898ae3ca5b25d68 /libhb/muxcommon.c
parent264340057fe7b79509bc1a206583ea1ccab975c0 (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.c19
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 );