diff options
author | Marton Balint <cus@passwd.hu> | 2017-03-25 19:42:17 +0300 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2017-03-28 23:00:15 +0300 |
commit | c395d230b12834752d28e81a74233daa816a26c2 (patch) | |
tree | f60d34823ab4be228616530bf9bb9e9380c81a05 /libavdevice | |
parent | 7cfa98fd9460160d94c049bf72123e88d9c41a01 (diff) |
avdevice/decklink_enc: convert to std::atomic
Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavdevice')
-rw-r--r-- | libavdevice/decklink_enc.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp index 8892d1972f..18ef9058e2 100644 --- a/libavdevice/decklink_enc.cpp +++ b/libavdevice/decklink_enc.cpp @@ -19,6 +19,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <atomic> +using std::atomic; + #include <DeckLinkAPI.h> #include <pthread.h> @@ -28,7 +31,6 @@ extern "C" { #include "libavformat/avformat.h" #include "libavformat/internal.h" #include "libavutil/imgutils.h" -#include "libavutil/atomic.h" } #include "decklink_common.h" @@ -60,10 +62,10 @@ public: virtual HRESULT STDMETHODCALLTYPE GetAncillaryData(IDeckLinkVideoFrameAncillary **ancillary) { return S_FALSE; } virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; } - virtual ULONG STDMETHODCALLTYPE AddRef(void) { return avpriv_atomic_int_add_and_fetch(&_refs, 1); } + virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; } virtual ULONG STDMETHODCALLTYPE Release(void) { - int ret = avpriv_atomic_int_add_and_fetch(&_refs, -1); + int ret = --_refs; if (!ret) { av_frame_free(&_avframe); delete this; @@ -75,7 +77,7 @@ public: AVFrame *_avframe; private: - volatile int _refs; + std::atomic<int> _refs; }; class decklink_output_callback : public IDeckLinkVideoOutputCallback |