[FFmpeg-devel] [PATCH 2/2] Set stream_id correctly based on KLV profile selected.

Brad Hards bradh at frogmouth.net
Wed May 27 03:32:09 EEST 2020


Previously we always set STREAM_TYPE_PRIVATE_DATA, and that remains
the default value.
---
 libavformat/mpegtsenc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index bf1a7ee13f..a7703ab120 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -353,6 +353,12 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st)
     case AV_CODEC_ID_DVB_TELETEXT:
         stream_type = STREAM_TYPE_PRIVATE_DATA;
         break;
+    case AV_CODEC_ID_SMPTE_KLV:
+        if ( st->codecpar->profile == FF_PROFILE_KLVA_SYNC ) {
+            stream_type = STREAM_TYPE_METADATA;
+        } else {
+            stream_type = STREAM_TYPE_PRIVATE_DATA;
+        }
     default:
         av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning,
                     "Stream %d, codec %s, is muxed as a private data stream "
-- 
2.17.1



More information about the ffmpeg-devel mailing list