Commit Graph

102 Commits

Author SHA1 Message Date
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
halleyscometsw
70c7fb1532 dos2unix
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@383 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-02 03:15:24 +00:00
halleyscometsw
875c0d1eae MUS Playlists! ARGH!
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@353 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-20 23:28:16 +00:00
halleyscometsw
b058236064 Add get_realname() to streamfile, so that we can get the plain name of the file even if the file names handled by the streamfile are encoded somehow. Needed for nwa.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@306 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-11 08:29:04 +00:00
halleyscometsw
f944267644 add error counting with STREAMFILE_PROFILE
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@280 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-03 20:08:02 +00:00
fastelbja
b462417ddf add support for VPK + various fix on VAG + ADS
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@206 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-07 21:11:33 +00:00
paladine
110938668a Fix to not include missing unistd.h in the Microsoft compiler.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@187 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-05-20 19:27:09 +00:00
halleyscometsw
57e227e4c1 "profiling" for STREAMFILE, to see how much is actually being read
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@186 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-05-20 18:56:44 +00:00
halleyscometsw
5d36d9105a clean up mingw issues
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@183 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-05-20 18:19:02 +00:00
paladine
3ae797a88a Changed STREAMFILE to be an abstract structure with function pointers for file operations. These changes have been done to support the audacious plugin which will use audacious-VFS I/O instead of stdio. The winamp plugin uses stdio, and has been tested and is working.
stdio optimizations include the prevention of 'doubly opening' a file.  If a file is opened that is already opened, the file handle is duplicated instead of using the normal fopen call.  

git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@180 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-05-20 15:18:38 +00:00
halleyscometsw
017b6e9e83 revert to rev 68
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@70 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-04-04 01:24:57 +00:00
unknownfile
91dbfd36f8 extension list moved to util.c, winamp plugin now loops indefinitely. will want to change later
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@69 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-04-03 23:50:06 +00:00
halleyscometsw
a198784654 Turned optimization back on and fixed additional warnings found (uninitialized variable use, mostly spurious).
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@34 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-02-15 18:49:59 +00:00
halleyscometsw
b3633585e1 Inlined some common stuff for speed.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@4 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-01-31 22:26:11 +00:00
halleyscometsw
354d29cf92 Move things into src/
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@2 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-01-31 06:09:11 +00:00