@@ -459,8 +459,11 @@ int SrsTsContext::encode_pes(SrsFileWriter* writer, SrsTsMessage* msg, int16_t p
459
459
while (p < end) {
460
460
SrsTsPacket* pkt = NULL ;
461
461
if (p == start) {
462
- // for pure audio stream, always write pcr .
462
+ // write pcr according to message .
463
463
bool write_pcr = msg->write_pcr ;
464
+
465
+ // for pure audio, always write pcr.
466
+ // TODO: FIXME: maybe only need to write at begin and end of ts.
464
467
if (pure_audio && msg->is_audio ()) {
465
468
write_pcr = true ;
466
469
}
@@ -2785,11 +2788,12 @@ int SrsTsCache::cache_audio(SrsAvcAacCodec* codec, int64_t dts, SrsCodecSample*
2785
2788
if (!audio) {
2786
2789
audio = new SrsTsMessage ();
2787
2790
audio->write_pcr = false ;
2788
- audio->start_pts = dts;
2791
+ audio->dts = audio-> pts = audio-> start_pts = dts;
2789
2792
}
2790
2793
2791
- audio->dts = dts;
2792
- audio->pts = audio->dts ;
2794
+ // TODO: FIXME: refine code.
2795
+ // audio->dts = dts;
2796
+ // audio->pts = audio->dts;
2793
2797
audio->sid = SrsTsPESStreamIdAudioCommon;
2794
2798
2795
2799
// must be aac or mp3
@@ -3139,6 +3143,8 @@ int SrsTsEncoder::write_audio(int64_t timestamp, char* data, int size)
3139
3143
return ret;
3140
3144
}
3141
3145
3146
+ // TODO: FIXME: for pure audio, aggregate some frame to one.
3147
+
3142
3148
// always flush audio frame by frame.
3143
3149
// @see https://github.com/simple-rtmp-server/srs/issues/512
3144
3150
return flush_audio ();
0 commit comments