Repo created
This commit is contained in:
parent
81b91f4139
commit
f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions
48
TMessagesProj/jni/voip/webrtc/api/call/audio_sink.h
Normal file
48
TMessagesProj/jni/voip/webrtc/api/call/audio_sink.h
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Copyright (c) 2015 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_CALL_AUDIO_SINK_H_
|
||||
#define API_CALL_AUDIO_SINK_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// Represents a simple push audio sink.
|
||||
class AudioSinkInterface {
|
||||
public:
|
||||
virtual ~AudioSinkInterface() {}
|
||||
|
||||
struct Data {
|
||||
Data(const int16_t* data,
|
||||
size_t samples_per_channel,
|
||||
int sample_rate,
|
||||
size_t channels,
|
||||
uint32_t timestamp)
|
||||
: data(data),
|
||||
samples_per_channel(samples_per_channel),
|
||||
sample_rate(sample_rate),
|
||||
channels(channels),
|
||||
timestamp(timestamp) {}
|
||||
|
||||
const int16_t* data; // The actual 16bit audio data.
|
||||
size_t samples_per_channel; // Number of frames in the buffer.
|
||||
int sample_rate; // Sample rate in Hz.
|
||||
size_t channels; // Number of channels in the audio data.
|
||||
uint32_t timestamp; // The RTP timestamp of the first sample.
|
||||
};
|
||||
|
||||
virtual void OnData(const Data& audio) = 0;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // API_CALL_AUDIO_SINK_H_
|
||||
45
TMessagesProj/jni/voip/webrtc/api/call/bitrate_allocation.h
Normal file
45
TMessagesProj/jni/voip/webrtc/api/call/bitrate_allocation.h
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright 2018 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_CALL_BITRATE_ALLOCATION_H_
|
||||
#define API_CALL_BITRATE_ALLOCATION_H_
|
||||
|
||||
#include "api/units/data_rate.h"
|
||||
#include "api/units/time_delta.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// BitrateAllocationUpdate provides information to allocated streams about their
|
||||
// bitrate allocation. It originates from the BitrateAllocater class and is
|
||||
// propagated from there.
|
||||
struct BitrateAllocationUpdate {
|
||||
// The allocated target bitrate. Media streams should produce this amount of
|
||||
// data. (Note that this may include packet overhead depending on
|
||||
// configuration.)
|
||||
DataRate target_bitrate = DataRate::Zero();
|
||||
// The allocated part of the estimated link capacity. This is more stable than
|
||||
// the target as it is based on the underlying link capacity estimate. This
|
||||
// should be used to change encoder configuration when the cost of change is
|
||||
// high.
|
||||
DataRate stable_target_bitrate = DataRate::Zero();
|
||||
// Predicted packet loss ratio.
|
||||
double packet_loss_ratio = 0;
|
||||
// Predicted round trip time.
|
||||
TimeDelta round_trip_time = TimeDelta::PlusInfinity();
|
||||
// `bwe_period` is deprecated, use `stable_target_bitrate` allocation instead.
|
||||
TimeDelta bwe_period = TimeDelta::PlusInfinity();
|
||||
// Congestion window pushback bitrate reduction fraction. Used in
|
||||
// VideoStreamEncoder to reduce the bitrate by the given fraction
|
||||
// by dropping frames.
|
||||
double cwnd_reduce_ratio = 0;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // API_CALL_BITRATE_ALLOCATION_H_
|
||||
23
TMessagesProj/jni/voip/webrtc/api/call/transport.cc
Normal file
23
TMessagesProj/jni/voip/webrtc/api/call/transport.cc
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2018 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.
|
||||
*/
|
||||
|
||||
#include "api/call/transport.h"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
PacketOptions::PacketOptions() = default;
|
||||
|
||||
PacketOptions::PacketOptions(const PacketOptions&) = default;
|
||||
|
||||
PacketOptions::~PacketOptions() = default;
|
||||
|
||||
} // namespace webrtc
|
||||
58
TMessagesProj/jni/voip/webrtc/api/call/transport.h
Normal file
58
TMessagesProj/jni/voip/webrtc/api/call/transport.h
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (c) 2013 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_CALL_TRANSPORT_H_
|
||||
#define API_CALL_TRANSPORT_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "api/array_view.h"
|
||||
#include "api/ref_counted_base.h"
|
||||
#include "api/scoped_refptr.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// TODO(holmer): Look into unifying this with the PacketOptions in
|
||||
// asyncpacketsocket.h.
|
||||
struct PacketOptions {
|
||||
PacketOptions();
|
||||
PacketOptions(const PacketOptions&);
|
||||
~PacketOptions();
|
||||
|
||||
// A 16 bits positive id. Negative ids are invalid and should be interpreted
|
||||
// as packet_id not being set.
|
||||
int packet_id = -1;
|
||||
// Additional data bound to the RTP packet for use in application code,
|
||||
// outside of WebRTC.
|
||||
rtc::scoped_refptr<rtc::RefCountedBase> additional_data;
|
||||
// Whether this is a retransmission of an earlier packet.
|
||||
bool is_retransmit = false;
|
||||
bool included_in_feedback = false;
|
||||
bool included_in_allocation = false;
|
||||
// Whether this packet can be part of a packet batch at lower levels.
|
||||
bool batchable = false;
|
||||
// Whether this packet is the last of a batch.
|
||||
bool last_packet_in_batch = false;
|
||||
};
|
||||
|
||||
class Transport {
|
||||
public:
|
||||
virtual bool SendRtp(rtc::ArrayView<const uint8_t> packet,
|
||||
const PacketOptions& options) = 0;
|
||||
virtual bool SendRtcp(rtc::ArrayView<const uint8_t> packet) = 0;
|
||||
|
||||
protected:
|
||||
virtual ~Transport() {}
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // API_CALL_TRANSPORT_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue