-Subproject commit 753cbaf5cec7411bdfe5171404c8586b8015faec
+Subproject commit 487a136592e4bd5acda92d35cf52fe4489c69bbf
for (IDeckLinkDisplayMode *mode_ptr; mode_it->Next(&mode_ptr) == S_OK; mode_ptr->Release()) {
VideoMode mode;
- mode.id = mode_ptr->GetDisplayMode();
const char *mode_name;
if (mode_ptr->GetName(&mode_name) != S_OK) {
// TODO: Respect the TFF/BFF flag.
mode.interlaced = (mode_ptr->GetFieldDominance() == bmdLowerFieldFirst || mode_ptr->GetFieldDominance() == bmdUpperFieldFirst);
- video_modes.push_back(mode);
+ uint32_t id = mode_ptr->GetDisplayMode();
+ video_modes.insert(make_pair(id, mode));
}
// TODO: Make the user mode selectable.
void start_bm_capture() override;
void stop_dequeue_thread() override;
- std::vector<VideoMode> get_available_video_modes() const override { return video_modes; }
+ std::map<uint32_t, VideoMode> get_available_video_modes() const override { return video_modes; }
void set_video_mode(uint32_t video_mode_id) override;
private:
BMDTimeValue frame_duration;
BMDTimeScale time_scale;
- std::vector<VideoMode> video_modes;
+ std::map<uint32_t, VideoMode> video_modes;
BMDDisplayMode current_video_mode;
};