修复cts小于0的问题

This commit is contained in:
xiongziliang 2020-11-07 17:44:30 +08:00
parent d957b6816a
commit bad419e41f

View File

@ -200,7 +200,10 @@ void H264RtmpEncoder::inputFrame(const Frame::Ptr &frame) {
_lastPacket->buffer.clear(); _lastPacket->buffer.clear();
_lastPacket->buffer.push_back(flags); _lastPacket->buffer.push_back(flags);
_lastPacket->buffer.push_back(!is_config); _lastPacket->buffer.push_back(!is_config);
auto cts = frame->pts() - frame->dts(); int32_t cts = frame->pts() - frame->dts();
if (cts < 0) {
cts = 0;
}
cts = htonl(cts); cts = htonl(cts);
_lastPacket->buffer.append((char *)&cts + 1, 3); _lastPacket->buffer.append((char *)&cts + 1, 3);