aboutsummaryrefslogtreecommitdiffstats
path: root/libavdevice
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2017-03-25 17:42:17 +0100
committerMarton Balint <cus@passwd.hu>2017-03-28 22:00:15 +0200
commitc395d230b12834752d28e81a74233daa816a26c2 (patch)
treef60d34823ab4be228616530bf9bb9e9380c81a05 /libavdevice
parent7cfa98fd9460160d94c049bf72123e88d9c41a01 (diff)
downloadffmpeg-c395d230b12834752d28e81a74233daa816a26c2.tar.gz
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.cpp10
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