X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fdecklink_output.h;fp=nageru%2Fdecklink_output.h;h=f008dc3b32bec8f0c1aba542c4d3de3a8167b047;hb=a823a1f7d9f454913044ff8e0e17acbc73f86316;hp=8213f498a9d0677df7fe77b928acc7dce8951825;hpb=9c1ba559ab99bcf3198ca3c0776566af49d0fab3;p=nageru diff --git a/nageru/decklink_output.h b/nageru/decklink_output.h index 8213f49..f008dc3 100644 --- a/nageru/decklink_output.h +++ b/nageru/decklink_output.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include "DeckLinkAPI.h" @@ -38,6 +39,7 @@ class QSurface; class DeckLinkOutput : public IDeckLinkVideoOutputCallback { public: DeckLinkOutput(movit::ResourcePool *resource_pool, QSurface *surface, unsigned width, unsigned height, unsigned card_index); + ~DeckLinkOutput(); // The IDecklinkInput argument is to work around a bug // in the 11.7 and newer drivers against older SDKs, @@ -138,7 +140,7 @@ private: std::mutex frame_queue_mutex; std::queue> pending_video_frames; // Under . std::queue> frame_freelist; // Under . - std::deque scheduled_frames; // Owned by the driver, so no unique_ptr. Under . + std::unordered_set scheduled_frames; // Owned by the driver, so no unique_ptr. Under . std::condition_variable frame_queues_changed; bool playback_initiated = false, playback_started = false;