OSDN Git Service
(root)
/
handbrake-jp
/
handbrake-jp-git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WinGui:
[handbrake-jp/handbrake-jp-git.git]
/
libhb
/
muxcommon.c
diff --git
a/libhb/muxcommon.c
b/libhb/muxcommon.c
index
a5ee9b0
..
702285b
100644
(file)
--- a/
libhb/muxcommon.c
+++ b/
libhb/muxcommon.c
@@
-185,9
+185,10
@@
static void OutputTrackChunk( hb_mux_t *mux, hb_track_t *track, hb_mux_object_t
while ( ( buf = mf_peek( track ) ) != NULL && buf->start < mux->pts )
{
while ( ( buf = mf_peek( track ) ) != NULL && buf->start < mux->pts )
{
-
m->mux( m, track->mux_data, mf_pull( track )
);
+
buf = mf_pull( track
);
track->frames += 1;
track->bytes += buf->size;
track->frames += 1;
track->bytes += buf->size;
+ m->mux( m, track->mux_data, buf );
}
}
}
}
@@
-384,6
+385,10
@@
static void mux_loop( void * _w )
}
w->status = w->work( w, &buf_in, NULL );
}
w->status = w->work( w, &buf_in, NULL );
+ if( buf_in )
+ {
+ hb_buffer_close( &buf_in );
+ }
}
}
}
}
@@
-444,8
+449,7
@@
hb_work_object_t * hb_muxer_init( hb_job_t * job )
muxer->private_data->track = mux->ntracks;
muxer->fifo_in = job->fifo_mpeg4;
add_mux_track( mux, job->mux_data, 1 );
muxer->private_data->track = mux->ntracks;
muxer->fifo_in = job->fifo_mpeg4;
add_mux_track( mux, job->mux_data, 1 );
- muxer->done = &job->done;
- muxer->thread = hb_thread_init( muxer->name, mux_loop, muxer, HB_NORMAL_PRIORITY );
+ muxer->done = &muxer->private_data->mux->done;
for( i = 0; i < hb_list_count( title->list_audio ); i++ )
{
for( i = 0; i < hb_list_count( title->list_audio ); i++ )
{