githubのコードからのfolk
Revision | d5a9342b573294d9af3a77915a80bbeb442bdd09 (tree) |
---|---|
Time | 2010-10-04 02:10:49 |
Author | jstebbins <jstebbins@b64f...> |
Commiter | jstebbins |
fix another hang in the muxer.
If all streams are at EOF, then we must continue processing
the track queues till they are all empty.
git-svn-id: svn://localhost/HandBrake/trunk@3564 b64f7644-9d1e-0410-96f1-a4d463321fa5
@@ -247,7 +247,8 @@ static int muxWork( hb_work_object_t * w, hb_buffer_t ** buf_in, | ||
247 | 247 | int more = mux->rdy; |
248 | 248 | // all tracks have at least 'interleave' ticks of data. Output |
249 | 249 | // all that we can in 'interleave' size chunks. |
250 | - while ( ( mux->rdy & mux->allRdy ) == mux->allRdy && more ) | |
250 | + while ( (( mux->rdy & mux->allRdy ) == mux->allRdy && more) || | |
251 | + ( mux->eof == mux->allEof ) ) | |
251 | 252 | { |
252 | 253 | more = 0; |
253 | 254 | for ( i = 0; i < mux->ntracks; ++i ) |