Hi On Sat, Mar 28, 2026 at 11:16:49PM +0200, James Almer via ffmpeg-cvslog wrote: > This is an automated email from the git hooks/post-receive script. > > Git pushed a commit to branch master > in repository ffmpeg. > > The following commit(s) were added to refs/heads/master by this push: > new 5a75d905cb avformat/mpegts: create stream groups after having parsed > the entire PMT > 5a75d905cb is described below > > commit 5a75d905cb24572d14c4e37ad68e3965bfdacd84 > Author: James Almer <[email protected]> > AuthorDate: Thu Mar 26 14:44:49 2026 -0300 > Commit: James Almer <[email protected]> > CommitDate: Sat Mar 28 18:13:36 2026 -0300 > > avformat/mpegts: create stream groups after having parsed the entire PMT > > Some faulty files have an LCEVC descriptor with a single stream, > resulting in > a group being created but never fully populated with the current > implementation. > > Signed-off-by: James Almer <[email protected]> > --- > libavformat/mpegts.c | 107 > ++++++++++++++++++++++++++++++++++++++------------- > 1 file changed, 80 insertions(+), 27 deletions(-) > > diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c > index 6f58e52e70..8eb3bae720 100644 > --- a/libavformat/mpegts.c > +++ b/libavformat/mpegts.c > @@ -116,12 +116,22 @@ struct Stream { > > #define MAX_STREAMS_PER_PROGRAM 128 > #define MAX_PIDS_PER_PROGRAM (MAX_STREAMS_PER_PROGRAM + 2) > +
> +struct StreamGroup {
> + enum AVStreamGroupParamsType type;
> + int id;
> + unsigned int nb_streams;
> + AVStream *streams[MAX_STREAMS_PER_PROGRAM];
> +};
> +
> struct Program {
> unsigned int id; // program id/service id
> unsigned int nb_pids;
> unsigned int pids[MAX_PIDS_PER_PROGRAM];
> unsigned int nb_streams;
> struct Stream streams[MAX_STREAMS_PER_PROGRAM];
> + unsigned int nb_stream_groups;
> + struct StreamGroup stream_groups[MAX_STREAMS_PER_PROGRAM];
>
> /** have we found pmt for this program */
> int pmt_found;
with this a single Program struct is 134kb where before it was less than 4kb
this seems a bit excessive, especially given that this space is not really used
its 128 stream groups of each 128 pointers to AVStreams
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
"Nothing to hide" only works if the folks in power share the values of
you and everyone you know entirely and always will -- Tom Scott
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
