[LIBMPG123]
authorThomas Faber <thomas.faber@reactos.org>
Sun, 18 Jun 2017 14:08:53 +0000 (14:08 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 18 Jun 2017 14:08:53 +0000 (14:08 +0000)
- Add missing files
CORE-13451

svn path=/trunk/; revision=75094

reactos/sdk/include/reactos/libs/libmpg123/config.h
reactos/sdk/include/reactos/libs/libmpg123/intsym.h
reactos/sdk/include/reactos/libs/libmpg123/mpg123.h

index 1abc53a..079db34 100644 (file)
 /* Define to 1 if you have the <CUlib.h> header file. */
 /* #undef HAVE_CULIB_H */
 
+/* Define to 1 if you have the <dirent.h> header file. */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the `dlclose' function. */
+/* #undef HAVE_DLCLOSE */
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 /* #undef HAVE_DLFCN_H */
 
+/* Define to 1 if you have the `dlopen' function. */
+/* #undef HAVE_DLOPEN */
+
+/* Define to 1 if you have the `dlsym' function. */
+/* #undef HAVE_DLSYM */
+
 /* Define if getaddrinfo accepts the AI_ADDRCONFIG flag */
 /* #undef HAVE_GAI_ADDRCONFIG */
 
 /* Define to 1 if you have the <locale.h> header file. */
 #define HAVE_LOCALE_H 1
 
-/* Define if libltdl is available */
-/* #undef HAVE_LTDL */
-
 /* Define to 1 if you have the <machine/soundcard.h> header file. */
 /* #undef HAVE_MACHINE_SOUNDCARD_H */
 
 /* Define to 1 if you have the <stdlib.h> header file. */
 #define HAVE_STDLIB_H 1
 
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
 /* Define to 1 if you have the `strerror' function. */
 #define HAVE_STRERROR 1
 
 /* Define to 1 if you have the <sys/resource.h> header file. */
 /* #undef HAVE_SYS_RESOURCE_H */
 
+/* Define to 1 if you have the <sys/select.h> header file. */
+/* #undef HAVE_SYS_SELECT_H */
+
 /* Define to 1 if you have the <sys/signal.h> header file. */
 /* #undef HAVE_SYS_SIGNAL_H */
 
    functions. */
 #define LFS_ALIAS_BITS 32
 
+/* Define to the extension used for runtime loadable modules, say, ".so". */
+/* #undef LT_MODULE_EXT */
+
 /* Define to the sub-directory where libtool stores uninstalled libraries. */
 #define LT_OBJDIR ".libs/"
 
-/* The suffix for module files. */
-#define MODULE_FILE_SUFFIX ".la"
+/* Define to the shared library suffix, say, ".dylib". */
+/* #undef LT_SHARED_EXT */
+
+/* Define to the shared archive member specification, say "(shr.o)". */
+/* #undef LT_SHARED_LIB_MEMBER */
 
 /* Define if network support is enabled. */
 #define NETWORK 1
 #define PACKAGE_NAME "mpg123"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "mpg123 1.23.0"
+#define PACKAGE_STRING "mpg123 1.25.0"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "mpg123"
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.23.0"
+#define PACKAGE_VERSION "1.25.0"
 
 /* Define if portaudio v18 API is wanted. */
 /* #undef PORTAUDIO18 */
 /* #undef USE_YASM_FOR_AVX */
 
 /* Version number of package */
-#define VERSION "1.23.0"
+#define VERSION "1.25.0"
 
 /* Define to use Win32 named pipes */
 #define WANT_WIN32_FIFO 1
index fd75290..74b0388 100644 (file)
@@ -6,9 +6,12 @@
 #define COS9 INT123_COS9
 #define tfcos36 INT123_tfcos36
 #define pnts INT123_pnts
+#define catchsignal INT123_catchsignal
 #define safe_realloc INT123_safe_realloc
+#define compat_strdup INT123_compat_strdup
 #define compat_open INT123_compat_open
 #define compat_fopen INT123_compat_fopen
+#define compat_fdopen INT123_compat_fdopen
 #define compat_close INT123_compat_close
 #define compat_fclose INT123_compat_fclose
 #define win32_wide_utf8 INT123_win32_wide_utf8
 #define feed_forget INT123_feed_forget
 #define feed_set_pos INT123_feed_set_pos
 #define open_bad INT123_open_bad
+#define open_module INT123_open_module
+#define close_module INT123_close_module
+#define list_modules INT123_list_modules
+#define buffer_init INT123_buffer_init
+#define buffer_exit INT123_buffer_exit
+#define buffer_sync_param INT123_buffer_sync_param
+#define buffer_open INT123_buffer_open
+#define buffer_encodings INT123_buffer_encodings
+#define buffer_formats INT123_buffer_formats
+#define buffer_start INT123_buffer_start
+#define buffer_ndrain INT123_buffer_ndrain
+#define buffer_stop INT123_buffer_stop
+#define buffer_close INT123_buffer_close
+#define buffer_continue INT123_buffer_continue
+#define buffer_ignore_lowmem INT123_buffer_ignore_lowmem
+#define buffer_drain INT123_buffer_drain
+#define buffer_end INT123_buffer_end
+#define buffer_pause INT123_buffer_pause
+#define buffer_drop INT123_buffer_drop
+#define buffer_write INT123_buffer_write
+#define buffer_fill INT123_buffer_fill
+#define read_buf INT123_read_buf
+#define xfer_write_string INT123_xfer_write_string
+#define xfer_read_string INT123_xfer_read_string
+#define xfermem_init INT123_xfermem_init
+#define xfermem_init_writer INT123_xfermem_init_writer
+#define xfermem_init_reader INT123_xfermem_init_reader
+#define xfermem_get_freespace INT123_xfermem_get_freespace
+#define xfermem_get_usedspace INT123_xfermem_get_usedspace
+#define xfermem_getcmd INT123_xfermem_getcmd
+#define xfermem_getcmds INT123_xfermem_getcmds
+#define xfermem_putcmd INT123_xfermem_putcmd
+#define xfermem_writer_block INT123_xfermem_writer_block
+#define xfermem_write INT123_xfermem_write
+#define xfermem_done INT123_xfermem_done
+#define au_open INT123_au_open
+#define cdr_open INT123_cdr_open
+#define raw_open INT123_raw_open
+#define wav_open INT123_wav_open
+#define wav_write INT123_wav_write
+#define wav_close INT123_wav_close
+#define au_close INT123_au_close
+#define raw_close INT123_raw_close
+#define cdr_formats INT123_cdr_formats
+#define au_formats INT123_au_formats
+#define raw_formats INT123_raw_formats
+#define wav_formats INT123_wav_formats
+#define wav_drain INT123_wav_drain
+#define write_parameters INT123_write_parameters
+#define read_parameters INT123_read_parameters
+#define stringlists_add INT123_stringlists_add
 #define check_neon INT123_check_neon
 #define dct64_3dnow INT123_dct64_3dnow
 #define dct64_3dnowext INT123_dct64_3dnowext
 #define synth_1to1_s32_x86_64_asm INT123_synth_1to1_s32_x86_64_asm
 #define costab_mmxsse INT123_costab_mmxsse
 #define make_decode_tables_mmx_asm INT123_make_decode_tables_mmx_asm
-#ifndef HAVE_STRDUP
-#define strdup INT123_strdup
-#endif
 #ifndef HAVE_STRERROR
 #define strerror INT123_strerror
 #endif
index bbbf5be..872fc42 100644 (file)
@@ -1,5 +1,5 @@
 /*
-       libmpg123: MPEG Audio Decoder library (version 1.23.0)
+       libmpg123: MPEG Audio Decoder library (version 1.25.0)
 
        copyright 1995-2015 by the mpg123 project
        free software under the terms of the LGPL 2.1
@@ -17,8 +17,9 @@
  * This should be incremented at least each time a new symbol is added
  * to the header.
  */
-#define MPG123_API_VERSION 42
+#define MPG123_API_VERSION 44
 
+#ifndef MPG123_EXPORT
 /** Defines needed for MS Visual Studio(tm) DLL builds.
  * Every public function must be prefixed with MPG123_EXPORT. When building 
  * the DLL ensure to define BUILD_MPG123_DLL. This makes the function accessible
 #define MPG123_EXPORT
 #endif
 #endif
+#endif
+
+#ifndef __REACTOS__
+/* This is for Visual Studio, so this header works as distributed in the binary downloads */
+#if defined(_MSC_VER) && !defined(MPG123_DEF_SSIZE_T)
+#define MPG123_DEF_SSIZE_T
+#include <stddef.h>
+typedef ptrdiff_t ssize_t;
+#endif
+#endif /* __REACTOS__ */
 
 #ifndef MPG123_NO_CONFIGURE /* Enable use of this file without configure. */
 #include <stdlib.h>
 #include <sys/types.h>
 
+#ifdef __REACTOS__
 #ifndef ssize_t
 typedef long ssize_t;
 #endif
+#endif /* __REACTOS__ */
 
 /* Simplified large file handling.
        I used to have a check here that prevents building for a library with conflicting large file setup
@@ -196,6 +209,13 @@ enum mpg123_param_flags
        ,MPG123_IGNORE_INFOFRAME = 0x4000 /**< 100 0000 0000 0000 Do not parse the LAME/Xing info frame, treat it as normal MPEG data. */
        ,MPG123_AUTO_RESAMPLE = 0x8000 /**< 1000 0000 0000 0000 Allow automatic internal resampling of any kind (default on if supported). Especially when going lowlevel with replacing output buffer, you might want to unset this flag. Setting MPG123_DOWNSAMPLE or MPG123_FORCE_RATE will override this. */
        ,MPG123_PICTURE = 0x10000 /**< 17th bit: Enable storage of pictures from tags (ID3v2 APIC). */
+       ,MPG123_NO_PEEK_END    = 0x20000 /**< 18th bit: Do not seek to the end of
+        *  the stream in order to probe
+        *  the stream length and search for the id3v1 field. This also means
+        *  the file size is unknown unless set using mpg123_set_filesize() and
+        *  the stream is assumed as non-seekable unless overridden.
+        */
+       ,MPG123_FORCE_SEEKABLE = 0x40000 /**< 19th bit: Force the stream to be seekable. */
 };
 
 /** choices for MPG123_RVA */
