From f6417c5430b5df05a48e662d4e97e15498974c65 Mon Sep 17 00:00:00 2001 From: bnnm Date: Sun, 19 Aug 2018 22:51:14 +0200 Subject: [PATCH] Use standard buffer size for all metas There is not no real about having small-ish buffers, simplifies buffer tuning, and avoids having gigantic buffers on bad reads. --- src/meta/afc.c | 2 +- src/meta/aix.c | 3 +-- src/meta/ast.c | 12 ++---------- src/meta/cstr.c | 2 +- src/meta/dc_dcsw_dcs.c | 2 +- src/meta/dsp_bdsp.c | 2 +- src/meta/excitebots.c | 2 +- src/meta/gcsw.c | 2 +- src/meta/halpst.c | 13 ++----------- src/meta/ngc_sck_dsp.c | 2 +- src/meta/pc_smp.c | 3 +-- src/meta/ps2_gbts.c | 2 +- src/meta/ps2_ild.c | 2 +- src/meta/ps2_mic.c | 2 +- src/meta/ps2_mtaf.c | 2 +- src/meta/ps2_p2bt.c | 2 +- src/meta/ps2_pnb.c | 2 +- src/meta/ps2_wmus.c | 2 +- src/meta/psx_gms.c | 2 +- src/meta/rwsd.c | 3 +-- src/meta/spt_spd.c | 2 +- src/meta/stx.c | 2 +- src/meta/vs.c | 2 +- src/meta/wii_mus.c | 4 ++-- src/meta/wii_sts.c | 2 +- src/meta/x360_tra.c | 2 +- src/meta/xbox_ims.c | 2 +- 27 files changed, 30 insertions(+), 50 deletions(-) diff --git a/src/meta/afc.c b/src/meta/afc.c index 904a101c..54269fff 100644 --- a/src/meta/afc.c +++ b/src/meta/afc.c @@ -46,7 +46,7 @@ VGMSTREAM * init_vgmstream_afc(STREAMFILE *streamFile) { int i; /* both channels use same buffer, as interleave is so small */ - chstreamfile = streamFile->open(streamFile,filename,9*channel_count*0x100); + chstreamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!chstreamfile) goto fail; for (i=0;iopen(streamFile,filename,sample_rate*0.0375*2/32*18segment_count);*/ - streamFileAIX = streamFile->open(streamFile,filename,sample_rate*0.1*segment_count); + streamFileAIX = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!streamFileAIX) goto fail; data = malloc(sizeof(aix_codec_data)); diff --git a/src/meta/ast.c b/src/meta/ast.c index 4ed5162c..fccf95db 100644 --- a/src/meta/ast.c +++ b/src/meta/ast.c @@ -12,7 +12,6 @@ VGMSTREAM * init_vgmstream_ast(STREAMFILE *streamFile) { int channel_count; int loop_flag; - size_t max_block; /* check extension, case insensitive */ streamFile->get_name(streamFile,filename,sizeof(filename)); @@ -33,7 +32,7 @@ VGMSTREAM * init_vgmstream_ast(STREAMFILE *streamFile) { codec_number = read_16bitBE(8,streamFile); loop_flag = read_16bitBE(0xe,streamFile); channel_count = read_16bitBE(0xc,streamFile); - max_block = read_32bitBE(0x20,streamFile); + /*max_block = read_32bitBE(0x20,streamFile);*/ switch (codec_number) { case 0: @@ -66,14 +65,7 @@ VGMSTREAM * init_vgmstream_ast(STREAMFILE *streamFile) { { int i; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename, - (i==0? - max_block+0x20-4: /* first buffer a bit bigger to - read block header without - inefficiency */ - max_block - ) - ); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; } diff --git a/src/meta/cstr.c b/src/meta/cstr.c index 54218e20..c625de84 100644 --- a/src/meta/cstr.c +++ b/src/meta/cstr.c @@ -280,7 +280,7 @@ VGMSTREAM * init_vgmstream_cstr(STREAMFILE *streamFile) { { int i; for (i=0;i<2;i++) { - vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,interleave); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/dc_dcsw_dcs.c b/src/meta/dc_dcsw_dcs.c index d1710560..d8e98de6 100644 --- a/src/meta/dc_dcsw_dcs.c +++ b/src/meta/dc_dcsw_dcs.c @@ -98,7 +98,7 @@ VGMSTREAM * init_vgmstream_dc_dcsw_dcs(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; vgmstream->ch[i].channel_start_offset= diff --git a/src/meta/dsp_bdsp.c b/src/meta/dsp_bdsp.c index cd39bf62..a72dd782 100644 --- a/src/meta/dsp_bdsp.c +++ b/src/meta/dsp_bdsp.c @@ -42,7 +42,7 @@ VGMSTREAM * init_vgmstream_dsp_bdsp(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; vgmstream->ch[i].channel_start_offset= diff --git a/src/meta/excitebots.c b/src/meta/excitebots.c index 831145a0..5ba06f00 100644 --- a/src/meta/excitebots.c +++ b/src/meta/excitebots.c @@ -148,7 +148,7 @@ VGMSTREAM * init_vgmstream_eb_sf0(STREAMFILE *streamFile) { { int i; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/gcsw.c b/src/meta/gcsw.c index 92690ec6..c46954d1 100644 --- a/src/meta/gcsw.c +++ b/src/meta/gcsw.c @@ -43,7 +43,7 @@ VGMSTREAM * init_vgmstream_gcsw(STREAMFILE *streamFile) { { int i; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,0x8000); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/halpst.c b/src/meta/halpst.c index 24e6e23c..6b636826 100644 --- a/src/meta/halpst.c +++ b/src/meta/halpst.c @@ -14,8 +14,6 @@ VGMSTREAM * init_vgmstream_halpst(STREAMFILE *streamFile) { int32_t samples_l,samples_r; int32_t start_sample = 0; - size_t max_block; - /* check extension, case insensitive */ streamFile->get_name(streamFile,filename,sizeof(filename)); if (strcasecmp("hps",filename_extension(filename))) goto fail; @@ -27,7 +25,7 @@ VGMSTREAM * init_vgmstream_halpst(STREAMFILE *streamFile) { /* details */ channel_count = read_32bitBE(0xc,streamFile); - max_block = read_32bitBE(0x10,streamFile)/channel_count; + /*max_block = read_32bitBE(0x10,streamFile)/channel_count;*/ if (channel_count > 2) { /* align the header length needed for the extra channels */ @@ -106,14 +104,7 @@ VGMSTREAM * init_vgmstream_halpst(STREAMFILE *streamFile) { { int i; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename, - (i==0? - max_block+0x20: /* first buffer a bit bigger to - read block header without - inefficiency */ - max_block - ) - ); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; } diff --git a/src/meta/ngc_sck_dsp.c b/src/meta/ngc_sck_dsp.c index edf1ed67..f281bace 100644 --- a/src/meta/ngc_sck_dsp.c +++ b/src/meta/ngc_sck_dsp.c @@ -65,7 +65,7 @@ VGMSTREAM * init_vgmstream_ngc_sck_dsp(STREAMFILE *streamFile) { { for (i=0;ich[i].streamfile = streamFile->open(streamFileDSP,filenameDSP,0x8000); + vgmstream->ch[i].streamfile = streamFile->open(streamFileDSP,filenameDSP,STREAMFILE_DEFAULT_BUFFER_SIZE); vgmstream->ch[i].offset = 0; if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/pc_smp.c b/src/meta/pc_smp.c index 95f7ad5c..52ab7762 100644 --- a/src/meta/pc_smp.c +++ b/src/meta/pc_smp.c @@ -74,8 +74,7 @@ VGMSTREAM * init_vgmstream_pc_smp(STREAMFILE *streamFile) { { int i; - vgmstream->ch[0].streamfile = streamFile->open(streamFile,filename, - channel_count*interleave*2); + vgmstream->ch[0].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[0].streamfile) goto fail; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/ps2_ild.c b/src/meta/ps2_ild.c index 7ef439ef..761ea4ec 100644 --- a/src/meta/ps2_ild.c +++ b/src/meta/ps2_ild.c @@ -50,7 +50,7 @@ VGMSTREAM * init_vgmstream_ps2_ild(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/ps2_mic.c b/src/meta/ps2_mic.c index 3a1f5207..ee7c917d 100644 --- a/src/meta/ps2_mic.c +++ b/src/meta/ps2_mic.c @@ -56,7 +56,7 @@ VGMSTREAM * init_vgmstream_ps2_mic(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/ps2_mtaf.c b/src/meta/ps2_mtaf.c index 0c99479a..e760399b 100644 --- a/src/meta/ps2_mtaf.c +++ b/src/meta/ps2_mtaf.c @@ -79,7 +79,7 @@ VGMSTREAM * init_vgmstream_ps2_mtaf(STREAMFILE *streamFile) { streamFile->get_name(streamFile,filename,sizeof(filename)); for (i = 0; i < channel_count; i++) { - STREAMFILE * file = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + STREAMFILE * file = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!file) goto fail; vgmstream->ch[i].streamfile = file; vgmstream->ch[i].channel_start_offset = vgmstream->ch[i].offset = start_offset + vgmstream->interleave_block_size*2*(i/2); diff --git a/src/meta/ps2_p2bt.c b/src/meta/ps2_p2bt.c index 674177d1..a5c2d8e0 100644 --- a/src/meta/ps2_p2bt.c +++ b/src/meta/ps2_p2bt.c @@ -51,7 +51,7 @@ VGMSTREAM * init_vgmstream_ps2_p2bt(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/ps2_pnb.c b/src/meta/ps2_pnb.c index 86dc606e..5d9d4696 100644 --- a/src/meta/ps2_pnb.c +++ b/src/meta/ps2_pnb.c @@ -47,7 +47,7 @@ VGMSTREAM * init_vgmstream_ps2_pnb(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/ps2_wmus.c b/src/meta/ps2_wmus.c index 58f64d40..209b8e4c 100644 --- a/src/meta/ps2_wmus.c +++ b/src/meta/ps2_wmus.c @@ -82,7 +82,7 @@ VGMSTREAM * init_vgmstream_ps2_wmus(STREAMFILE *streamFile) /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/psx_gms.c b/src/meta/psx_gms.c index e1caaf77..c4834148 100644 --- a/src/meta/psx_gms.c +++ b/src/meta/psx_gms.c @@ -57,7 +57,7 @@ VGMSTREAM * init_vgmstream_psx_gms(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,vgmstream->interleave_block_size); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/rwsd.c b/src/meta/rwsd.c index 44cb6a50..769f2bbf 100644 --- a/src/meta/rwsd.c +++ b/src/meta/rwsd.c @@ -365,8 +365,7 @@ VGMSTREAM * init_vgmstream_rwsd(STREAMFILE *streamFile) { { int i; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename, - 0x1000); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/spt_spd.c b/src/meta/spt_spd.c index 04b1a0a0..749ef0f8 100644 --- a/src/meta/spt_spd.c +++ b/src/meta/spt_spd.c @@ -76,7 +76,7 @@ VGMSTREAM * init_vgmstream_spt_spd(STREAMFILE *streamFile) { { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,0x8000); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); vgmstream->ch[i].offset = 0; if (!vgmstream->ch[i].streamfile) goto fail; } diff --git a/src/meta/stx.c b/src/meta/stx.c index ea8c845a..3c8f3f92 100644 --- a/src/meta/stx.c +++ b/src/meta/stx.c @@ -49,7 +49,7 @@ VGMSTREAM * init_vgmstream_stx(STREAMFILE *streamFile) { int i; /* both channels use same buffer, as interleave is so small */ - chstreamfile = streamFile->open(streamFile,filename,9*channel_count*0x100); + chstreamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!chstreamfile) goto fail; for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,0x2000); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; } } diff --git a/src/meta/wii_mus.c b/src/meta/wii_mus.c index 2f36e538..488930be 100644 --- a/src/meta/wii_mus.c +++ b/src/meta/wii_mus.c @@ -100,9 +100,9 @@ VGMSTREAM * init_vgmstream_wii_mus(STREAMFILE *streamFile) { vgmstream->ch[1].adpcm_history1_16 = channel[1].initial_hist1; vgmstream->ch[1].adpcm_history2_16 = channel[1].initial_hist2; - vgmstream->ch[0].streamfile = streamFile->open(streamFile,filename,interleave); + vgmstream->ch[0].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[0].streamfile) goto fail; - vgmstream->ch[1].streamfile = streamFile->open(streamFile,filename,interleave); + vgmstream->ch[1].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[1].streamfile) goto fail; /* open the file for reading */ diff --git a/src/meta/wii_sts.c b/src/meta/wii_sts.c index 5f5f2f94..328ddf8a 100644 --- a/src/meta/wii_sts.c +++ b/src/meta/wii_sts.c @@ -71,7 +71,7 @@ VGMSTREAM * init_vgmstream_wii_sts(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,36); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); vgmstream->ch[i].offset = 0x50+(i*(start_offset+0x26-0x50)); if (!vgmstream->ch[i].streamfile) goto fail; diff --git a/src/meta/x360_tra.c b/src/meta/x360_tra.c index 8554076c..d1227a68 100644 --- a/src/meta/x360_tra.c +++ b/src/meta/x360_tra.c @@ -45,7 +45,7 @@ VGMSTREAM * init_vgmstream_x360_tra(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,36); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; } diff --git a/src/meta/xbox_ims.c b/src/meta/xbox_ims.c index 220eeac1..1c6f60ad 100644 --- a/src/meta/xbox_ims.c +++ b/src/meta/xbox_ims.c @@ -37,7 +37,7 @@ VGMSTREAM * init_vgmstream_xbox_matx(STREAMFILE *streamFile) { /* open the file for reading by each channel */ { for (i=0;ich[i].streamfile = streamFile->open(streamFile,filename,36); + vgmstream->ch[i].streamfile = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); if (!vgmstream->ch[i].streamfile) goto fail; } }