avformat/mpegtsenc: write format_identifier HEVC for HEVC streams

This improves compatibility with some consumer (LG WebOS) TVs which apparently
search a HEVC descriptor (which our mpegts muxer can't generate) or a format
identifier.

Since the HEVC format identifier is not registered (but used in the wild), it is
not written if strict_std_compliance is higher than normal.

This fixes the issue in ticket #7744.

Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2019-02-23 00:10:30 +01:00
parent fe36dcbff2
commit 837f2c9798
1 changed files with 2 additions and 0 deletions

View File

@ -606,6 +606,8 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
put_registration_descriptor(&q, MKTAG('d', 'r', 'a', 'c')); put_registration_descriptor(&q, MKTAG('d', 'r', 'a', 'c'));
} else if (stream_type == STREAM_TYPE_VIDEO_VC1) { } else if (stream_type == STREAM_TYPE_VIDEO_VC1) {
put_registration_descriptor(&q, MKTAG('V', 'C', '-', '1')); put_registration_descriptor(&q, MKTAG('V', 'C', '-', '1'));
} else if (stream_type == STREAM_TYPE_VIDEO_HEVC && s->strict_std_compliance <= FF_COMPLIANCE_NORMAL) {
put_registration_descriptor(&q, MKTAG('H', 'E', 'V', 'C'));
} }
break; break;
case AVMEDIA_TYPE_DATA: case AVMEDIA_TYPE_DATA: