/* * Copyright (C) 2001 Carlos Hasan. All Rights Reserved. * Copyright (C) 2001 François Revol. All Rights Reserved. * Copyright (C) 2001 Axel Dörfler. All Rights Reserved. * Copyright (C) 2004 Marcus Overhagen. All Rights Reserved. * * Distributed under the terms of the MIT License. */ #ifndef FFMPEG_PLUGIN_H #define FFMPEG_PLUGIN_H #include #include #include #include #include using namespace BCodecKit; class FFmpegPlugin : public BReaderPlugin, public BDecoderPlugin, public BWriterPlugin, public BEncoderPlugin { public: virtual BReader* NewReader(); virtual BDecoder* NewDecoder(uint index); virtual status_t GetSupportedFormats(media_format** _formats, size_t* _count); virtual BWriter* NewWriter(); virtual status_t GetSupportedFileFormats( const media_file_format** _fileFormats, size_t* _count); virtual BEncoder* NewEncoder( const media_codec_info& codecInfo); virtual BEncoder* NewEncoder(const media_format& format); virtual status_t RegisterNextEncoder(int32* cookie, media_codec_info* codecInfo, media_format_family* formatFamily, media_format* inputFormat, media_format* outputFormat); }; #endif // FFMPEG_PLUGIN_H