Commit Graph

64 Commits

Author SHA1 Message Date
bnnm
7d91ef1432 Cast off_t to off64_t when printf'ing for future 4GB file support 2018-09-23 03:01:13 +02:00
bnnm
b4884522d8 Optimize STDIO/FOO streamfiles slightly
Tries to simplify code, and buffer is not emptied unless we really read
more data (useful for edge reads). get_offset is now reliable (though
never used).
2018-08-24 18:48:42 +02:00
Christopher Snowhill
1294f515f2
Merge pull request #276 from Thealexbarney/msvc-fread-fix
Workaround MSVC fseek/fread bug
2018-08-19 16:15:54 -07:00
bnnm
a5656eaa2f Optimize buffer_streamfile EOF reads and fix get_offset behaviour 2018-08-19 22:31:12 +02:00
bnnm
7f424bb7e9 Disable dump_streamfile when debug isn't used, just in case 2018-08-12 13:58:48 +02:00
bnnm
b438b5fa01 Add debug util for easier custom IO testing 2018-08-11 17:58:16 +02:00
Alex Barney
c74b0841ca Workaround MSVC fseek/fread bug 2018-08-04 15:47:46 -05:00
bnnm
0fc5b466c8 Add some extra streamfile helpers 2018-08-04 20:42:00 +02:00
bnnm
5dc8d55c7f Add file_size fail check for +2GB files 2018-08-02 17:17:58 +02:00
bnnm
46f333cc8e Remove get_realname from streamfiles as it's not used anymore
It was implemented for Audacious only to open companion NWA files, but
current version has no need for it. In case there is some obscure thing
that needs it, Audacious's vfs.cc should translate or return realnames
transparently, without having to modify other streamfiles.
2018-04-19 22:54:45 +02:00
bnnm
d6ade4123f Add buffer_streamfile (for custom IO) and simplify stdio reads 2018-04-19 22:19:30 +02:00
Christopher Snowhill
35bede85fe
Merge pull request #209 from haspor/master
Android change for streamfile
2018-03-31 17:54:45 -07:00
bnnm
e4c819af2e Add size_callback to open_io_streamfile for more complex stuff 2018-03-30 18:10:23 +02:00
-
d5b095361c revert back the Android change. It seems that the 'dup' is not working perfectly with unistd.h either. 2018-03-30 08:22:03 +03:00
bnnm
92b9992552 Rename open_stream_ext/name to open_streamfile_by_ext/filename (cleanup) 2018-03-29 22:34:21 +02:00
bnnm
2b63d451d9 Minor tweaks to get_streamfile_name and co 2018-03-29 21:03:25 +02:00
bnnm
69fb29fc7a Return size_t in read_string for consistency 2018-03-29 20:42:52 +02:00
bnnm
49e62d2bcc Move read_pos_file to ffmpeg.c since it was only needed there 2018-03-29 20:38:06 +02:00
bnnm
a2acd045bf Fix missing nxap 2018-03-25 19:59:58 +02:00
bnnm
b97fc632be Fix minor compiler warnings 2018-03-03 19:07:59 +01:00
bnnm
c7173a6df5 Remove debug 2018-02-25 16:49:17 +01:00
bnnm
15ca185052 Add util to get base filename without path 2018-02-25 16:27:48 +01:00
bnnm
8c7eba151a Add STREAMFILE for segmented files 2018-01-27 13:58:46 +01:00
bnnm
861e1ea796 Add Koei Tecmo ATL3 subfiles [One Piece Pirate Warriors (PS3)] 2018-01-27 11:53:15 +01:00
bnnm
88999d570d Add STREAMFILE for fake names (used to call other meta) 2018-01-27 11:07:45 +01:00
bnnm
ae2ba1bc29 Update read_key_file for variable-sized keys 2018-01-20 20:06:15 +01:00
bnnm
dfbeee2cf3 Improve/add streamfile custom IO (subfiles, decryption, etc)
Adds some special streamfiles that do custom IO, meant to be chained
together.
2018-01-20 00:54:08 +01:00
bnnm
927a3b5f39 Remove PROFILE_STREAMFILE to simplify further changes, not used anymore 2018-01-19 00:16:14 +01:00
bnnm
5c4351aa86 Add VGM_LOG/ASSERT_ONCE macro for useful-but-repetitive error logging 2017-11-23 23:46:33 +01:00
bnnm
dbbbfcc9f5 Make get_streamfile_dos_line read CR/LF too and rename accordingly
CR used in some Falcom looping files as separator
2017-11-23 22:53:43 +01:00
bnnm
801383382d Add util to open stream in the same dir 2017-11-05 17:05:39 +01:00
bnnm
1ff0cecca8 Fix minor compiler warnings (missing const/static/case defaults/etc) 2017-10-28 01:34:32 +02:00
bnnm
f4f920482a Unify open_stdio usage and add opening by FILE 2017-08-13 19:58:01 +02:00
bnnm
c5dbece5ac Add string reader util 2017-08-12 11:14:16 +02:00
bnnm
0a39d7636e Add helper functions to get file name/path/ext 2017-07-15 11:28:42 +02:00
derselbst
2b5a1a249f minor bug in check_extensions()
cmp_len might not become negative on LP64 machines, since sizeof(int)==32bit, but we were subtracting pointers (64bit) that will become positive forcing them to 32bit int
2017-05-27 11:38:09 +02:00
bnnm
fd72f6120a Adjust EOF reads; minor cleanup
When reading over filesize (buggy metas that request more samples than
possible) it returned inconsistent results under some
conditions/interleave sizes (the effect was minimal though)
2017-04-29 16:03:11 +02:00
bnnm
2ec41eb054 Add option to set if zero-sized chunks stop find_chunk (for XVAG) 2017-04-02 12:23:42 +02:00
bnnm
ae26d35f0c Improve handling of different lengths in check_extensions 2017-03-10 17:57:28 +01:00
bnnm
4673050fcb Add find_chunk with configurable endianness 2017-02-18 15:19:25 +01:00
bnnm
782c5927f6 Cache filesize and check when reading over filesize
Improves performance especially for buggy metas (before it would try to
fread every streamfile.read call when offset > filesize)
2017-01-15 20:58:47 +01:00
bnnm
48fa7b7dc0 Added a few helper functions
- open_stream_ext: opens a streamfile based on the filename + ext
- find_chunk_be/le: finds chunk_offset in chunked headers
2017-01-14 01:37:53 +01:00
bnnm
c68608149c Moved check_extensions/open_stream to streamfile.c/vgmstream.c 2017-01-14 00:59:54 +01:00
bnnm
76dc236b41 Added .pos support for .vgmstream (FFmpeg) files not directly supported
The format is LE 4+4 [loop_start loop_end], or LE 4+4+4 [loop_start
loop_end num_samples] when FFmpeg can't determine correctly num_samples
2016-12-11 13:05:54 +01:00
bnnm
f5e8e8ad8e Open key using streamFile, needed to allow user-defined callbacks 2016-11-27 22:42:42 +01:00
bnnm
5a1a122698 Util to read encryption keys from external file based on a songname
The format is "(songname.ext)key" (per song), "(.ext)key" (per folder)
2016-11-27 19:35:26 +01:00
Chris Moeller
3dda6329fc Add include for PATH_LIMIT macro 2014-08-02 20:50:47 -07:00
Chris Moeller
7425dc2aad Fixed remaining path limit issues 2014-08-02 20:32:30 -07:00
halleyscometsw
98ebe15f45 safer file name copies
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@990 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-08-21 15:34:10 +00:00
halleyscometsw
deee95ab68 a more accurate streamfile error profiling
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@546 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-31 18:44:08 +00:00