mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-14 23:34:08 +00:00
deps-libff: Add atomic long inc/dec functions
This commit is contained in:
parent
47783f26c7
commit
164cbeeede
9
deps/libff/CMakeLists.txt
vendored
9
deps/libff/CMakeLists.txt
vendored
|
@ -17,6 +17,7 @@ set(libff_HEADERS
|
|||
libff/ff-clock.h
|
||||
libff/ff-frame.h
|
||||
libff/ff-packet-queue.h
|
||||
libff/ff-threading.h
|
||||
libff/ff-timer.h
|
||||
#
|
||||
libff/ff-demuxer.h
|
||||
|
@ -36,6 +37,14 @@ set(libff_SOURCES
|
|||
libff/ff-audio-decoder.c
|
||||
libff/ff-video-decoder.c)
|
||||
|
||||
if (WIN32)
|
||||
list(APPEND libff_SOURCES
|
||||
libff/ff-threading-windows.c)
|
||||
else(WIN32)
|
||||
list(APPEND libff_SOURCES
|
||||
libff/ff-threading-posix.c)
|
||||
endif(WIN32)
|
||||
|
||||
add_library (libff STATIC
|
||||
${libff_HEADERS}
|
||||
${libff_SOURCES})
|
||||
|
|
27
deps/libff/libff/ff-threading-posix.c
vendored
Normal file
27
deps/libff/libff/ff-threading-posix.c
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (c) 2014 Hugh Bailey <obs.jim@gmail.com>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "ff-threading.h"
|
||||
|
||||
long ff_atomic_inc_long(volatile long *val)
|
||||
{
|
||||
return __sync_add_and_fetch(val, 1);
|
||||
}
|
||||
|
||||
long ff_atomic_dec_long(volatile long *val)
|
||||
{
|
||||
return __sync_sub_and_fetch(val, 1);
|
||||
}
|
31
deps/libff/libff/ff-threading-windows.c
vendored
Normal file
31
deps/libff/libff/ff-threading-windows.c
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (c) 2014 Hugh Bailey <obs.jim@gmail.com>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "ff-threading.h"
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
|
||||
long ff_atomic_inc_long(volatile long *val)
|
||||
{
|
||||
return InterlockedIncrement(val);
|
||||
}
|
||||
|
||||
long ff_atomic_dec_long(volatile long *val)
|
||||
{
|
||||
return InterlockedDecrement(val);
|
||||
}
|
20
deps/libff/libff/ff-threading.h
vendored
Normal file
20
deps/libff/libff/ff-threading.h
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Copyright (c) 2015 John R. Bradley <jrb@turrettech.com>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
long ff_atomic_inc_long(volatile long *val);
|
||||
long ff_atomic_dec_long(volatile long *val);
|
Loading…
Reference in a new issue