Commit Graph

83 Commits

Author SHA1 Message Date
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