OSDN Git Service

x264 bump to r1339-82b80ef
[handbrake-jp/handbrake-jp-git.git] / libhb / muxcommon.c
index ea01043..1f39df1 100644 (file)
@@ -262,7 +262,7 @@ static void MuxerFunc( void * _mux )
     {
         hb_subtitle_t  *subtitle = hb_list_item( title->list_subtitle, i );
 
-        if (subtitle->dest != PASSTHRUSUB)
+        if (subtitle->config.dest != PASSTHRUSUB)
             continue;
         add_mux_track( mux, subtitle->fifo_out, subtitle->mux_data, 0 );
     }
@@ -285,21 +285,18 @@ static void MuxerFunc( void * _mux )
         {
             for ( i = 0; i < mux->ntracks; ++i )
             {
-                if ( mux->rdy & (1 << i) )
+                track = mux->track[i];
+                OutputTrackChunk( mux, track, m );
+
+                // if the track is at eof or still has data that's past
+                // our next interleave point then leave it marked as rdy.
+                // Otherwise clear rdy.
+                if ( ( mux->eof & (1 << i) ) == 0 &&
+                     ( track->mf.out == track->mf.in ||
+                       track->mf.fifo[(track->mf.in-1) & (track->mf.flen-1)]->stop
+                         < mux->pts + mux->interleave ) )
                 {
-                    track = mux->track[i];
-                    OutputTrackChunk( mux, track, m );
-
-                    // if the track is at eof or still has data that's past
-                    // our next interleave point then leave it marked as rdy.
-                    // Otherwise clear rdy.
-                    if ( ( mux->eof & (1 << i) ) == 0 &&
-                         ( track->mf.out == track->mf.in ||
-                           track->mf.fifo[(track->mf.in-1) & (track->mf.flen-1)]->stop
-                             < mux->pts + mux->interleave ) )
-                    {
-                        mux->rdy &=~ ( 1 << i );
-                    }
+                    mux->rdy &=~ ( 1 << i );
                 }
             }
 
@@ -330,13 +327,12 @@ finished:
         struct stat sb;
         uint64_t bytes_total, frames_total;
 
-#define p state.param.muxing
         /* Update the UI */
         hb_state_t state;
-        state.state   = HB_STATE_MUXING;
-        p.progress = 0;
+        state.state = HB_STATE_MUXING;
+        state.param.muxing.progress = 0;
         hb_set_state( job->h, &state );
-#undef p
+
         if( m )
         {
             m->end( m );
@@ -344,23 +340,22 @@ finished:
 
         if( !stat( job->file, &sb ) )
         {
-            hb_deep_log( 2, "mux: file size, %lld bytes", (uint64_t) sb.st_size );
+            hb_deep_log( 2, "mux: file size, %"PRId64" bytes", (uint64_t) sb.st_size );
 
             bytes_total  = 0;
             frames_total = 0;
             for( i = 0; i < mux->ntracks; ++i )
             {
                 track = mux->track[i];
-                hb_log( "mux: track %d, %lld frames, %lld bytes, %.2f kbps, fifo %d",
+                hb_log( "mux: track %d, %"PRId64" frames, %"PRId64" bytes, %.2f kbps, fifo %d",
                         i, track->frames, track->bytes,
                         90000.0 * track->bytes / mux->pts / 125,
                         track->mf.flen );
                 if( !i && ( job->vquality < 0.0 || job->vquality > 1.0 ) )
                 {
                     /* Video */
-                    hb_deep_log( 2, "mux: video bitrate error, %+lld bytes",
-                            track->bytes - mux->pts * job->vbitrate *
-                            125 / 90000 );
+                    hb_deep_log( 2, "mux: video bitrate error, %+"PRId64" bytes",
+                            (int64_t)(track->bytes - mux->pts * job->vbitrate * 125 / 90000) );
                 }
                 bytes_total  += track->bytes;
                 frames_total += track->frames;