mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 02:05:50 +00:00
[MPG123] Update to version 1.26.1. CORE-17098
This commit is contained in:
parent
cab7e9ade8
commit
aa811c00e3
27 changed files with 2163 additions and 710 deletions
17
sdk/lib/3rdparty/libmpg123/lfs_wrap.c
vendored
17
sdk/lib/3rdparty/libmpg123/lfs_wrap.c
vendored
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
lfs_wrap: Crappy wrapper code for supporting crappy ambiguous large file support.
|
||||
|
||||
copyright 2010 by the mpg123 project - free software under the terms of the LGPL 2.1
|
||||
copyright 2010-2020 by the mpg123 project - free software under the terms of the LGPL 2.1
|
||||
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
||||
|
||||
initially written by Thomas Orgis, thanks to Guido Draheim for consulting
|
||||
|
@ -552,7 +552,6 @@ off_t wrap_lseek(void *handle, off_t offset, int whence)
|
|||
case IO_FD: return ioh->r_lseek(ioh->fd, smalloff, whence);
|
||||
case IO_HANDLE: return ioh->r_h_lseek(ioh->handle, smalloff, whence);
|
||||
}
|
||||
error("Serious breakage - bad IO type in LFS wrapper!");
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
|
@ -571,6 +570,7 @@ off_t wrap_lseek(void *handle, off_t offset, int whence)
|
|||
#undef mpg123_replace_reader
|
||||
#undef mpg123_replace_reader_handle
|
||||
#undef mpg123_open
|
||||
#undef mpg123_open_fixed
|
||||
#undef mpg123_open_fd
|
||||
#undef mpg123_open_handle
|
||||
|
||||
|
@ -699,6 +699,19 @@ int attribute_align_arg mpg123_open(mpg123_handle *mh, const char *path)
|
|||
else return MPG123_LARGENAME(mpg123_open)(mh, path);
|
||||
}
|
||||
|
||||
// This one needs to follow the logic of the original, and wrap the actual
|
||||
// mpg123_open() here.
|
||||
int attribute_align_arg mpg123_open_fixed( mpg123_handle *mh, const char *path
|
||||
, int channels, int encoding )
|
||||
{
|
||||
int err = open_fixed_pre(mh, channels, encoding);
|
||||
if(err == MPG123_OK)
|
||||
err = mpg123_open(mh, path);
|
||||
if(err == MPG123_OK)
|
||||
err = open_fixed_post(mh, channels, encoding);
|
||||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
This is in fact very similar to the above:
|
||||
The open routines always need to watch out for a prepared wrapper handle to use replaced normal I/O.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue