PR #23414 opened by Daniel Verkamp (drv)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23414
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23414.patch

Add docs for the wav demuxer and muxer.


>From 2c053a843cf6db25f3c1e3343ca1bb344093b6d2 Mon Sep 17 00:00:00 2001
From: Daniel Verkamp <[email protected]>
Date: Tue, 9 Jun 2026 01:08:38 -0700
Subject: [PATCH 1/2] doc/demuxers: Document wav ignore_length option

Signed-off-by: Daniel Verkamp <[email protected]>
---
 doc/demuxers.texi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/doc/demuxers.texi b/doc/demuxers.texi
index 170fafb4bb..a1dd879b59 100644
--- a/doc/demuxers.texi
+++ b/doc/demuxers.texi
@@ -1181,6 +1181,12 @@ RIFF Wave Audio demuxer.
 
 This demuxer accepts the following options:
 @table @option
+@item ignore_length @var{bool}
+Ignore the size of the @code{data} chunk and keep reading until the end of the 
file if set.
+May be useful to read broken or partial files where the header was not 
properly updated,
+but will misinterpret files with non-audio chunks after the @code{data} chunk.
+Default is disabled.
+
 @item max_size
 Specify the maximum packet size in bytes for the demuxed packets. By default
 this is set to 0, which means that a sensible value is chosen based on the
-- 
2.52.0


>From fb79db14a3dafc885169e6c65aa67c9982c71bd5 Mon Sep 17 00:00:00 2001
From: Daniel Verkamp <[email protected]>
Date: Tue, 9 Jun 2026 01:20:06 -0700
Subject: [PATCH 2/2] doc/muxers: Document wav muxer

Signed-off-by: Daniel Verkamp <[email protected]>
---
 doc/muxers.texi | 69 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index b2c02fb906..5fdd4fcd95 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -3833,6 +3833,75 @@ ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 
-c:a aac
 @end example
 @end itemize
 
+@section wav
+
+RIFF Wave Audio muxer.
+
+@subsection Options
+
+@table @option
+
+@item rf64 @var{mode}
+Choose whether to use the RF64 file format instead of RIFF.
+RF64 allows files larger than 4 gigabytes, but RF64 support is not as
+universal as RIFF.
+
+The following modes are recognized:
+@table @samp
+@item auto
+Start writing a standard RIFF file to retain compatibility with non-RF64-aware
+software, but switch to RF64 if the output file grows larger than 4 gigabytes.
+Reserves a small amount of extra space in the header using a @code{JUNK} chunk,
+which should be ignored by all compliant RIFF readers, but some extremely
+simplistic WAV readers may be confused by this.
+
+@item always
+Always use the RF64 format regardless of file size. The output file will only
+be readable by RF64-compatible software and is no longer a standard RIFF WAVE
+file.
+
+@item never
+Always use plain RIFF, never RF64. This mode is the most compatible with legacy
+software, but if the output file grows beyond 4 gigabytes, the 32-bit size 
field
+in the @code{data} chunk will no longer be able to correctly represent the 
size,
+and most audio software will not be able to read some or all of the data.
+(The @ref{wav} demuxer's @code{ignore_length} option can be used to recover 
such
+a file.)
+This is the default mode.
+@end table
+
+@item write_bext @var{bool}
+Add a Broadcast Wave Format @code{BEXT} chunk containing extended audio
+metadata if enabled. Defaults to false.
+
+@item write_peak @var{mode}
+Add a Peak Envelope @code{levl} chunk (EBU Tech 3285 Supplement 3) if enabled.
+Defaults to off.
+
+@table @samp
+@item off
+Do not add the @code{levl} chunk.
+
+@item on
+Add the @code{levl} chunk, calculating the peak values based on the
+@code{peak_block_size}, @code{peak_format}, and @code{peak_ppv} options.
+
+@item only
+Like @code{on}, but skip writing the actual audio data (no @code{data}
+chunk will be written to the file, only @code{levl} and other metadata
+chunks.)
+@end table
+
+@item peak_block_size @var{int}
+Number of audio samples used to generate each peak frame.
+
+@item peak_format @var{format}
+The format of the peak envelope data (1: uint8, 2: uint16).
+
+@item peak_ppv @var{int}
+Number of peak points per peak value (1 or 2).
+@end table
+
 @section webm_chunk
 
 WebM Live Chunk Muxer.
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to