mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Merge branch 'develop' into merge/develop
This commit is contained in:
commit
73e8133e84
2 changed files with 40 additions and 11 deletions
|
@ -150,8 +150,6 @@ workflows:
|
|||
build_and_test:
|
||||
jobs:
|
||||
- build-c7-baseline
|
||||
- run-utest
|
||||
- run-regression-test
|
||||
- build-c7-nortc
|
||||
- build-c7-noasm
|
||||
- build-c7-srt
|
||||
|
@ -166,3 +164,23 @@ workflows:
|
|||
- build-c7-ansi-noff
|
||||
- build-cross-build-armv7
|
||||
- build-cross-build-aarch64
|
||||
- run-utest:
|
||||
requires:
|
||||
- build-c7-baseline
|
||||
- build-c7-nortc
|
||||
- build-c7-noasm
|
||||
- build-c7-srt
|
||||
- build-c8-baseline
|
||||
- build-c8-srt
|
||||
- build-u16-baseline
|
||||
- build-u16-srt
|
||||
- build-u18-baseline
|
||||
- build-u18-srt
|
||||
- build-u20-baseline
|
||||
- build-u20-srt
|
||||
- build-c7-ansi-noff
|
||||
- build-cross-build-armv7
|
||||
- build-cross-build-aarch64
|
||||
- run-regression-test:
|
||||
requires:
|
||||
- run-utest
|
||||
|
|
|
@ -1517,8 +1517,7 @@ srs_error_t SrsRtmpFromRtcBridger::packet_video_rtmp(const uint16_t start, const
|
|||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
//type_codec1 + avc_type + composition time + nalu size + nalu
|
||||
int nb_payload = 1 + 1 + 3;
|
||||
int nb_payload = 0;
|
||||
uint16_t cnt = end - start + 1;
|
||||
|
||||
for (uint16_t i = 0; i < cnt; ++i) {
|
||||
|
@ -1527,7 +1526,7 @@ srs_error_t SrsRtmpFromRtcBridger::packet_video_rtmp(const uint16_t start, const
|
|||
SrsRtpPacket* pkt = cache_video_pkts_[index].pkt;
|
||||
// calculate nalu len
|
||||
SrsRtpFUAPayload2* fua_payload = dynamic_cast<SrsRtpFUAPayload2*>(pkt->payload());
|
||||
if (fua_payload) {
|
||||
if (fua_payload && fua_payload->size > 0) {
|
||||
if (fua_payload->start) {
|
||||
nb_payload += 1 + 4;
|
||||
}
|
||||
|
@ -1539,18 +1538,28 @@ srs_error_t SrsRtmpFromRtcBridger::packet_video_rtmp(const uint16_t start, const
|
|||
if (stap_payload) {
|
||||
for (int j = 0; j < (int)stap_payload->nalus.size(); ++j) {
|
||||
SrsSample* sample = stap_payload->nalus.at(j);
|
||||
if (sample->size > 0) {
|
||||
nb_payload += 4 + sample->size;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
SrsRtpRawPayload* raw_payload = dynamic_cast<SrsRtpRawPayload*>(pkt->payload());
|
||||
if (raw_payload) {
|
||||
if (raw_payload && raw_payload->nn_payload > 0) {
|
||||
nb_payload += 4 + raw_payload->nn_payload;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (0 == nb_payload) {
|
||||
srs_warn("empty nalu");
|
||||
return err;
|
||||
}
|
||||
|
||||
//type_codec1 + avc_type + composition time + nalu size + nalu
|
||||
nb_payload += 1 + 1 + 3;
|
||||
|
||||
SrsCommonMessage rtmp;
|
||||
SrsRtpPacket* header = cache_video_pkts_[cache_index(start)].pkt;
|
||||
rtmp.header.initialize_video(nb_payload, header->header.get_timestamp() / 90, 1);
|
||||
|
@ -1578,7 +1587,7 @@ srs_error_t SrsRtmpFromRtcBridger::packet_video_rtmp(const uint16_t start, const
|
|||
cache_video_pkts_[index].sn = 0;
|
||||
|
||||
SrsRtpFUAPayload2* fua_payload = dynamic_cast<SrsRtpFUAPayload2*>(pkt->payload());
|
||||
if (fua_payload) {
|
||||
if (fua_payload && fua_payload->size > 0) {
|
||||
if (fua_payload->start) {
|
||||
nalu_len = fua_payload->size + 1;
|
||||
//skip 4 bytes to write nalu_len future
|
||||
|
@ -1603,15 +1612,17 @@ srs_error_t SrsRtmpFromRtcBridger::packet_video_rtmp(const uint16_t start, const
|
|||
if (stap_payload) {
|
||||
for (int j = 0; j < (int)stap_payload->nalus.size(); ++j) {
|
||||
SrsSample* sample = stap_payload->nalus.at(j);
|
||||
if (sample->size > 0) {
|
||||
payload.write_4bytes(sample->size);
|
||||
payload.write_bytes(sample->bytes, sample->size);
|
||||
}
|
||||
}
|
||||
srs_freep(pkt);
|
||||
continue;
|
||||
}
|
||||
|
||||
SrsRtpRawPayload* raw_payload = dynamic_cast<SrsRtpRawPayload*>(pkt->payload());
|
||||
if (raw_payload) {
|
||||
if (raw_payload && raw_payload->nn_payload > 0) {
|
||||
payload.write_4bytes(raw_payload->nn_payload);
|
||||
payload.write_bytes(raw_payload->payload, raw_payload->nn_payload);
|
||||
srs_freep(pkt);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue