Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Nicolas George <george@nsup.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] What is FFmpeg and what should it be
Date: Fri, 4 Aug 2023 19:35:26 +0200
Message-ID: <ZM023t2lNgR0qCBd@phare.normalesup.org> (raw)
In-Reply-To: <20230804170918.GQ7802@pb2>


[-- Attachment #1.1: Type: text/plain, Size: 2483 bytes --]

Michael Niedermayer (12023-08-04):
> Everything is there for a reason.
> Every part of mp4 has a use, still we extract the data and setup various
> structs like AVStream, AVPacket, AVProgram and so on.
> We do not return raw mp4/mov atoms
> the seperation between programs in a stream of bits/bytes looses meaning
> once the frames are in AVPackets with AVStream/AVProgram.
> If there is more data in any framing that people want, theres a wide range
> of ways to preserve and export that data.
> OTOH outputting AAC in TS or AAC is other framing is painfull to handle
> especially when it is muxed into something again. because it then needs
> the right framing and even if it comes in as DAB framing and the output
> wants DAB framing, it is unlikely everything in the framing will be correct
> for the output.
> The same is true for TS. I surely can take raw TS from 3 programs but if
> i just take these and concatenate them into something that suppports TS
> thats quite likely going to blow up somehow.
> All this framing stuff should IMHO be "removed" on the demuxer side
> usefull data be extracted and properly exported. And if anything
> on the muxing side needs something similar it needed to rebuild it all.
> 
> I may be missing something but i dont think the raw framing is too usefull
> to the user.

I recommend you do what feels most simple, or most elegant, or most
logical, whichever feels right.

If somebody else, or you later, find a use for the framing, the code
that removes it can be turned into code that extract information from it
or reshape it. If and when that happens is the good time to figure out
how to bring that information to the user, because that will be when
what is necessary will be known.

This is why the demands that you design a clean API first are absurd: at
this point, you do not know exactly where this code is going, what kind
of information or control you will need to expose. All this depends on
which direction the codes takes, which in turns depends on you
inspiration.

And as the code progresses, the necessary API will emerge, and at one
point it will be just a matter of thinking on it carefully to cut it
cleanly.

I suppose this is what the buzzword-living industry calls “agile
programming”. But the industry cannot do it right because it needs
return on investment quick. Only a real Libre Software project like
FFmpeg can do that.

Regards,

-- 
  Nicolas George

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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-08-04 17:35 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-22 19:29 [FFmpeg-devel] [PATCH 1/6] configure: libavradio support Michael Niedermayer
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 2/6] avutil/log: Add AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer
2023-07-22 20:30   ` Paul B Mahol
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 3/6] avformat: add support for demuxers/inputs from avradio Michael Niedermayer
2023-07-22 20:35   ` Paul B Mahol
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 4/6] avdevice/utils: add test for AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Michael Niedermayer
2023-07-22 21:39   ` Lynne
2023-07-23 15:23     ` Michael Niedermayer
2023-07-23 18:49       ` Tomas Härdin
2023-07-23 19:01         ` James Almer
2023-07-23 22:56           ` Michael Niedermayer
2023-07-24  8:19             ` Nicolas George
2023-07-24 15:57               ` Michael Niedermayer
2023-07-24 22:30               ` Tomas Härdin
2023-07-25 14:17             ` Tomas Härdin
2023-07-24 20:19           ` Tomas Härdin
2023-07-25  9:37             ` Nicolas George
2023-07-26 10:37             ` Michael Niedermayer
2023-07-27 13:05               ` Tomas Härdin
2023-07-27 18:36                 ` Michael Niedermayer
2023-07-27 18:48                   ` Nicolas George
     [not found]                   ` <CC2992B9-B047-4724-8DE5-01C02CBE31FD@cosmin.at>
