ffmpeg | branch: master | Marton Balint <c...@passwd.hu> | Sat Mar 25 17:42:17 2017 +0100| [c395d230b12834752d28e81a74233daa816a26c2] | committer: Marton Balint
avdevice/decklink_enc: convert to std::atomic Signed-off-by: Marton Balint <c...@passwd.hu> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c395d230b12834752d28e81a74233daa816a26c2 --- libavdevice/decklink_enc.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp index 8892d19..18ef905 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 _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog