Cheng Sun <[email protected]> writes: > Revised patch to fix a compile error on windows. > > --- > libavcodec/pthread.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c > index dae28e6..17fc5c3 100644 > --- a/libavcodec/pthread.c > +++ b/libavcodec/pthread.c > @@ -70,6 +70,7 @@ typedef struct PerThreadContext { > struct FrameThreadContext *parent; > > pthread_t thread; > + int thread_init; > pthread_cond_t input_cond; ///< Used to wait for a new packet > from the main thread. > pthread_cond_t progress_cond; ///< Used by child threads to wait > for progress to change. > pthread_cond_t output_cond; ///< Used by the main thread to > wait for frames to finish. > @@ -651,7 +652,7 @@ static void frame_thread_free(AVCodecContext *avctx, > int thread_count) > pthread_cond_signal(&p->input_cond); > pthread_mutex_unlock(&p->mutex); > > - if (p->thread) > + if (p->thread_init) > pthread_join(p->thread, NULL);
Please fix indentation. > if (codec->close) > @@ -757,6 +758,7 @@ static int frame_thread_init(AVCodecContext *avctx) > if (err) goto error; > > pthread_create(&p->thread, NULL, frame_worker_thread, p); > + p->thread_init = 1; This should check for error in pthread_create(). -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
