From abbe2ae80fc73da2c2a23406658501a6444a4770 Mon Sep 17 00:00:00 2001 From: bnnm Date: Sun, 20 Oct 2019 19:50:35 +0200 Subject: [PATCH] Use libvorbis instead of FFmpeg --- src/meta/ubi_bao.c | 17 ++++++----------- src/meta/ubi_sb.c | 12 +++++------- src/meta/xwb.c | 9 +++++---- src/meta/xwc.c | 7 ++++--- 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/meta/ubi_bao.c b/src/meta/ubi_bao.c index dd719cfb..c6309982 100644 --- a/src/meta/ubi_bao.c +++ b/src/meta/ubi_bao.c @@ -379,22 +379,17 @@ static VGMSTREAM * init_vgmstream_ubi_bao_base(ubi_bao_header * bao, STREAMFILE vgmstream->layout_type = layout_none; break; } - +#endif +#ifdef VGM_USE_VORBIS case FMT_OGG: { - ffmpeg_codec_data *ffmpeg_data; - - ffmpeg_data = init_ffmpeg_offset(streamData, start_offset, bao->stream_size); - if (!ffmpeg_data) goto fail; - vgmstream->codec_data = ffmpeg_data; - vgmstream->coding_type = coding_FFmpeg; + vgmstream->codec_data = init_ogg_vorbis(streamData, start_offset, bao->stream_size, NULL); + if (!vgmstream->codec_data) goto fail; + vgmstream->coding_type = coding_OGG_VORBIS; vgmstream->layout_type = layout_none; - vgmstream->num_samples = bao->num_samples; /* ffmpeg_data->totalSamples */ - VGM_ASSERT(bao->num_samples != ffmpeg_data->totalSamples, - "UBI BAO: header samples %i vs ffmpeg %i differ\n", bao->num_samples, (uint32_t)ffmpeg_data->totalSamples); + vgmstream->num_samples = bao->num_samples; /* same as Ogg samples */ break; } - #endif default: goto fail; diff --git a/src/meta/ubi_sb.c b/src/meta/ubi_sb.c index b1528ee2..fe3cb3cc 100644 --- a/src/meta/ubi_sb.c +++ b/src/meta/ubi_sb.c @@ -661,14 +661,12 @@ static VGMSTREAM * init_vgmstream_ubi_sb_base(ubi_sb_header *sb, STREAMFILE *str xma_fix_raw_samples_ch(vgmstream, streamData, start_offset, sb->stream_size, sb->channels, 0, 0); break; } - +#endif +#ifdef VGM_USE_VORBIS case FMT_OGG: { - ffmpeg_codec_data *ffmpeg_data; - - ffmpeg_data = init_ffmpeg_offset(streamData, start_offset, sb->stream_size); - if ( !ffmpeg_data ) goto fail; - vgmstream->codec_data = ffmpeg_data; - vgmstream->coding_type = coding_FFmpeg; + vgmstream->codec_data = init_ogg_vorbis(streamData, start_offset, sb->stream_size, NULL); + if (!vgmstream->codec_data) goto fail; + vgmstream->coding_type = coding_OGG_VORBIS; vgmstream->layout_type = layout_none; break; } diff --git a/src/meta/xwb.c b/src/meta/xwb.c index bb4962fd..5fe169e3 100644 --- a/src/meta/xwb.c +++ b/src/meta/xwb.c @@ -540,11 +540,12 @@ VGMSTREAM * init_vgmstream_xwb(STREAMFILE *streamFile) { vgmstream->layout_type = layout_none; break; } - +#endif +#ifdef VGM_USE_VORBIS case OGG: { /* Oddworld: Strangers Wrath (iOS/Android) extension */ - vgmstream->codec_data = init_ffmpeg_offset(streamFile, xwb.stream_offset, xwb.stream_size); - if ( !vgmstream->codec_data ) goto fail; - vgmstream->coding_type = coding_FFmpeg; + vgmstream->codec_data = init_ogg_vorbis(streamFile, xwb.stream_offset, xwb.stream_size, NULL); + if (!vgmstream->codec_data) goto fail; + vgmstream->coding_type = coding_OGG_VORBIS; vgmstream->layout_type = layout_none; break; } diff --git a/src/meta/xwc.c b/src/meta/xwc.c index fec7a621..dcd1e4fa 100644 --- a/src/meta/xwc.c +++ b/src/meta/xwc.c @@ -97,14 +97,15 @@ VGMSTREAM * init_vgmstream_xwc(STREAMFILE *streamFile) { xma_fix_raw_samples(vgmstream, streamFile, start_offset,data_size, 0, 0,0); /* samples are ok, fix delay */ break; } - +#endif +#ifdef VGM_USE_VORBIS case 0x564F5242: { /* "VORB" (PC) */ start_offset = 0x30; data_size = data_size - start_offset; - vgmstream->codec_data = init_ffmpeg_offset(streamFile, start_offset,data_size); + vgmstream->codec_data = init_ogg_vorbis(streamFile, start_offset, data_size, NULL); if ( !vgmstream->codec_data ) goto fail; - vgmstream->coding_type = coding_FFmpeg; + vgmstream->coding_type = coding_OGG_VORBIS; vgmstream->layout_type = layout_none; vgmstream->sample_rate = read_32bitLE(start_offset + 0x28, streamFile);