Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "Jason A. Donenfeld via ffmpeg-devel" <ffmpeg-devel@ffmpeg.org>
To: Daniel Verkamp <daniel@drv.nu>
Cc: FFmpeg development discussions and patches
	<ffmpeg-devel@ffmpeg.org>, "Jason A. Donenfeld" <Jason@zx2c4.com>
Subject: [FFmpeg-devel] Re: [PATCH] avformat/wavenc: use RF64 when needed
Date: Tue, 30 Dec 2025 12:17:36 +0100
Message-ID: <CAHmME9qMnOCy5pG+zDJ1ZA3HynujNKT2fkD2V3it4k7rzSr8Lg@mail.gmail.com> (raw)
In-Reply-To: <CAGFXeQLGp3iNO5gee=AC7sskCcFQ6nor0pY9JTErKV6wUsELrw@mail.gmail.com>

Hi Daniel,

On Tue, Dec 30, 2025 at 5:50 AM Daniel Verkamp <daniel@drv.nu> wrote:
> I am not opposed to changing the default, but I recall there were some
> reports of problems[1] when ffmpeg began to stray from the "classic"
> WAV file layout.
>
> The `-rf64 auto` option adds an extra junk chunk near the beginning of
> the file, before the "fmt " chunk, to reserve space for the extended
> header if needed.

This is not what `-rf64 auto` does, and I think your reply might be
skipping an important step. Namely, `-rf64 auto` only goes into riff64
mode when there's no way to construct a valid wav32 to hold the data.
So, here are the effects of the different settings:

- `-rf64 no`: makes a valid wav file, unless it's too long, and then
it produces a corrupt file that can't be played anywhere. *This
corruption-producing behavior is the current bad default.*

- `-rf64 yes`: always makes a riff64 file, which these days generally
has universal support, but ys, at some point long long ago, there were
some old players that didn't know about it. *This is _not_ the option
I'm proposing we make default.*

- `-rf64 auto`: make a valid wav file if it can do so, but then, if it
can't, rather than producing a corrupt output file, make a riff64
file, so that it'll still be playable in 99% of the places. *This is
what I'm proposing we turn on by default."

So, as you can see, `-rf64 auto` is strictly better than the status
quo, offering no drawback. It produces a riff64 file only in the case
when ffmpeg would _otherwise generate a corrupt unplayable file_.

Jason
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org

  reply	other threads:[~2025-12-30 11:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-20 21:28 [FFmpeg-devel] " Jason A. Donenfeld via ffmpeg-devel
2025-12-21  3:08 ` [FFmpeg-devel] " Michael Niedermayer via ffmpeg-devel
2025-12-30  4:50 ` Daniel Verkamp via ffmpeg-devel
2025-12-30 11:17   ` Jason A. Donenfeld via ffmpeg-devel [this message]
2025-12-31  7:43     ` Daniel Verkamp via ffmpeg-devel
2025-12-31 12:53       ` Jason A. Donenfeld via ffmpeg-devel
2026-01-02 23:27       ` Michael Niedermayer 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=CAHmME9qMnOCy5pG+zDJ1ZA3HynujNKT2fkD2V3it4k7rzSr8Lg@mail.gmail.com \
    --to=ffmpeg-devel@ffmpeg.org \
    --cc=Jason@zx2c4.com \
    --cc=daniel@drv.nu \
    /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