[FFmpeg-cvslog] fftools/ffmpeg_sched: move sch_stop() to the bottom of the file
ffmpeg | branch: release/7.0 | Anton Khirnov | Wed Mar 27 09:31:14 2024 +0100| [da903c558bb18b5476be4272fdaabaa7152892b9] | committer: Anton Khirnov fftools/ffmpeg_sched: move sch_stop() to the bottom of the file Will allow avoiding forward declarations in following commits. (cherry picked from commit af81788f303a972c951fddc59d04521a9f112799) Signed-off-by: Anton Khirnov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da903c558bb18b5476be4272fdaabaa7152892b9 --- fftools/ffmpeg_sched.c | 138 - 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/fftools/ffmpeg_sched.c b/fftools/ffmpeg_sched.c index ec88017e21..67c32fb5a0 100644 --- a/fftools/ffmpeg_sched.c +++ b/fftools/ffmpeg_sched.c @@ -399,22 +399,6 @@ static int queue_alloc(ThreadQueue **ptq, unsigned nb_streams, unsigned queue_si static void *task_wrapper(void *arg); -static int task_stop(SchTask *task) -{ -int ret; -void *thread_ret; - -if (!task->thread_running) -return 0; - -ret = pthread_join(task->thread, _ret); -av_assert0(ret == 0); - -task->thread_running = 0; - -return (intptr_t)thread_ret; -} - static int task_start(SchTask *task) { int ret; @@ -468,59 +452,6 @@ static int64_t trailing_dts(const Scheduler *sch, int count_finished) return min_dts == INT64_MAX ? AV_NOPTS_VALUE : min_dts; } -int sch_stop(Scheduler *sch, int64_t *finish_ts) -{ -int ret = 0, err; - -atomic_store(>terminate, 1); - -for (unsigned type = 0; type < 2; type++) -for (unsigned i = 0; i < (type ? sch->nb_demux : sch->nb_filters); i++) { -SchWaiter *w = type ? >demux[i].waiter : >filters[i].waiter; -waiter_set(w, 1); -} - -for (unsigned i = 0; i < sch->nb_demux; i++) { -SchDemux *d = >demux[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_dec; i++) { -SchDec *dec = >dec[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_filters; i++) { -SchFilterGraph *fg = >filters[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_enc; i++) { -SchEnc *enc = >enc[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_mux; i++) { -SchMux *mux = >mux[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -if (finish_ts) -*finish_ts = trailing_dts(sch, 1); - -return ret; -} - void sch_free(Scheduler **psch) { Scheduler *sch = *psch; @@ -2518,3 +2449,72 @@ static void *task_wrapper(void *arg) return (void*)(intptr_t)ret; } + +static int task_stop(SchTask *task) +{ +int ret; +void *thread_ret; + +if (!task->thread_running) +return 0; + +ret = pthread_join(task->thread, _ret); +av_assert0(ret == 0); + +task->thread_running = 0; + +return (intptr_t)thread_ret; +} + +int sch_stop(Scheduler *sch, int64_t *finish_ts) +{ +int ret = 0, err; + +atomic_store(>terminate, 1); + +for (unsigned type = 0; type < 2; type++) +for (unsigned i = 0; i < (type ? sch->nb_demux : sch->nb_filters); i++) { +SchWaiter *w = type ? >demux[i].waiter : >filters[i].waiter; +waiter_set(w, 1); +} + +for (unsigned i = 0; i < sch->nb_demux; i++) { +SchDemux *d = >demux[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_dec; i++) { +SchDec *dec = >dec[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_filters; i++) { +SchFilterGraph *fg = >filters[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_enc; i++) { +SchEnc *enc = >enc[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_mux; i++) { +SchMux *mux = >mux[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +if (finish_ts) +*finish_ts = trailing_dts(sch, 1); + +return ret; +} ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] fftools/ffmpeg_sched: move sch_stop() to the bottom of the file
ffmpeg | branch: master | Anton Khirnov | Wed Mar 27 09:31:14 2024 +0100| [af81788f303a972c951fddc59d04521a9f112799] | committer: Anton Khirnov fftools/ffmpeg_sched: move sch_stop() to the bottom of the file Will allow avoiding forward declarations in following commits. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=af81788f303a972c951fddc59d04521a9f112799 --- fftools/ffmpeg_sched.c | 138 - 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/fftools/ffmpeg_sched.c b/fftools/ffmpeg_sched.c index 30b2355eb6..422c665c96 100644 --- a/fftools/ffmpeg_sched.c +++ b/fftools/ffmpeg_sched.c @@ -399,22 +399,6 @@ static int queue_alloc(ThreadQueue **ptq, unsigned nb_streams, unsigned queue_si static void *task_wrapper(void *arg); -static int task_stop(SchTask *task) -{ -int ret; -void *thread_ret; - -if (!task->thread_running) -return 0; - -ret = pthread_join(task->thread, _ret); -av_assert0(ret == 0); - -task->thread_running = 0; - -return (intptr_t)thread_ret; -} - static int task_start(SchTask *task) { int ret; @@ -468,59 +452,6 @@ static int64_t trailing_dts(const Scheduler *sch, int count_finished) return min_dts == INT64_MAX ? AV_NOPTS_VALUE : min_dts; } -int sch_stop(Scheduler *sch, int64_t *finish_ts) -{ -int ret = 0, err; - -atomic_store(>terminate, 1); - -for (unsigned type = 0; type < 2; type++) -for (unsigned i = 0; i < (type ? sch->nb_demux : sch->nb_filters); i++) { -SchWaiter *w = type ? >demux[i].waiter : >filters[i].waiter; -waiter_set(w, 1); -} - -for (unsigned i = 0; i < sch->nb_demux; i++) { -SchDemux *d = >demux[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_dec; i++) { -SchDec *dec = >dec[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_filters; i++) { -SchFilterGraph *fg = >filters[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_enc; i++) { -SchEnc *enc = >enc[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -for (unsigned i = 0; i < sch->nb_mux; i++) { -SchMux *mux = >mux[i]; - -err = task_stop(>task); -ret = err_merge(ret, err); -} - -if (finish_ts) -*finish_ts = trailing_dts(sch, 1); - -return ret; -} - void sch_free(Scheduler **psch) { Scheduler *sch = *psch; @@ -2516,3 +2447,72 @@ static void *task_wrapper(void *arg) return (void*)(intptr_t)ret; } + +static int task_stop(SchTask *task) +{ +int ret; +void *thread_ret; + +if (!task->thread_running) +return 0; + +ret = pthread_join(task->thread, _ret); +av_assert0(ret == 0); + +task->thread_running = 0; + +return (intptr_t)thread_ret; +} + +int sch_stop(Scheduler *sch, int64_t *finish_ts) +{ +int ret = 0, err; + +atomic_store(>terminate, 1); + +for (unsigned type = 0; type < 2; type++) +for (unsigned i = 0; i < (type ? sch->nb_demux : sch->nb_filters); i++) { +SchWaiter *w = type ? >demux[i].waiter : >filters[i].waiter; +waiter_set(w, 1); +} + +for (unsigned i = 0; i < sch->nb_demux; i++) { +SchDemux *d = >demux[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_dec; i++) { +SchDec *dec = >dec[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_filters; i++) { +SchFilterGraph *fg = >filters[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_enc; i++) { +SchEnc *enc = >enc[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +for (unsigned i = 0; i < sch->nb_mux; i++) { +SchMux *mux = >mux[i]; + +err = task_stop(>task); +ret = err_merge(ret, err); +} + +if (finish_ts) +*finish_ts = trailing_dts(sch, 1); + +return ret; +} ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".