1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

RTC: Refine RTMP bridge to RTC, use RTP packets in consumer

This commit is contained in:
winlin 2020-05-14 09:33:00 +08:00
parent 54d8c36905
commit 2b1c4a188a
7 changed files with 340 additions and 286 deletions

View file

@ -636,6 +636,7 @@ public:
SrsAvcLevel avc_level;
// lengthSizeMinusOne, ISO_IEC_14496-15-AVC-format-2012.pdf, page 16
int8_t NAL_unit_length;
// Note that we may resize the vector, so the under-layer bytes may change.
std::vector<char> sequenceParameterSetNALUnit;
std::vector<char> pictureParameterSetNALUnit;
public:

View file

@ -31,6 +31,7 @@ using namespace std;
#include <srs_kernel_error.hpp>
#include <srs_kernel_buffer.hpp>
#include <srs_kernel_utility.hpp>
#include <srs_kernel_flv.hpp>
SrsRtpHeader::SrsRtpHeader()
{
@ -280,6 +281,7 @@ SrsRtpPacket2::SrsRtpPacket2()
nalu_type = SrsAvcNaluTypeReserved;
original_bytes = NULL;
original_msg = NULL;
frame_type = SrsFrameTypeReserved;
cache_raw = new SrsRtpRawPayload();
@ -299,6 +301,7 @@ SrsRtpPacket2::~SrsRtpPacket2()
srs_freep(cache_fua);
srs_freepa(original_bytes);
srs_freep(original_msg);
}
void SrsRtpPacket2::set_padding(int size)

View file

@ -56,6 +56,7 @@ const uint8_t kEnd = 0x40; // Fu-header end bit
class SrsBuffer;
class SrsRtpRawPayload;
class SrsRtpFUAPayload2;
class SrsSharedPtrMessage;
class SrsRtpHeader
{
@ -121,6 +122,8 @@ public:
SrsAvcNaluType nalu_type;
// The original bytes for decoder or bridger only, we will free it.
char* original_bytes;
// The original msg for bridger only, we will free it.
SrsSharedPtrMessage* original_msg;
// The frame type, for RTMP bridger or SFU source.
SrsFrameType frame_type;
// Fast cache for performance.