webrtc/api/audio_codecs/opus/audio_encoder_opus.h
Mirko Bonadei b49520bfc0 Revert "Reland "Export symbols needed by the Chromium component build (part 1).""
This reverts commit 588f4642d1.

Reason for revert: Breaks WebRTC Chromium FYI Win Builder (dbg).
lld-link: error: undefined symbol: "__declspec(dllimport) __thiscall webrtc::Config::Config(void)" (__imp_??0Config@webrtc@@QAE@XZ)
[...]

Original change's description:
> Reland "Export symbols needed by the Chromium component build (part 1)."
> 
> This reverts commit 2ea9af2275.
> 
> Reason for revert: The problem will be fixed by
> https://chromium-review.googlesource.com/c/chromium/src/+/1261122.
> 
> Original change's description:
> > Revert "Export symbols needed by the Chromium component build (part 1)."
> > 
> > This reverts commit 9e24dcff16.
> > 
> > Reason for revert: Breaks chromium.webrtc.fyi bots.
> > 
> > Original change's description:
> > > Export symbols needed by the Chromium component build (part 1).
> > > 
> > > This CL uses RTC_EXPORT (defined in rtc_base/system/rtc_export.h)
> > > to mark WebRTC symbols as visible from a shared library, this doesn't
> > > mean these symbols are part of the public API (please continue to refer
> > > to [1] for info about what is considered public WebRTC API).
> > > 
> > > [1] - https://webrtc.googlesource.com/src/+/HEAD/native-api.md
> > > 
> > > Bug: webrtc:9419
> > > Change-Id: I802abd32874d42d3aa5ecd3c8022e7cf5e043d99
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/103505
> > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#24969}
> > 
> > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
> > 
> > Change-Id: I01f6e18f0d2c0f0309cdaa6c943c3927e1f1f49f
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:9419
> > Reviewed-on: https://webrtc-review.googlesource.com/c/103720
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24974}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
> 
> Change-Id: I83bbc7f550fc23e823c4d055e0a6f60c828960dd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9419
> Reviewed-on: https://webrtc-review.googlesource.com/c/103740
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24980}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org

Change-Id: I4b7cfe492f2c8eeda5c8ac52520e0cfc95ade9b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/103801
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24983}
2018-10-04 11:46:18 +00:00

43 lines
1.6 KiB
C++

/*
* Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef API_AUDIO_CODECS_OPUS_AUDIO_ENCODER_OPUS_H_
#define API_AUDIO_CODECS_OPUS_AUDIO_ENCODER_OPUS_H_
#include <memory>
#include <vector>
#include "absl/types/optional.h"
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_opus_config.h"
namespace webrtc {
// Opus encoder API for use as a template parameter to
// CreateAudioEncoderFactory<...>().
//
// NOTE: This struct is still under development and may change without notice.
struct AudioEncoderOpus {
using Config = AudioEncoderOpusConfig;
static absl::optional<AudioEncoderOpusConfig> SdpToConfig(
const SdpAudioFormat& audio_format);
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
static AudioCodecInfo QueryAudioEncoder(const AudioEncoderOpusConfig& config);
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderOpusConfig& config,
int payload_type,
absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
};
} // namespace webrtc
#endif // API_AUDIO_CODECS_OPUS_AUDIO_ENCODER_OPUS_H_