@@ -48,6 +48,8 @@ SrsPsContext::SrsPsContext()
48
48
current_ = NULL ;
49
49
helper_.ctx_ = this ;
50
50
detect_ps_integrity_ = false ;
51
+ video_stream_type_ = SrsTsStreamReserved;
52
+ audio_stream_type_ = SrsTsStreamReserved;
51
53
}
52
54
53
55
SrsPsContext::~SrsPsContext ()
@@ -121,9 +123,13 @@ srs_error_t SrsPsContext::decode(SrsBuffer* stream, ISrsPsMessageHandler* handle
121
123
return srs_error_wrap (err, " decode psm" );
122
124
}
123
125
124
- srs_info (" PS: Ignore PSM for video=%#x, audio=%#x" , psm.video_elementary_stream_id_ , psm.audio_elementary_stream_id_ );
125
- // context_->set(psm.video_elementary_stream_id_, SrsTsPidApplyVideo);
126
- // context_->set(psm.audio_elementary_stream_id_, SrsTsPidApplyAudio);
126
+ if (video_stream_type_ == SrsTsStreamReserved || audio_stream_type_ == SrsTsStreamReserved) {
127
+ srs_trace (" PS: Got PSM for video=%#x, audio=%#x" , psm.video_elementary_stream_id_ , psm.audio_elementary_stream_id_ );
128
+ } else {
129
+ srs_info (" PS: Got PSM for video=%#x, audio=%#x" , psm.video_elementary_stream_id_ , psm.audio_elementary_stream_id_ );
130
+ }
131
+ video_stream_type_ = (SrsTsStream)psm.video_stream_type_ ;
132
+ audio_stream_type_ = (SrsTsStream)psm.audio_stream_type_ ;
127
133
} else if (msg->is_video () || msg->is_audio ()) {
128
134
// Update the total messages in pack.
129
135
helper_.pack_pre_msg_last_seq_ = helper_.rtp_seq_ ;
@@ -467,7 +473,7 @@ srs_error_t SrsPsPsmPacket::decode(SrsBuffer* stream)
467
473
b.skip (elementary_stream_info_length);
468
474
srs_info (" PS: Ignore %d bytes descriptor for stream=%#x" , elementary_stream_info_length, stream_type);
469
475
470
- if (stream_type == SrsTsStreamVideoH264) {
476
+ if (stream_type == SrsTsStreamVideoH264 || stream_type == SrsTsStreamVideoHEVC ) {
471
477
video_stream_type_ = stream_type;
472
478
video_elementary_stream_id_ = elementary_stream_id;
473
479
video_elementary_stream_info_length_ = elementary_stream_info_length;
0 commit comments