mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
avcodec/bitstream_filter: make av_register_bitstream_filter() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
08f6fdc3e4
commit
b36b5edb8f
@ -21,6 +21,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "avcodec.h"
|
||||
#include "libavutil/atomic.h"
|
||||
#include "libavutil/mem.h"
|
||||
|
||||
static AVBitStreamFilter *first_bitstream_filter= NULL;
|
||||
@ -31,8 +32,9 @@ AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f){
|
||||
}
|
||||
|
||||
void av_register_bitstream_filter(AVBitStreamFilter *bsf){
|
||||
bsf->next = first_bitstream_filter;
|
||||
first_bitstream_filter= bsf;
|
||||
do {
|
||||
bsf->next = first_bitstream_filter;
|
||||
} while(bsf->next != avpriv_atomic_ptr_cas((void * volatile *)&first_bitstream_filter, bsf->next, bsf));
|
||||
}
|
||||
|
||||
AVBitStreamFilterContext *av_bitstream_filter_init(const char *name){
|
||||
|
Loading…
Reference in New Issue
Block a user