@@ -395,7 +415,7 @@ MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
  *  The active decoder engine can vary depening on output constraints,
  *  mostly non-resampling, integer output is accelerated via 3DNow & Co. but for
  *  other modes a fallback engine kicks in.
- *  Note that this can return a decoder that is ony active in the hidden and not
+ *  Note that this can return a decoder that is only active in the hidden and not
  *  available as decoder choice from the outside.
  *  \param mh handle
  *  \return The decoder name or NULL on error.
@@ -411,7 +431,7 @@ MPG123_EXPORT const char* mpg123_current_decoder(mpg123_handle *mh);
  *
  * Before you dive in, please be warned that you might get confused by this. This seems to happen a lot, therefore I am trying to explain in advance.
  *
- * The mpg123 library decides what output format to use when encountering the first frame in a stream, or actually any frame that is still valid but differs from the frames before in the prompted output format. At such a deciding point, an internal table of allowed encodings, sampling rates and channel setups is consulted. According to this table, an output format is chosen and the decoding engine set up accordingly (including ptimized routines for different output formats). This might seem unusual but it just follows from the non-existence of "MPEG audio files" with defined overall properties. There are streams, streams are concatenations of (semi) independent frames. We store streams on disk and call them "MPEG audio files", but that does not change their nature as the decoder is concerned (the LAME/Xing header for gapless decoding makes things interesting again).
+ * The mpg123 library decides what output format to use when encountering the first frame in a stream, or actually any frame that is still valid but differs from the frames before in the prompted output format. At such a deciding point, an internal table of allowed encodings, sampling rates and channel setups is consulted. According to this table, an output format is chosen and the decoding engine set up accordingly (including optimized routines for different output formats). This might seem unusual but it just follows from the non-existence of "MPEG audio files" with defined overall properties. There are streams, streams are concatenations of (semi) independent frames. We store streams on disk and call them "MPEG audio files", but that does not change their nature as the decoder is concerned (the LAME/Xing header for gapless decoding makes things interesting again).
  *
  * To get to the point: What you do with mpg123_format() and friends is to fill the internal table of allowed formats before it is used. That includes removing support for some formats or adding your forced sample rate (see MPG123_FORCE_RATE) that will be used with the crude internal resampler. Also keep in mind that the sample encoding is just a question of choice -- the MPEG frames do only indicate their native sampling rate and channel count. If you want to decode to integer or float samples, 8 or 16 bit ... that is your decision. In a "clean" world, libmpg123 would always decode to 32 bit float and let you handle any sample conversion. But there are optimized routines that work faster by directly decoding to the desired encoding / accuracy. We prefer efficiency over conceptual tidyness.
  *
