Using AVOnce as a stack variable makes no sense as the state is lost
when the function exits.
This fixes repeated calls to av(filter/device)_register_all
void avdevice_register_all(void)
{
- AVOnce control = AV_ONCE_INIT;
+ static AVOnce control = AV_ONCE_INIT;
ff_thread_once(&control, register_all);
}
void avfilter_register_all(void)
{
- AVOnce control = AV_ONCE_INIT;
+ static AVOnce control = AV_ONCE_INIT;
ff_thread_once(&control, register_all);
}
void av_register_all(void)
{
- AVOnce control = AV_ONCE_INIT;
+ static AVOnce control = AV_ONCE_INIT;
ff_thread_once(&control, register_all);
}