* 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 <MediaFormats.h>
#include "DecoderPlugin.h"
#include "EncoderPlugin.h"
#include "ReaderPlugin.h"
#include "WriterPlugin.h"
class FFmpegPlugin : public ReaderPlugin, public DecoderPlugin,
public WriterPlugin, public EncoderPlugin {
public:
virtual Reader* NewReader();
virtual Decoder* NewDecoder(uint index);
virtual status_t GetSupportedFormats(media_format** _formats,
size_t* _count);
virtual Writer* NewWriter();
virtual status_t GetSupportedFileFormats(
const media_file_format** _fileFormats,
size_t* _count);
virtual Encoder* NewEncoder(
const media_codec_info& codecInfo);
virtual Encoder* 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