mirror of
https://github.com/vgmstream/vgmstream.git
synced 2025-01-18 15:54:05 +01:00
Minor fixes
This commit is contained in:
parent
4a6df9b3b9
commit
b81f8a6eed
14
README.md
14
README.md
@ -233,6 +233,14 @@ channel mask to allow only certain channels (ex. "song.adx#c1,2").
|
||||
Creation of those files is meant for advanced users, docs can be found in
|
||||
vgmstream source.
|
||||
|
||||
### Plugin conflicts
|
||||
Since vgmstream supports a huge amount of formats it's possibly that some of
|
||||
them are also supported in other plugins, and this sometimes causes conflicts.
|
||||
If a file that should isn't playing or looping, first make sure vgmstream is
|
||||
really opening it (should show "vgmstream" somewhere in the file info), and
|
||||
try to remove a few other plugins. foobar's ffmpeg plugin and foo_adpcm are
|
||||
known to cause issues.
|
||||
|
||||
|
||||
## Tagging
|
||||
Some of vgmstream's plugins support simple read-only tagging via external files.
|
||||
@ -282,7 +290,7 @@ are used in few games.
|
||||
- Sony PSX ADPCM a.k.a VAG (standard, badflags, configurable)
|
||||
- Sony HEVAG
|
||||
- Electronic Arts EA-XA (stereo, mono, Maxis)
|
||||
- Electronic Arts EA-XAS
|
||||
- Electronic Arts EA-XAS (v0, v1)
|
||||
- DVI/IMA ADPCM (stereo/mono + high/low nibble, 3DS, Omikron, SNDS, etc)
|
||||
- Microsoft MS IMA ADPCM (standard, Xbox, NDS, Radical, Wwise, FSB, WV6, etc)
|
||||
- Microsoft MS ADPCM (standard, Cricket Audio)
|
||||
@ -298,7 +306,7 @@ are used in few games.
|
||||
- Konami XMD 4-bit ADPCM
|
||||
- Argonaut ASF 4-bit ADPCM
|
||||
- Circus XPCM ADPCM
|
||||
- PC-FX ADPCM
|
||||
- OKI 4-bit ADPCM (16-bit output, PC-FX)
|
||||
- SDX2 2:1 Squareroot-Delta-Exact compression DPCM
|
||||
- CBD2 2:1 Cuberoot-Delta-Exact compression DPCM
|
||||
- Activision EXAKT SASSC DPCM
|
||||
@ -560,6 +568,8 @@ This list is not complete and many other files are supported.
|
||||
- .um3 (Ogg Vorbis)
|
||||
- .xa (CD-ROM XA audio)
|
||||
- .xma (MS XMA/XMA2)
|
||||
- .sb0/sb1/sb2/sb3/sb4/sb5/sb6/sb7 (many)
|
||||
- .sm0/sm1/sm2/sm3/sm4/sm5/sm6/sm7 (many)
|
||||
- artificial/generic headers:
|
||||
- .genh (lots)
|
||||
- .txth (lots)
|
||||
|
@ -44,7 +44,5 @@ void block_update_mul(off_t block_offset, VGMSTREAM * vgmstream) {
|
||||
|
||||
for (i = 0; i < vgmstream->channels; i++) {
|
||||
vgmstream->ch[i].offset = block_offset + block_header + data_header + vgmstream->current_block_size*i;
|
||||
//VGM_LOG("ch%i of=%lx\n", i, vgmstream->ch[i].offset);
|
||||
}
|
||||
//getchar();
|
||||
}
|
||||
|
@ -2279,14 +2279,25 @@ void describe_vgmstream(VGMSTREAM * vgmstream, char * desc, int length) {
|
||||
"encoding: ");
|
||||
concatn(length,desc,temp);
|
||||
switch (vgmstream->coding_type) {
|
||||
|
||||
//todo codec bugs with layout inside layouts (ex. TXTP)
|
||||
#ifdef VGM_USE_FFMPEG
|
||||
case coding_FFmpeg: {
|
||||
ffmpeg_codec_data *data = (ffmpeg_codec_data *)vgmstream->codec_data;
|
||||
if (!data && vgmstream->layout_data) {
|
||||
ffmpeg_codec_data *data = NULL;
|
||||
|
||||
if (vgmstream->layout_type == layout_layered) {
|
||||
layered_layout_data* layout_data = vgmstream->layout_data;
|
||||
if (layout_data->layers[0]->coding_type == coding_FFmpeg)
|
||||
data = layout_data->layers[0]->codec_data;
|
||||
}
|
||||
else if (vgmstream->layout_type == layout_segmented) {
|
||||
segmented_layout_data* layout_data = vgmstream->layout_data;
|
||||
if (layout_data->segments[0]->coding_type == coding_FFmpeg)
|
||||
data = layout_data->segments[0]->codec_data;
|
||||
}
|
||||
else {
|
||||
data = vgmstream->codec_data;
|
||||
}
|
||||
|
||||
if (data) {
|
||||
if (data->codec && data->codec->long_name) {
|
||||
@ -2636,7 +2647,7 @@ int get_vgmstream_average_bitrate(VGMSTREAM * vgmstream) {
|
||||
return get_vgmstream_average_bitrate_from_size(vgmstream->stream_size, sample_rate, length_samples);
|
||||
}
|
||||
|
||||
|
||||
//todo bitrate bugs with layout inside layouts (ex. TXTP)
|
||||
/* make a list of used streamfiles (repeats will be filtered below) */
|
||||
if (vgmstream->layout_type==layout_segmented) {
|
||||
segmented_layout_data *data = (segmented_layout_data *) vgmstream->layout_data;
|
||||
|
Loading…
x
Reference in New Issue
Block a user