@@ -481,6 +501,10 @@ MPG123_EXPORT int mpg123_format_support( mpg123_handle *mh
 ,      long rate, int encoding );
 
 /** Get the current output format written to the addresses given.
+ *  If the stream is freshly loaded, this will try to parse enough
+ *  of it to give you the format to come. This clears the flag that
+ *  would otherwise make the first decoding call return
+ *  MPG123_NEW_FORMAT.
  *  \param mh handle
  *  \param rate sampling rate return address
  *  \param channels channel count return address
@@ -490,6 +514,20 @@ MPG123_EXPORT int mpg123_format_support( mpg123_handle *mh
 MPG123_EXPORT int mpg123_getformat( mpg123_handle *mh
 ,      long *rate, int *channels, int *encoding );
 
+/** Get the current output format written to the addresses given.
+ *  This differs from plain mpg123_getformat() in that you can choose
+ *  _not_ to clear the flag that would trigger the next decoding call
+ *  to return MPG123_NEW_FORMAT in case of a new format arriving.
+ *  \param mh handle
+ *  \param rate sampling rate return address
+ *  \param channels channel count return address
+ *  \param encoding encoding return address
+ *  \param clear_flag if true, clear internal format flag
+ *  \return MPG123_OK on success
+ */
+MPG123_EXPORT int mpg123_getformat2( mpg123_handle *mh
+,      long *rate, int *channels, int *encoding, int clear_flag );
+
 /*@}*/
 
 
