| Index: webrtc/modules/audio_coding/main/interface/audio_coding_module.h
|
| diff --git a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
|
| index d0b7b03c43c1e228d4e25ea9d98c389de9b754e5..830f1e5b7710a9593ca2ac00ba4c3d86eaff3ff0 100644
|
| --- a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
|
| +++ b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
|
| @@ -753,177 +753,6 @@ class AudioCodingModule {
|
| AudioDecodingCallStats* call_stats) const = 0;
|
| };
|
|
|
| -class AudioEncoder;
|
| -class ReceiverInfo;
|
| -
|
| -class AudioCoding {
|
| - public:
|
| - struct Config {
|
| - Config();
|
| -
|
| - AudioCodingModule::Config ToOldConfig() const {
|
| - AudioCodingModule::Config old_config;
|
| - old_config.id = 0;
|
| - old_config.neteq_config = neteq_config;
|
| - old_config.clock = clock;
|
| - return old_config;
|
| - }
|
| -
|
| - NetEq::Config neteq_config;
|
| - Clock* clock;
|
| - AudioPacketizationCallback* transport;
|
| - ACMVADCallback* vad_callback;
|
| - int initial_playout_delay_ms;
|
| - int playout_channels;
|
| - int playout_frequency_hz;
|
| - };
|
| -
|
| - static AudioCoding* Create(const Config& config);
|
| - virtual ~AudioCoding() {};
|
| -
|
| - // Registers a codec, specified by |send_codec|, as sending codec.
|
| - // This API can be called multiple times. The last codec registered overwrites
|
| - // the previous ones. Returns true if successful, false if not.
|
| - //
|
| - // Note: If a stereo codec is registered as send codec, VAD/DTX will
|
| - // automatically be turned off, since it is not supported for stereo sending.
|
| - virtual bool RegisterSendCodec(AudioEncoder* send_codec) = 0;
|
| -
|
| - // Temporary solution to be used during refactoring:
|
| - // |encoder_type| should be from the anonymous enum in acm2::ACMCodecDB.
|
| - virtual bool RegisterSendCodec(int encoder_type,
|
| - uint8_t payload_type,
|
| - int frame_size_samples = 0) = 0;
|
| -
|
| - // Returns the encoder object currently in use. This is the same as the
|
| - // codec that was registered in the latest call to RegisterSendCodec().
|
| - virtual const AudioEncoder* GetSenderInfo() const = 0;
|
| -
|
| - // Temporary solution to be used during refactoring.
|
| - virtual const CodecInst* GetSenderCodecInst() = 0;
|
| -
|
| - // Adds 10 ms of raw (PCM) audio data to the encoder. If the sampling
|
| - // frequency of the audio does not match the sampling frequency of the
|
| - // current encoder, ACM will resample the audio.
|
| - //
|
| - // Return value:
|
| - // 0 successfully added the frame.
|
| - // -1 some error occurred and data is not added.
|
| - // < -1 to add the frame to the buffer n samples had to be
|
| - // overwritten, -n is the return value in this case.
|
| - // TODO(henrik.lundin): Make a better design for the return values. This one
|
| - // is just a copy of the old API.
|
| - virtual int Add10MsAudio(const AudioFrame& audio_frame) = 0;
|
| -
|
| - // Returns a combined info about the currently used decoder(s).
|
| - virtual const ReceiverInfo* GetReceiverInfo() const = 0;
|
| -
|
| - // Registers a codec, specified by |receive_codec|, as receiving codec.
|
| - // This API can be called multiple times. If registering with a payload type
|
| - // that was already registered in a previous call, the latest call will
|
| - // override previous calls. Returns true if successful, false if not.
|
| - virtual bool RegisterReceiveCodec(AudioDecoder* receive_codec) = 0;
|
| -
|
| - // Temporary solution:
|
| - // |decoder_type| should be from the anonymous enum in acm2::ACMCodecDB.
|
| - virtual bool RegisterReceiveCodec(int decoder_type, uint8_t payload_type) = 0;
|
| -
|
| - // The following two methods both inserts a new packet to the receiver.
|
| - // InsertPacket takes an RTP header input in |rtp_info|, while InsertPayload
|
| - // only requires a payload type and a timestamp. The latter assumes that the
|
| - // payloads come in the right order, and without any losses. In both cases,
|
| - // |incoming_payload| contains the RTP payload after the RTP header. Return
|
| - // true if successful, false if not.
|
| - virtual bool InsertPacket(const uint8_t* incoming_payload,
|
| - size_t payload_len_bytes,
|
| - const WebRtcRTPHeader& rtp_info) = 0;
|
| -
|
| - // TODO(henrik.lundin): Remove this method?
|
| - virtual bool InsertPayload(const uint8_t* incoming_payload,
|
| - size_t payload_len_byte,
|
| - uint8_t payload_type,
|
| - uint32_t timestamp) = 0;
|
| -
|
| - // These two methods set a minimum and maximum jitter buffer delay in
|
| - // milliseconds. The pupose is mainly to adjust the delay to synchronize
|
| - // audio and video. The preferred jitter buffer size, computed by NetEq based
|
| - // on the current channel conditions, is clamped from below and above by these
|
| - // two methods. The given delay limits must be non-negative, less than
|
| - // 10000 ms, and the minimum must be strictly smaller than the maximum.
|
| - // Further, the maximum must be at lest one frame duration. If these
|
| - // conditions are not met, false is returned. Giving the value 0 effectively
|
| - // unsets the minimum or maximum delay limits.
|
| - // Note that calling these methods is optional. If not called, NetEq will
|
| - // determine the optimal buffer size based on the network conditions.
|
| - virtual bool SetMinimumPlayoutDelay(int time_ms) = 0;
|
| -
|
| - virtual bool SetMaximumPlayoutDelay(int time_ms) = 0;
|
| -
|
| - // Returns the current value of the jitter buffer's preferred latency. This
|
| - // is computed based on inter-arrival times and playout mode of NetEq. The
|
| - // actual target delay is this value clamped from below and above by the
|
| - // values specified through SetMinimumPlayoutDelay() and
|
| - // SetMaximumPlayoutDelay(), respectively, if provided.
|
| - // TODO(henrik.lundin) Rename to PreferredDelayMs?
|
| - virtual int LeastRequiredDelayMs() const = 0;
|
| -
|
| - // The send timestamp of an RTP packet is associated with the decoded
|
| - // audio of the packet in question. This function returns the timestamp of
|
| - // the latest audio delivered by Get10MsAudio(). Returns false if no timestamp
|
| - // can be provided, true otherwise.
|
| - virtual bool PlayoutTimestamp(uint32_t* timestamp) = 0;
|
| -
|
| - // Delivers 10 ms of audio in |audio_frame|. Returns true if successful,
|
| - // false otherwise.
|
| - virtual bool Get10MsAudio(AudioFrame* audio_frame) = 0;
|
| -
|
| - // Returns the network statistics. Note that the internal statistics of NetEq
|
| - // are reset by this call. Returns true if successful, false otherwise.
|
| - virtual bool GetNetworkStatistics(NetworkStatistics* network_statistics) = 0;
|
| -
|
| - // Enables NACK and sets the maximum size of the NACK list. If NACK is already
|
| - // enabled then the maximum NACK list size is modified accordingly. Returns
|
| - // true if successful, false otherwise.
|
| - //
|
| - // If the sequence number of last received packet is N, the sequence numbers
|
| - // of NACK list are in the range of [N - |max_nack_list_size|, N).
|
| - //
|
| - // |max_nack_list_size| should be positive and less than or equal to
|
| - // |Nack::kNackListSizeLimit|.
|
| - virtual bool EnableNack(size_t max_nack_list_size) = 0;
|
| -
|
| - // Disables NACK.
|
| - virtual void DisableNack() = 0;
|
| -
|
| -
|
| - // Temporary solution to be used during refactoring.
|
| - // If DTX is enabled and the codec does not have internal DTX/VAD
|
| - // WebRtc VAD will be automatically enabled and |enable_vad| is ignored.
|
| - //
|
| - // If DTX is disabled but VAD is enabled no DTX packets are sent,
|
| - // regardless of whether the codec has internal DTX/VAD or not. In this
|
| - // case, WebRtc VAD is running to label frames as active/in-active.
|
| - //
|
| - // NOTE! VAD/DTX is not supported when sending stereo.
|
| - //
|
| - // Return true if successful, false otherwise.
|
| - virtual bool SetVad(bool enable_dtx,
|
| - bool enable_vad,
|
| - ACMVADMode vad_mode) = 0;
|
| -
|
| - // Returns a list of packets to request retransmission of.
|
| - // |round_trip_time_ms| is an estimate of the round-trip-time (in
|
| - // milliseconds). Missing packets which will be decoded sooner than the
|
| - // round-trip-time (with respect to the time this API is called) will not be
|
| - // included in the list.
|
| - // |round_trip_time_ms| must be non-negative.
|
| - virtual std::vector<uint16_t> GetNackList(int round_trip_time_ms) const = 0;
|
| -
|
| - // Returns the timing statistics for calls to Get10MsAudio.
|
| - virtual void GetDecodingCallStatistics(
|
| - AudioDecodingCallStats* call_stats) const = 0;
|
| -};
|
| -
|
| } // namespace webrtc
|
|
|
| #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_
|
|
|