mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Use shared message for RTP packet
This commit is contained in:
parent
4e1935f678
commit
f794a7d3a7
8 changed files with 195 additions and 59 deletions
|
@ -844,6 +844,36 @@ srs_error_t SrsRtcPlayer::messages_to_packets(SrsRtcSource* source, vector<SrsRt
|
|||
return err;
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPlayer::package_opus(SrsRtpPacket2* pkt)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
pkt->rtp_header.set_timestamp(audio_timestamp);
|
||||
pkt->rtp_header.set_sequence(audio_sequence++);
|
||||
pkt->rtp_header.set_ssrc(audio_ssrc);
|
||||
pkt->rtp_header.set_payload_type(audio_payload_type);
|
||||
|
||||
// TODO: FIXME: Padding audio to the max payload in RTP packets.
|
||||
if (max_padding > 0) {
|
||||
}
|
||||
|
||||
// TODO: FIXME: Why 960? Need Refactoring?
|
||||
audio_timestamp += 960;
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPlayer::package_video(SrsRtpPacket2* pkt)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
pkt->rtp_header.set_sequence(video_sequence++);
|
||||
pkt->rtp_header.set_ssrc(video_ssrc);
|
||||
pkt->rtp_header.set_payload_type(video_payload_type);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPlayer::send_packets(std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingPackets& info)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
@ -1159,36 +1189,6 @@ srs_error_t SrsRtcPlayer::send_packets_gso(vector<SrsRtpPacket2*>& pkts, SrsRtcO
|
|||
return err;
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPlayer::package_opus(SrsRtpPacket2* pkt)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
pkt->rtp_header.set_timestamp(audio_timestamp);
|
||||
pkt->rtp_header.set_sequence(audio_sequence++);
|
||||
pkt->rtp_header.set_ssrc(audio_ssrc);
|
||||
pkt->rtp_header.set_payload_type(audio_payload_type);
|
||||
|
||||
// TODO: FIXME: Padding audio to the max payload in RTP packets.
|
||||
if (max_padding > 0) {
|
||||
}
|
||||
|
||||
// TODO: FIXME: Why 960? Need Refactoring?
|
||||
audio_timestamp += 960;
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPlayer::package_video(SrsRtpPacket2* pkt)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
pkt->rtp_header.set_sequence(video_sequence++);
|
||||
pkt->rtp_header.set_ssrc(video_ssrc);
|
||||
pkt->rtp_header.set_payload_type(video_payload_type);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
void SrsRtcPlayer::nack_fetch(vector<SrsRtpPacket2*>& pkts, uint32_t ssrc, uint16_t seq)
|
||||
{
|
||||
SrsRtpPacket2* pkt = NULL;
|
||||
|
@ -1712,7 +1712,8 @@ srs_error_t SrsRtcPublisher::on_rtp(char* buf, int nb_buf)
|
|||
SrsRtpPacket2* pkt = new SrsRtpPacket2();
|
||||
|
||||
pkt->set_decode_handler(this);
|
||||
pkt->original_bytes = buf;
|
||||
pkt->original_msg = new SrsSharedPtrMessage();
|
||||
pkt->original_msg->wrap(buf, nb_buf);
|
||||
|
||||
SrsBuffer b(buf, nb_buf);
|
||||
if ((err = pkt->decode(&b)) != srs_success) {
|
||||
|
@ -1737,7 +1738,7 @@ srs_error_t SrsRtcPublisher::on_rtp(char* buf, int nb_buf)
|
|||
}
|
||||
}
|
||||
|
||||
void SrsRtcPublisher::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* buf, ISrsCodec** ppayload)
|
||||
void SrsRtcPublisher::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* buf, ISrsRtpPayloader** ppayload)
|
||||
{
|
||||
// No payload, ignore.
|
||||
if (buf->empty()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue