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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to