Audacity 3.2.0
AVOutputFormatWrapper.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 AVOutputFormatWrapper.h
6
7 Dmitry Vedenko
8
9**********************************************************************/
10
11#pragma once
12
13#include "FFmpegTypes.h"
14
15struct FFmpegFunctions;
17
18class FFMPEG_SUPPORT_API AVOutputFormatWrapper
19{
20public:
23
26
27 explicit AVOutputFormatWrapper(const AVOutputFormat* wrapped) noexcept;
28
29 const AVOutputFormat* GetWrappedValue() const noexcept;
30
32 virtual ~AVOutputFormatWrapper() = default;
33
34 virtual const char* GetName() const noexcept = 0;
35 virtual const char* GetLongName() const noexcept = 0;
36 virtual const char* GetMimeType() const noexcept = 0;
37 virtual const char* GetExtensions() const noexcept = 0;
38 virtual AVCodecIDFwd GetAudioCodec() const noexcept = 0;
39 virtual int GetFlags() const noexcept = 0;
40 virtual const struct AVCodecTag* const* GetCodecTag() const noexcept = 0;
41protected:
42 const AVOutputFormat* mAVOutputFormat { nullptr };
43};
int AVCodecIDFwd
Definition: AVCodecID.h:407
AVOutputFormatWrapper & operator=(AVOutputFormatWrapper &)=delete
AVOutputFormatWrapper(AVOutputFormatWrapper &&)=delete
AVOutputFormatWrapper & operator=(AVOutputFormatWrapper &&)=delete
AVOutputFormatWrapper(const AVOutputFormatWrapper &)=delete
std::vector< ProjectFileIOExtension * > & GetExtensions()