@@ -381,6 +381,7 @@ static int flv_same_video_codec(AVCodecParameters *vpar, uint32_t flv_codecid)
381381 return 1 ;
382382
383383 switch (flv_codecid ) {
384+ case FLV_CODECID_X_HEVC :
384385 case MKBETAG ('h' , 'v' , 'c' , '1' ):
385386 return vpar -> codec_id == AV_CODEC_ID_HEVC ;
386387 case MKBETAG ('a' , 'v' , '0' , '1' ):
@@ -414,6 +415,7 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream,
414415 enum AVCodecID old_codec_id = vstream -> codecpar -> codec_id ;
415416
416417 switch (flv_codecid ) {
418+ case FLV_CODECID_X_HEVC :
417419 case MKBETAG ('h' , 'v' , 'c' , '1' ):
418420 par -> codec_id = AV_CODEC_ID_HEVC ;
419421 vstreami -> need_parsing = AVSTREAM_PARSE_HEADERS ;
@@ -1660,8 +1662,8 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
16601662 }
16611663
16621664 if (st -> codecpar -> codec_id == AV_CODEC_ID_MPEG4 ||
1663- (st -> codecpar -> codec_id == AV_CODEC_ID_H264 && (! enhanced_flv || type == PacketTypeCodedFrames )) ||
1664- ( st -> codecpar -> codec_id == AV_CODEC_ID_HEVC && type == PacketTypeCodedFrames )) {
1665+ (( st -> codecpar -> codec_id == AV_CODEC_ID_H264 || st -> codecpar -> codec_id == AV_CODEC_ID_HEVC ) &&
1666+ (! enhanced_flv || type == PacketTypeCodedFrames ) )) {
16651667 // sign extension
16661668 int32_t cts = (avio_rb24 (s -> pb ) + 0xff800000 ) ^ 0xff800000 ;
16671669 pts = av_sat_add64 (dts , cts );
0 commit comments