These functions used to be passed directly to pthread_create(), which required them to return void*. This is no longer the case, so they can return a plain int. --- fftools/ffmpeg.h | 4 ++-- fftools/ffmpeg_dec.c | 6 +++--- fftools/ffmpeg_demux.c | 4 ++-- fftools/ffmpeg_enc.c | 4 ++-- fftools/ffmpeg_filter.c | 6 +++--- fftools/ffmpeg_mux.c | 4 ++-- fftools/ffmpeg_sched.c | 2 +- fftools/ffmpeg_sched.h | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 1a60f035b0..1966817bc3 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -832,7 +832,7 @@ void update_benchmark(const char *fmt, ...); const char *opt_match_per_type_str(const SpecifierOptList *sol, char mediatype); -void *muxer_thread(void *arg); -void *encoder_thread(void *arg); +int muxer_thread(void *arg); +int encoder_thread(void *arg); #endif /* FFTOOLS_FFMPEG_H */ diff --git a/fftools/ffmpeg_dec.c b/fftools/ffmpeg_dec.c index 7005ada527..3bf7ab4960 100644 --- a/fftools/ffmpeg_dec.c +++ b/fftools/ffmpeg_dec.c @@ -124,7 +124,7 @@ static const AVClass dec_class = { .item_name = dec_item_name, }; -static void *decoder_thread(void *arg); +static int decoder_thread(void *arg); static int dec_alloc(DecoderPriv **pdec, Scheduler *sch, int send_end_ts) { @@ -789,7 +789,7 @@ fail: return AVERROR(ENOMEM); } -static void *decoder_thread(void *arg) +static int decoder_thread(void *arg) { DecoderPriv *dp = arg; DecThreadContext dt; @@ -884,7 +884,7 @@ static void *decoder_thread(void *arg) finish: dec_thread_uninit(&dt); - return (void*)(intptr_t)ret; + return ret; } static enum AVPixelFormat get_format(AVCodecContext *s, const enum AVPixelFormat *pix_fmts) diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 032a96567f..47312c9fe1 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -675,7 +675,7 @@ static int demux_thread_init(DemuxThreadContext *dt) return 0; } -static void *input_thread(void *arg) +static int input_thread(void *arg) { Demuxer *d = arg; InputFile *f = &d->f; @@ -780,7 +780,7 @@ static void *input_thread(void *arg) finish: demux_thread_uninit(&dt); - return (void*)(intptr_t)ret; + return ret; } static void demux_final_stats(Demuxer *d) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index bdba50df03..1ddef46d03 100644 --- a/fftools/ffmpeg_enc.c +++ b/fftools/ffmpeg_enc.c @@ -870,7 +870,7 @@ fail: return AVERROR(ENOMEM); } -void *encoder_thread(void *arg) +int encoder_thread(void *arg) { OutputStream *ost = arg; Encoder *e = ost->enc; @@ -948,5 +948,5 @@ void *encoder_thread(void *arg) finish: enc_thread_uninit(&et); - return (void*)(intptr_t)ret; + return ret; } diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 6438cbd73b..a29008387a 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -626,7 +626,7 @@ static int ifilter_has_all_input_formats(FilterGraph *fg) return 1; } -static void *filter_thread(void *arg); +static int filter_thread(void *arg); static char *describe_filter_link(FilterGraph *fg, AVFilterInOut *inout, int in) { @@ -2735,7 +2735,7 @@ fail: return AVERROR(ENOMEM); } -static void *filter_thread(void *arg) +static int filter_thread(void *arg) { FilterGraphPriv *fgp = arg; FilterGraph *fg = &fgp->fg; @@ -2849,7 +2849,7 @@ finish: fg_thread_uninit(&fgt); - return (void*)(intptr_t)ret; + return ret; } void fg_send_command(FilterGraph *fg, double time, const char *target, diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c index 6ba54b878b..59befefab2 100644 --- a/fftools/ffmpeg_mux.c +++ b/fftools/ffmpeg_mux.c @@ -404,7 +404,7 @@ fail: return AVERROR(ENOMEM); } -void *muxer_thread(void *arg) +int muxer_thread(void *arg) { Muxer *mux = arg; OutputFile *of = &mux->of; @@ -453,7 +453,7 @@ void *muxer_thread(void *arg) finish: mux_thread_uninit(&mt); - return (void*)(intptr_t)ret; + return ret; } static int of_streamcopy(OutputFile *of, OutputStream *ost, AVPacket *pkt) diff --git a/fftools/ffmpeg_sched.c b/fftools/ffmpeg_sched.c index 1144fce958..cf9b0c836e 100644 --- a/fftools/ffmpeg_sched.c +++ b/fftools/ffmpeg_sched.c @@ -2226,7 +2226,7 @@ static void *task_wrapper(void *arg) int ret; int err = 0; - ret = (intptr_t)task->func(task->func_arg); + ret = task->func(task->func_arg); if (ret < 0) av_log(task->func_arg, AV_LOG_ERROR, "Task finished with error code: %d (%s)\n", ret, av_err2str(ret)); diff --git a/fftools/ffmpeg_sched.h b/fftools/ffmpeg_sched.h index 95f9c1d4db..fc6711f9c3 100644 --- a/fftools/ffmpeg_sched.h +++ b/fftools/ffmpeg_sched.h @@ -102,7 +102,7 @@ typedef struct SchedulerNode { unsigned idx_stream; } SchedulerNode; -typedef void* (*SchThreadFunc)(void *arg); +typedef int (*SchThreadFunc)(void *arg); #define SCH_DSTREAM(file, stream) \ (SchedulerNode){ .type = SCH_NODE_TYPE_DEMUX, \ -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".