2023-08-01 19:51                     ` Cosmin Stejerean
2023-08-01 20:06                       ` Paul B Mahol
2023-08-02 12:46                         ` Michael Niedermayer
2023-08-02 13:00                           ` Paul B Mahol
2023-08-02 13:01                             ` Michael Niedermayer
2023-07-24  8:13         ` Nicolas George
2023-07-24 20:22           ` Tomas Härdin
2023-07-25  9:33             ` Nicolas George
2023-07-25  9:51               ` Kieran Kunhya
2023-07-25  9:56                 ` Nicolas George
2023-07-25 10:16                   ` Kieran Kunhya
2023-07-25 13:55                     ` Nicolas George
2023-07-25 14:37                       ` Kieran Kunhya
2023-07-27 17:56                         ` Nicolas George
2023-07-28 11:07                           ` Kieran Kunhya
2023-07-30 13:04                             ` [FFmpeg-devel] What is FFmpeg and what should it be Nicolas George
2023-07-30 17:07                               ` Andrey Turkin
2023-07-30 18:29                                 ` Kieran Kunhya
2023-07-30 18:54                                   ` Nicolas George
2023-08-01  7:48                                 ` Rémi Denis-Courmont
2023-07-31 13:56                               ` Tomas Härdin
2023-08-03 13:25                                 ` Nicolas George
2023-08-03 20:50                                   ` Tomas Härdin
2023-08-02  1:44                               ` Vittorio Giovara
2023-08-02 12:55                                 ` Michael Niedermayer
2023-08-02 12:59                                   ` Jean-Baptiste Kempf
2023-08-02 14:12                                     ` Brad Isbell
2023-08-02 14:19                                       ` Nicolas George
2023-08-02 14:26                                       ` Michael Niedermayer
2023-08-02 14:30                                         ` Nicolas George
     [not found]                                           ` <A3B35B92-8333-4637-B4AA-FA9D9750E784@cosmin.at>
2023-08-02 15:46                                             ` Cosmin Stejerean
2023-08-03 15:40                                               ` Michael Niedermayer
2023-08-02 14:20                                     ` Michael Niedermayer
2023-08-02 14:44                                       ` Jean-Baptiste Kempf
2023-08-03 17:45                                         ` Michael Niedermayer
2023-08-03 18:24                                           ` Kieran Kunhya
2023-08-03 19:25                                             ` Michael Niedermayer
2023-08-03 20:04                                               ` Kieran Kunhya
2023-08-04 17:09                                                 ` Michael Niedermayer
2023-08-04 17:35                                                   ` Nicolas George [this message]
2023-08-04 23:17                                                     ` Kieran Kunhya
2023-08-05 18:55                                         ` Michael Niedermayer
2023-08-05 19:17                                           ` Paul B Mahol
2023-08-05 23:32                                           ` Vittorio Giovara
2023-08-06  8:28                                             ` Tomas Härdin
2023-08-06 19:53                                             ` Michael Niedermayer
2023-08-07 15:39                                               ` Rémi Denis-Courmont
2023-08-08 15:22                                                 ` Michael Niedermayer
2023-08-08 15:37                                                   ` Paul B Mahol
2023-08-08 18:53                                                   ` Rémi Denis-Courmont
2023-08-09 15:59                                                     ` Michael Niedermayer
2023-08-09 16:24                                                       ` Paul B Mahol
2023-08-10 12:39                                                     ` Nicolas George
2023-08-10 14:58                                                       ` Vittorio Giovara
2023-08-12 17:12                                                         ` Michael Niedermayer
2023-08-10 15:01                                                       ` James Almer
2023-08-10 15:43                                                       ` Jean-Baptiste Kempf
2023-08-10 18:39                                                       ` Tomas Härdin
2023-08-03 11:38                               ` Tomas Härdin
2023-08-03 13:29                                 ` Nicolas George
2023-07-25 12:02                   ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Tomas Härdin
2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 6/6] tools/uncoded_frame: " Michael Niedermayer

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=ZM023t2lNgR0qCBd@phare.normalesup.org \
    --to=george@nsup.org \
    --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