From: Michael Niedermayer <michael@niedermayer.cc> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Date: Mon, 24 Jul 2023 00:56:39 +0200 Message-ID: <20230723225639.GN7802@pb2> (raw) In-Reply-To: <72ef7953-2723-7ffa-eab9-021a84d0e481@gmail.com> [-- Attachment #1.1: Type: text/plain, Size: 6033 bytes --] On Sun, Jul 23, 2023 at 04:01:16PM -0300, James Almer wrote: > On 7/23/2023 3:49 PM, Tomas Härdin wrote: > > sön 2023-07-23 klockan 17:23 +0200 skrev Michael Niedermayer: > > > On Sat, Jul 22, 2023 at 11:39:11PM +0200, Lynne wrote: > > > > Jul 22, 2023, 21:30 by michael@niedermayer.cc: > > > > > > > > > This avoids keeping diffs to fftools in the libavradio repository > > > > No to this entire patchset. > > > > > > > --- > > > > > fftools/ffmpeg.c | 7 +++++ > > > > > fftools/ffplay.c | 6 ++++ > > > > > fftools/ffprobe.c | 6 ++++ > > > > > fftools/opt_common.c | 66 > > > > > ++++++++++++++++++++++++++++++++++++++++---- > > > > > fftools/opt_common.h | 27 ++++++++++++++++++ > > > > > 5 files changed, 107 insertions(+), 5 deletions(-) > > > > > > > > > > > > > Do you think we should keep this out of the 6.1 branch? > > > > I don't expect packagers to start packaging libavradio immediately, > > > > so I don't feel that strongly about it, but maybe we should let > > > > users test it first in git master for a bit? > > > > Users can test libavradio's master if they wish. Do not assume merging > > this fork will happen, especially not without TC approval, nor that > > trying to sneak it in won't be noticed and opposed. > > > > This patchset makes an even stronger case why this fork should have its > > own mailing list and not pretend it's part of the main project. > > > > > > > about packagers and libavradio. The (more vocal members of the) > > > community > > > wanted sdr in a seperate library and not libavdevice, its likely that > > > distributions will eventually package it, wherever it is. > > > > Why would they package it when there already are mature programs like > > gqrx, dablin etc? Programs that feature separation of concerns. See for > > example hacktv which uses ffmpeg, libhackrf and libsoapysdr without > > insisting on being part of either > > > > Another problem is that this would almost certainly cause headaches for > > packagers. I know this because it's going to cause headaches for this > > project to care about maintaining compatibility with a fork that > > doesn't want to pretend it's a fork. > > What bothers me is that even though it's added outside of lavd, it's being > added as a brand new lavd, with all the drawbacks this implies, including it > being tied to lavf in an awful way. And all for a single "device" > AVInputFormat. It's completely overkill. Its outside because people asked for it to be outside. I thought its bad but its fine really if you look a bit forward > > Why is this libavradio not designed as a standalone library, with its own, > carefully designed API for general radio usage, that can be then glued to > lavd as an AVInputFormat relying on said external library? Doing that would > also make it usable in other projects that don't want to use the lavf/lavd > API. Because 2 things matter. 1. the final result 2. how to get there efficiently The first step is a demuxer/input device. Whereever it is. (thats what we have now) DAB & DVB can be added too or could be added later No new API is here, so no API can be misdesigned and no API can require to be replaced. Theres also no API we will need to deprecate If we do API first we will have to redo and deprecate it 100% certainly. We have had to frequently redo APIs and that was with things we understood much better. So if we do an SDR API now, probably we would have to redo it more than once, more so if some of the community boycotts the design or implementation process The second step is users, improvments, bugfixes, figure out what people use/want/need AFTER this. We are in a position to design the API without being certain that we have to redo it immedeatly And here comes the 3rd step, connect libavfilter to libavradio, move the components into libavfilter. Do demodulation and probing in filters. filters will not need to deal with mpeg-ts or AAC because they would be used by libavradio and return mpeg-ts / AAC to its "caller" And then the 4th step (which can be switched with teh 3rd) Make all the parts available though a new API. At that time we will have a much better understanding of what there is inside libavradio (because its actually implemented) and also what developers want from a libavradio API Here we are in a much better position to actually design a good API. Also at this point many parts can be already used through libavfilter, you need a stereo FM demodulator? there would be a avfilter for that probably. There are other pathes forward but thats the current plan _IF_ this isnt killed off by the community and _IF_ others join and enjoy working on this. Also nothing is cast in stone, this plan is intended to be adapted as needed on the way. I originally just intended to do AM&FM demodulation, and this has become a much bigger project. We already have RDS & metadata support for example But fact is, libavradio exists now. Now the question is will people join and make more out of it or kill it off. Ultimately I cannot do this alone especially not if 90% of replies tell me to fuck off. Theres a point where i will move on and switch the bulk of my time to "not FFmpeg" and just do payed work here. Again, i understand that radio needs an API beyond libavdevices, and i agree but IMO this comes after we have feedback from users what they need&want. And that requires users which requires it to be in a release. thx > A standalone library can link to lavu for any utils it may need. A lavd > device using it wouldn't be the first module using an external library that > generates a circular dependency with other lav* libraries. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Take away the freedom of one citizen and you will be jailed, take away the freedom of all citizens and you will be congratulated by your peers in Parliament. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 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".
next prev parent reply other threads:[~2023-07-23 22:56 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 [this message] 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 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=20230723225639.GN7802@pb2 \ --to=michael@niedermayer.cc \ --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