From: Gregor Riepl via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
To: ffmpeg-devel@ffmpeg.org
Cc: Gregor Riepl <onitake@gmail.com>
Subject: [FFmpeg-devel] Re: [RFC] C++
Date: Wed, 22 Oct 2025 14:09:32 +0200
Message-ID: <e2c76a7b-2e3e-4838-84c7-e4eed4b6aac6@gmail.com> (raw)
In-Reply-To: <23234a7ec4715e7df0c9c4e5b2ad9556a98d6823.camel@haerdin.se>
> My main motivation is to be able to use STL, which would simplify
> string handling and memory management, and give us access to its data
> structures. Manual memory management has its place, especially in lavc.
> In lavf less so. RAII would do wonders in de-gotofying error handling.
> Features like std::filesystem, std::chrono, std::thread etc abstract
> away many OS particularities. Thorough STL-ification would render parts
> of lavu obsolete. avstring.*, bprintf.* and tree.* come to mind. This
> would have security benefits. Another reason is stronger typing, which
> tends to reveal bugs.
Just for the sake of the argument: Wouldn't it be better to opt for an even safer language than C++, like Rust?
C++ has received a lot of criticism in being just as memory unsafe as C, and I personally think that it adds an epic amount of complexity to writing correct code. Although - that may or may not be the case depending on where and how it's used in the code base.
I don't have any preference either way, but it seems to me that investing effort to make the internals of FFmpeg safer and easier to use would be better spent on a more modern and robust language than C++.
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
next prev parent reply other threads:[~2025-10-22 12:09 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-20 17:50 [FFmpeg-devel] " Tomas Härdin via ffmpeg-devel
2025-10-20 21:34 ` [FFmpeg-devel] " Neal Gompa via ffmpeg-devel
2025-10-21 2:24 ` Lynne via ffmpeg-devel
2025-10-22 8:57 ` Tomas Härdin via ffmpeg-devel
2025-10-22 10:46 ` Tomas Härdin via ffmpeg-devel
2025-10-21 18:41 ` Niklas Haas via ffmpeg-devel
2025-10-22 3:15 ` Romain Beauxis via ffmpeg-devel
2025-10-22 4:19 ` InnocentZero via ffmpeg-devel
2025-10-22 8:24 ` Nicolas George via ffmpeg-devel
2025-10-22 10:53 ` Tomas Härdin via ffmpeg-devel
2025-10-22 12:09 ` Gregor Riepl via ffmpeg-devel [this message]
2025-10-22 12:42 ` Michael Niedermayer via ffmpeg-devel
2025-10-22 13:07 ` Timo Rothenpieler via ffmpeg-devel
2025-10-22 17:07 ` Rémi Denis-Courmont via ffmpeg-devel
2025-10-22 18:12 ` Timo Rothenpieler via ffmpeg-devel
2025-10-22 18:50 ` Rémi Denis-Courmont via ffmpeg-devel
2025-10-22 17:08 ` Rémi Denis-Courmont via ffmpeg-devel
2025-10-23 21:45 ` Tomas Härdin via ffmpeg-devel
2025-10-22 13:05 ` Michael Niedermayer via ffmpeg-devel
2025-10-23 21:49 ` Tomas Härdin via ffmpeg-devel
2025-10-23 22:24 ` Michael Niedermayer via ffmpeg-devel
2025-10-22 14:03 ` Leo Izen via ffmpeg-devel
2025-10-21 14:47 Zhao Zhili via ffmpeg-devel
2025-10-21 14:58 ` Nicolas George via ffmpeg-devel
2025-10-21 15:31 ` Zhao Zhili via ffmpeg-devel
2025-10-22 1:34 ` Michael Niedermayer via ffmpeg-devel
2025-10-22 8:11 ` Nicolas George via ffmpeg-devel
2025-10-22 9:15 ` Zhao Zhili via ffmpeg-devel
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=e2c76a7b-2e3e-4838-84c7-e4eed4b6aac6@gmail.com \
--to=ffmpeg-devel@ffmpeg.org \
--cc=onitake@gmail.com \
/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