diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 59123ca101..6381526a20 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -606,6 +606,13 @@ typedef struct AVStream { */ int codec_info_nb_frames; + /** + * Stream Identifier + * This is the MPEG-TS stream identifier +1 + * 0 means unknown + */ + int stream_identifier; + /** * Stream informations used internally by av_find_stream_info() */ diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index ea11a3eaf8..9511ede08d 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -994,6 +994,9 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type stream_type == STREAM_TYPE_PRIVATE_DATA) mpegts_find_stream_type(st, st->codec->codec_tag, REGD_types); break; + case 0x52: /* stream identifier descriptor */ + st->stream_identifier = 1 + get8(pp, desc_end); + break; default: break; }