Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Anton Khirnov <anton@khirnov.net>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH] [RFC]avformat: introduce AVStreamGroup
Date: Tue, 03 Oct 2023 17:43:53 +0200
Message-ID: <169634783303.6638.10660931052987380956@lain.khirnov.net> (raw)
In-Reply-To: <40fa74ce-1d31-4f06-9352-436fdd1c2bef@gmail.com>

Quoting James Almer (2023-10-02 14:10:11)
> 
> I figured it would be nice to have it for the sake of convenience. For 
> formats like HEIF, new streams should in theory be created once the 
> group they will belong to is known.
> I have no strong attachment to this function, so it can go if you think 
> it's superfluous.

I expect the use cases for it to be limited and the advantage not that
big, so yeah, I'd prefer it dropped.

> > 
> >> +
> >> +/**
> >> + * Add an already allocated stream to a stream group.
> >> + *
> >> + * When demuxing, it may be called by the demuxer in read_header(). If the
> >> + * flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also
> >> + * be called in read_packet().
> >> + *
> >> + * When muxing, may be called by the user before avformat_write_header() after
> >> + * having allocated a new group with avformat_new_stream_group() and stream with
> >> + * avformat_new_stream().
> >> + *
> >> + * User is required to call avformat_free_context() to clean up the allocation
> >> + * by av_stream_group_add_stream().
> >> + *
> >> + * @param stg stream group belonging to a media file.
> >> + * @param st  stream in the media file to add to the group.
> >> + *
> >> + * @return 0 on success, or a negative AVERROR otherwise.
> >> + * @see avformat_new_stream, av_stream_group_new_stream, avformat_new_stream_group.
> >> + */
> >> +int av_stream_group_add_stream(AVStreamGroup *stg, const AVStream *st);
> > 
> > It'd be nice to have the streamgroup-related functions consistenly
> > namespaced.
> > 
> > E.g.
> > * avformat_stream_group_add()
> > * avformat_stream_group_add_stream()
> > * ff_stream_group_free()
> > etc.
> > 
> > alternatively for the first two:
> > * avformat_stream_group_create()
> > * avformat_stream_group_extend()
> 
> I named avformat_new_stream_group() essentially the same as 
> avformat_new_stream(), then namespaced the functions that take a 
> AVStreamGroup as input.
> I don't particularly like _extend(), but i guess i could do something like
> 
> AVStreamGroup *avformat_stream_group_create(AVFormatContext *s)
> int avformat_stream_group_add_stream(AVStreamGroup *stg,
>                                       const AVStream *st);

Fine with me.

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

      reply	other threads:[~2023-10-03 15:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-06 14:38 James Almer
2023-09-06 17:53 ` Tomas Härdin
2023-09-06 19:16   ` James Almer
2023-09-13  9:34     ` Tomas Härdin
2023-09-13 14:33       ` [FFmpeg-devel] J2K in HEIF was: " Pierre-Anthony Lemieux
2023-09-13 20:41         ` Tomas Härdin
2023-09-15 18:10       ` [FFmpeg-devel] [PATCH] " James Almer
2023-09-28 11:27         ` Tomas Härdin
2023-10-02  9:25           ` Anton Khirnov
2023-10-02 19:48             ` James Almer
2023-10-02  9:37 ` Anton Khirnov
2023-10-02 12:10   ` James Almer
2023-10-03 15:43     ` Anton Khirnov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=169634783303.6638.10660931052987380956@lain.khirnov.net \
    --to=anton@khirnov.net \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git