• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

githubのコードからのfolk


Commit MetaInfo

Revisiond5a9342b573294d9af3a77915a80bbeb442bdd09 (tree)
Time2010-10-04 02:10:49
Authorjstebbins <jstebbins@b64f...>
Commiterjstebbins

Log Message

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

Change Summary

Incremental Difference

--- a/libhb/muxcommon.c
+++ b/libhb/muxcommon.c
@@ -247,7 +247,8 @@ static int muxWork( hb_work_object_t * w, hb_buffer_t ** buf_in,
247247 int more = mux->rdy;
248248 // all tracks have at least 'interleave' ticks of data. Output
249249 // 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 ) )
251252 {
252253 more = 0;
253254 for ( i = 0; i < mux->ntracks; ++i )