avformat/mpegtsenc: write format_identifier HEVC for HEVC streams
authorMarton Balint <cus@passwd.hu>
Fri, 22 Feb 2019 23:10:30 +0000 (00:10 +0100)
committerMarton Balint <cus@passwd.hu>
Fri, 1 Mar 2019 21:30:13 +0000 (22:30 +0100)
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>
libavformat/mpegtsenc.c

index 099d003..fc0ea22 100644 (file)
@@ -606,6 +606,8 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
                 put_registration_descriptor(&q, MKTAG('d', 'r', 'a', 'c'));
             } else if (stream_type == STREAM_TYPE_VIDEO_VC1) {
                 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;
         case AVMEDIA_TYPE_DATA: