1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-15 04:42:04 +00:00

RTC: Generate timestamp only when transcode opus to aac.

This commit is contained in:
winlin 2020-06-16 13:39:02 +08:00
parent 2c1bd6da3e
commit cf738754ae
4 changed files with 6 additions and 7 deletions

View file

@ -494,11 +494,8 @@ SrsRtcPlayer::SrsRtcPlayer(SrsRtcSession* s, int parent_cid)
session_ = s; session_ = s;
audio_timestamp = 0;
audio_sequence = 0; audio_sequence = 0;
video_sequence = 0; video_sequence = 0;
mw_msgs = 0; mw_msgs = 0;
realtime = true; realtime = true;
@ -711,15 +708,12 @@ srs_error_t SrsRtcPlayer::send_packets(SrsRtcSource* source, const vector<SrsRtp
if (pkt->is_audio()) { if (pkt->is_audio()) {
info.nn_audios++; info.nn_audios++;
pkt->header.set_timestamp(audio_timestamp);
pkt->header.set_sequence(audio_sequence++); pkt->header.set_sequence(audio_sequence++);
pkt->header.set_ssrc(audio_ssrc); pkt->header.set_ssrc(audio_ssrc);
pkt->header.set_payload_type(audio_payload_type); pkt->header.set_payload_type(audio_payload_type);
// TODO: FIXME: Padding audio to the max payload in RTP packets. // TODO: FIXME: Padding audio to the max payload in RTP packets.
// TODO: FIXME: Why 960? Need Refactoring?
audio_timestamp += 960;
continue; continue;
} }

View file

@ -195,7 +195,6 @@ protected:
private: private:
// TODO: FIXME: How to handle timestamp overflow? // TODO: FIXME: How to handle timestamp overflow?
// Information for audio. // Information for audio.
uint32_t audio_timestamp;
uint16_t audio_sequence; uint16_t audio_sequence;
uint32_t audio_ssrc; uint32_t audio_ssrc;
uint16_t audio_payload_type; uint16_t audio_payload_type;

View file

@ -424,6 +424,7 @@ SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcSource* source)
discard_bframe = false; discard_bframe = false;
merge_nalus = false; merge_nalus = false;
meta = new SrsMetaCache(); meta = new SrsMetaCache();
audio_timestamp = 0;
} }
SrsRtcFromRtmpBridger::~SrsRtcFromRtmpBridger() SrsRtcFromRtmpBridger::~SrsRtcFromRtmpBridger()
@ -592,6 +593,10 @@ srs_error_t SrsRtcFromRtmpBridger::package_opus(char* data, int size, SrsRtpPack
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeAudio; pkt->frame_type = SrsFrameTypeAudio;
pkt->header.set_marker(true); pkt->header.set_marker(true);
pkt->header.set_timestamp(audio_timestamp);
// TODO: FIXME: Why 960? Need Refactoring?
audio_timestamp += 960;
SrsRtpRawPayload* raw = new SrsRtpRawPayload(); SrsRtpRawPayload* raw = new SrsRtpRawPayload();
pkt->payload = raw; pkt->payload = raw;

View file

@ -173,6 +173,7 @@ private:
SrsAudioRecode* codec; SrsAudioRecode* codec;
bool discard_bframe; bool discard_bframe;
bool merge_nalus; bool merge_nalus;
uint32_t audio_timestamp;
public: public:
SrsRtcFromRtmpBridger(SrsRtcSource* source); SrsRtcFromRtmpBridger(SrsRtcSource* source);
virtual ~SrsRtcFromRtmpBridger(); virtual ~SrsRtcFromRtmpBridger();