Audacity 3.2.0
AVInputFormatWrapper.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 AVInputFormatWrapper.h
6
7 Dmitry Vedenko
8
9**********************************************************************/
10
11#pragma once
12
13struct FFmpegFunctions;
15
16class FFMPEG_SUPPORT_API AVInputFormatWrapper
17{
18public:
21
24
25 explicit AVInputFormatWrapper(AVInputFormat* wrapped) noexcept;
26
27 AVInputFormat* GetWrappedValue() noexcept;
28 const AVInputFormat* GetWrappedValue() const noexcept;
29
30 virtual ~AVInputFormatWrapper() = default;
31
32 virtual const char* GetName() const noexcept = 0;
33 virtual const char* GetLongName() const noexcept = 0;
34 virtual int GetFlags() const noexcept = 0;
35 virtual const char* GetExtensions() const noexcept = 0;
36 virtual const struct AVCodecTag* const* GetCodecTag() const noexcept = 0;
37protected:
38 AVInputFormat* mAVInputFormat { nullptr };
39};
AVInputFormatWrapper(const AVInputFormatWrapper &)=delete
AVInputFormatWrapper & operator=(AVInputFormatWrapper &&)=delete
AVInputFormatWrapper & operator=(AVInputFormatWrapper &)=delete
AVInputFormatWrapper(AVInputFormatWrapper &&)=delete
std::vector< ProjectFileIOExtension * > & GetExtensions()