mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-27 04:35:34 +08:00
Finish AV1 rtp packetizer
This commit is contained in:
@@ -312,6 +312,23 @@ int IceTransmission::SendData(DATA_TYPE type, const char *data, size_t size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int IceTransmission::SendVideoData(VideoFrameType frame_type, const char *data,
|
||||
size_t size) {
|
||||
if (NiceComponentState::NICE_COMPONENT_STATE_READY == state_) {
|
||||
std::vector<RtpPacket> packets;
|
||||
|
||||
if (rtp_video_sender_) {
|
||||
if (video_rtp_codec_) {
|
||||
video_rtp_codec_->Encode(
|
||||
static_cast<RtpCodec::VideoFrameType>(frame_type), (uint8_t *)data,
|
||||
size, packets);
|
||||
}
|
||||
rtp_video_sender_->Enqueue(packets);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t IceTransmission::CheckIsRtcpPacket(const char *buffer, size_t size) {
|
||||
if (size < 4) {
|
||||
return 0;
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
class IceTransmission {
|
||||
public:
|
||||
typedef enum { VIDEO = 96, AUDIO = 97, DATA = 127 } DATA_TYPE;
|
||||
enum VideoFrameType {
|
||||
kEmptyFrame = 0,
|
||||
kVideoFrameKey = 3,
|
||||
kVideoFrameDelta = 4,
|
||||
};
|
||||
|
||||
public:
|
||||
IceTransmission(bool offer_peer, std::string &transmission_id,
|
||||
@@ -66,6 +71,12 @@ class IceTransmission {
|
||||
|
||||
int SendData(DATA_TYPE type, const char *data, size_t size);
|
||||
|
||||
int SendVideoData(VideoFrameType frame_type, const char *data, size_t size);
|
||||
|
||||
int SendAudioData(const char *data, size_t size);
|
||||
|
||||
int SendUserData(const char *data, size_t size);
|
||||
|
||||
public:
|
||||
int GatherCandidates();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user