[FFmpeg-devel] [PATCH] Use AVOnce as a static variable consistently
Hendrik Leppkes
h.leppkes at gmail.com
Mon May 22 13:06:19 EEST 2017
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
More information about the ffmpeg-devel
mailing list