Audacity 3.2.0
AVChannelLayoutWrapper.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 AVChannelLayoutWrapper.h
6
7 Dmitry Vedenko
8
9**********************************************************************/
10#pragma once
11
12// Channel layout was introduced earlier, but we must use it starting from 59
13#define HAS_AV_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_MAJOR >= 59)
14
15#include <cstdint>
16#include <memory>
17
19
21{
22public:
23 virtual ~AVChannelLayoutWrapper() = default;
24
25 virtual uint64_t GetLegacyChannelLayout() const noexcept = 0;
26 virtual int GetChannelsCount() const noexcept = 0;
27
28 virtual const AVChannelLayout* GetChannelLayout() const noexcept = 0;
29
30 virtual std::unique_ptr<AVChannelLayoutWrapper> Clone() const = 0;
31}; // class AVChannelLayoutWrapper
32
virtual const AVChannelLayout * GetChannelLayout() const noexcept=0
virtual std::unique_ptr< AVChannelLayoutWrapper > Clone() const =0
virtual ~AVChannelLayoutWrapper()=default
virtual uint64_t GetLegacyChannelLayout() const noexcept=0
virtual int GetChannelsCount() const noexcept=0
STL namespace.