Hide the internal AudioEncoderOpus class by giving it an "Impl" suffix
We've done this previously with the other audio encoders, but Opus had to wait until all external users had been updated. BUG=webrtc:7847 Change-Id: I70422d7b6c715f32a43bee88febcf6b6155e18b3 Reviewed-on: https://webrtc-review.googlesource.com/8000 Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Oskar Sundbom <ossu@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20424}
This commit is contained in:
@ -32,25 +32,9 @@ class RtcEventLog;
|
||||
|
||||
struct CodecInst;
|
||||
|
||||
class AudioEncoderOpus final : public AudioEncoder {
|
||||
class AudioEncoderOpusImpl final : public AudioEncoder {
|
||||
public:
|
||||
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
|
||||
static AudioCodecInfo QueryAudioEncoder(const AudioEncoderOpusConfig& config);
|
||||
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
|
||||
const AudioEncoderOpusConfig&,
|
||||
int payload_type);
|
||||
|
||||
// NOTE: This alias will soon go away. See
|
||||
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7847
|
||||
using Config = AudioEncoderOpusConfig;
|
||||
|
||||
// NOTE: This function will soon go away. See
|
||||
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7847
|
||||
static Config CreateConfig(int payload_type, const SdpAudioFormat& format);
|
||||
|
||||
static AudioEncoderOpusConfig CreateConfig(const CodecInst& codec_inst);
|
||||
static rtc::Optional<AudioEncoderOpusConfig> SdpToConfig(
|
||||
const SdpAudioFormat& format);
|
||||
|
||||
// Returns empty if the current bitrate falls within the hysteresis window,
|
||||
// defined by complexity_threshold_bps +/- complexity_threshold_window_bps.
|
||||
@ -63,22 +47,18 @@ class AudioEncoderOpus final : public AudioEncoder {
|
||||
std::function<std::unique_ptr<AudioNetworkAdaptor>(const std::string&,
|
||||
RtcEventLog*)>;
|
||||
|
||||
// NOTE: This constructor will soon go away. See
|
||||
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7847
|
||||
AudioEncoderOpus(const AudioEncoderOpusConfig& config);
|
||||
|
||||
AudioEncoderOpus(const AudioEncoderOpusConfig& config, int payload_type);
|
||||
AudioEncoderOpusImpl(const AudioEncoderOpusConfig& config, int payload_type);
|
||||
|
||||
// Dependency injection for testing.
|
||||
AudioEncoderOpus(
|
||||
AudioEncoderOpusImpl(
|
||||
const AudioEncoderOpusConfig& config,
|
||||
int payload_type,
|
||||
const AudioNetworkAdaptorCreator& audio_network_adaptor_creator,
|
||||
std::unique_ptr<SmoothingFilter> bitrate_smoother);
|
||||
|
||||
explicit AudioEncoderOpus(const CodecInst& codec_inst);
|
||||
AudioEncoderOpus(int payload_type, const SdpAudioFormat& format);
|
||||
~AudioEncoderOpus() override;
|
||||
explicit AudioEncoderOpusImpl(const CodecInst& codec_inst);
|
||||
AudioEncoderOpusImpl(int payload_type, const SdpAudioFormat& format);
|
||||
~AudioEncoderOpusImpl() override;
|
||||
|
||||
// Static interface for use by BuiltinAudioEncoderFactory.
|
||||
static constexpr const char* GetPayloadName() { return "opus"; }
|
||||
@ -138,6 +118,14 @@ class AudioEncoderOpus final : public AudioEncoder {
|
||||
private:
|
||||
class PacketLossFractionSmoother;
|
||||
|
||||
static rtc::Optional<AudioEncoderOpusConfig> SdpToConfig(
|
||||
const SdpAudioFormat& format);
|
||||
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
|
||||
static AudioCodecInfo QueryAudioEncoder(const AudioEncoderOpusConfig& config);
|
||||
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
|
||||
const AudioEncoderOpusConfig&,
|
||||
int payload_type);
|
||||
|
||||
size_t Num10msFramesPerPacket() const;
|
||||
size_t SamplesPer10msFrame() const;
|
||||
size_t SufficientOutputBufferSize() const;
|
||||
@ -174,7 +162,8 @@ class AudioEncoderOpus final : public AudioEncoder {
|
||||
const std::unique_ptr<SmoothingFilter> bitrate_smoother_;
|
||||
rtc::Optional<int64_t> bitrate_smoother_last_update_time_;
|
||||
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(AudioEncoderOpus);
|
||||
friend struct AudioEncoderOpus;
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(AudioEncoderOpusImpl);
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user