This commit is contained in:
bnnm 2021-09-19 23:54:54 +02:00
parent 82fc05c3dc
commit d6baa5b5e1
3 changed files with 21 additions and 5 deletions

View File

@ -445,6 +445,8 @@ Adds support for multiple codecs: ATRAC3 (`.at3`), ATRAC3plus (`.at3`), XMA1/2 (
vgmstream's FFmpeg builds for Windows remove many unnecessary parts of FFmpeg to trim down its gigantic size, and are also built with the "vgmstream-" prefix to avoid clashing with other plugins. Current options can be seen in `ffmpeg_options.txt`. Linux usually links to the system's FFmpeg without issues. vgmstream's FFmpeg builds for Windows remove many unnecessary parts of FFmpeg to trim down its gigantic size, and are also built with the "vgmstream-" prefix to avoid clashing with other plugins. Current options can be seen in `ffmpeg_options.txt`. Linux usually links to the system's FFmpeg without issues.
Note that the options above use *libopus*, but you can use FFmpeg's *Opus* by removing `--enable-libopus` and changing `--enable-decoder`'s `libopus` to `opus`. libopus is preferable since FFmpeg's Opus decoding is buggy in some files.
For GCC simply use autotools (configure, make, make install), passing to `configure` the above options. For GCC simply use autotools (configure, make, make install), passing to `configure` the above options.
For MSCV it can be done through a helper: https://github.com/jb-alvarado/media-autobuild_suite For MSCV it can be done through a helper: https://github.com/jb-alvarado/media-autobuild_suite

View File

@ -28,7 +28,7 @@ Also check the [examples](#examples) section for some quick recipes, of varying
## Issues ## Issues
The `.txth` may be rejected if incorrect commands are found. Since at the moment vgmstream can't communicate why a file is rejected, try starting with a simple case (see examples) then add more complex commands until it fully works. The `.txth` may be rejected if incorrect commands are found. Errors are shown in the console log (see *USAGE* guide), better try starting with a simple case (see examples) then add more complex commands until it fully works.
Extension must be accepted/added to vgmstream (plugins like foobar2000 only load extensions from an accepted list in `formats.c`), or one could rename to any supported extension (like `.vgmstream`), or leave the file extensionless. Before renaming consider reporting the unknown extension so it can be added to the list (so similar games benefit, as long as the extension is a good fit). Some plugins allow playing unknown extensions too. Extension must be accepted/added to vgmstream (plugins like foobar2000 only load extensions from an accepted list in `formats.c`), or one could rename to any supported extension (like `.vgmstream`), or leave the file extensionless. Before renaming consider reporting the unknown extension so it can be added to the list (so similar games benefit, as long as the extension is a good fit). Some plugins allow playing unknown extensions too.
@ -221,7 +221,7 @@ interleave_first_skip = (value)
#### ID VALUES #### ID VALUES
Validates that `id_value` (normally set as constant value) matches value read at `id_check`. The file will be rejected and won't play if values don't match. Validates that `id_value` (normally set as constant value) matches value read at `id_check`. The file will be rejected and won't play if values don't match.
Can be redefined several times, it's checked whenever a new id_offset is found. `id_offset` can be used as an alt for `id_check` Can be redefined several times, it's checked whenever a new id_check is found. `id_offset` can be used as an alt for `id_check`
``` ```
id_value = (value) id_value = (value)
id_check = (value) id_check = (value)

View File

@ -213,15 +213,29 @@ extensions as a way to force them into vgmstream without renaming.
#### Related issues #### Related issues
Also be aware that other plugins (not vgmstream) can tell the player they handle Also be aware that other plugins (not vgmstream) can tell the player they handle
some extension, then not actually play it. This makes the file unplayable as some extension, then not actually play it. This makes the file unplayable as
vgmstream doesn't even get the chance to parse that file, so you may need to vgmstream doesn't even get the chance to parse it, so you may need to disable
disable the offending plugin or rename the file (for example this may happen with the offending plugin or rename the file to the fake extension shown above (for
`.asf` in foobar2000/Winamp, may be fixed in newer versions). example this may happen with `.asf` in foobar2000/Winamp, may be fixed in newer
versions).
When extracting from a bigfile, sometimes internal files don't have a proper When extracting from a bigfile, sometimes internal files don't have a proper
extension. Those should be renamed to its correct one when possible, as the extension. Those should be renamed to its correct one when possible, as the
extractor program may guess wrong (like `.wav` instead of `.at3` or `.wem`). extractor program may guess wrong (like `.wav` instead of `.at3` or `.wem`).
If there is no known extension, usually the header id/magic string may be used instead. If there is no known extension, usually the header id/magic string may be used instead.
#### Windows 10 folder bugs
Windows 10's *Web Media Extensions* is a pre-installed package seems to read metadata
from files like `.ogg`, `.opus`, `.flac` and so on when opening a folder. However
it tends to noticeably slow down opening folders, also seems to crash and leave files
unusable when reading unsupported formats like Switch Opus (rather than Ogg Opus).
Renaming extensions should prevent those issues, or just uninstall those *Web
Media Extension* better experience anyway.
#### Fallout SFX .ACM
Due to technical limitations, to play Fallout 1 SFX you need to rename them from
`.acm` to `.wavc` (forces mono).
### Demuxed videos ### Demuxed videos
vgmstream also supports audio from videos, but usually must be demuxed (extracted vgmstream also supports audio from videos, but usually must be demuxed (extracted
without modification) first, since vgmstream doesn't attempt to support most of them without modification) first, since vgmstream doesn't attempt to support most of them