[FFmpeg-devel] [PATCH] Use AVOnce as a static variable consistently
Steven Liu
lingjiujianke at gmail.com
Mon May 22 13:46:53 EEST 2017
2017-05-22 18:06 GMT+08:00 Hendrik Leppkes <h.leppkes at gmail.com>:
> Using AVOnce as a stack variable makes no sense as the state is lost
> when the function exists.
>
> This fixes repeated calls to av(filter/device)_register_all
> ---
> libavdevice/alldevices.c | 2 +-
> libavfilter/allfilters.c | 2 +-
> libavformat/allformats.c | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c
> index 280a260bd3..a8ed53ae5d 100644
> --- a/libavdevice/alldevices.c
> +++ b/libavdevice/alldevices.c
> @@ -73,7 +73,7 @@ static void register_all(void)
>
> void avdevice_register_all(void)
> {
> - AVOnce control = AV_ONCE_INIT;
> + static AVOnce control = AV_ONCE_INIT;
>
> ff_thread_once(&control, register_all);
> }
> diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
> index 2bcfce77be..f8cd193dbe 100644
> --- a/libavfilter/allfilters.c
> +++ b/libavfilter/allfilters.c
> @@ -390,7 +390,7 @@ static void register_all(void)
>
> void avfilter_register_all(void)
> {
> - AVOnce control = AV_ONCE_INIT;
> + static AVOnce control = AV_ONCE_INIT;
>
> ff_thread_once(&control, register_all);
> }
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index 62661d14a4..b3ffe0f2b6 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -385,7 +385,7 @@ static void register_all(void)
>
> void av_register_all(void)
> {
> - AVOnce control = AV_ONCE_INIT;
> + static AVOnce control = AV_ONCE_INIT;
>
> ff_thread_once(&control, register_all);
> }
> --
> 2.12.2.windows.2
>
LGTM
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
More information about the ffmpeg-devel
mailing list