// AUTOGENERATED COPYRIGHT HEADER START
// Copyright (C) 2023 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
// AUTOGENERATED COPYRIGHT HEADER END

#pragma once
#include "handler.hpp"

namespace streamfx::encoder::ffmpeg {
	class cfhd : public handler {
		public:
		cfhd();
		virtual ~cfhd(){};

		bool has_keyframes(ffmpeg_factory* factory) override;

		std::string help(ffmpeg_factory* factory) override;

		void defaults(ffmpeg_factory* factory, obs_data_t* settings) override;

		void properties(ffmpeg_factory* factory, ffmpeg_instance* instance, obs_properties_t* props) override;

		void migrate(ffmpeg_factory* factory, ffmpeg_instance* instance, obs_data_t* settings, uint64_t version) override;

		void update(ffmpeg_factory* factory, ffmpeg_instance* instance, obs_data_t* settings) override;
	};
} // namespace streamfx::encoder::ffmpeg