@@ -1101,7 +1139,7 @@ MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_en
  *  Also, you might want to take a bit of care with preparing the data; for example, strip leading zeroes (I have seen that).
  *  \param sb  target string
  *  \param enc mpg123 text encoding value
- *  \param source source buffer with plain unsigned bytes (you might need to cast from char *)
+ *  \param source source buffer with plain unsigned bytes (you might need to cast from signed char)
  *  \param source_size number of bytes in the source buffer
  *  \return 0 on error, 1 on success (on error, mpg123_free_string is called on sb)
  */
@@ -1391,7 +1429,7 @@ MPG123_EXPORT int mpg123_replace_reader( mpg123_handle *mh
  *  Note: As it would be troublesome to mess with this while having a file open,
  *  this mpg123_close() is implied here.
  *  \param mh handle
- *  \param r_read callback for reading (behaviour like POSIXread)
+ *  \param r_read callback for reading (behaviour like POSIX read)
  *  \param r_lseek callback for seeking (like POSIX lseek)
  *  \param cleanup A callback to clean up an I/O handle on mpg123_close,
  *         can be NULL for none (you take care of cleaning your handles).
@@ -1408,6 +1446,4 @@ MPG123_EXPORT int mpg123_replace_reader_handle( mpg123_handle *mh
 }
 #endif
 
-#undef MPG123_EXPORT
-
 #endif