#ifndef MPG123_EXPORT
/** Defines needed for MS Visual Studio(tm) DLL builds.
- * Every public function must be prefixed with MPG123_EXPORT. When building
+ * Every public function must be prefixed with MPG123_EXPORT. When building
* the DLL ensure to define BUILD_MPG123_DLL. This makes the function accessible
* for clients and includes it in the import library which is created together
* with the DLL. When consuming the DLL ensure to define LINK_MPG123_DLL which
- * imports the functions from the DLL.
+ * imports the functions from the DLL.
*/
#ifdef BUILD_MPG123_DLL
/* The dll exports. */
*/
typedef struct mpg123_handle_struct mpg123_handle;
-/** Function to initialise the mpg123 library.
+/** Function to initialise the mpg123 library.
* This should be called once in a non-parallel context. It is not explicitly
* thread-safe, but repeated/concurrent calls still _should_ be safe as static
* tables are filled with the same values anyway.
MPG123_RVA, /**< one of the RVA choices above (integer) */
MPG123_DOWNSPEED, /**< play a frame N times (integer) */
MPG123_UPSPEED, /**< play every Nth frame (integer) */
- MPG123_START_FRAME, /**< start with this frame (skip frames before that, integer) */
+ MPG123_START_FRAME, /**< start with this frame (skip frames before that, integer) */
MPG123_DECODE_FRAMES, /**< decode only this number of frames (integer) */
MPG123_ICY_INTERVAL, /**< Stream contains ICY metadata with this interval (integer).
Make sure to set this _before_ opening a stream.*/
,MPG123_RVA_MAX = MPG123_RVA_ALBUM /**< The maximum RVA code, may increase in future. */
};
-/** Set a specific parameter, for a specific mpg123_handle, using a parameter
+/** Set a specific parameter, for a specific mpg123_handle, using a parameter
* type key chosen from the mpg123_parms enumeration, to the specified value.
* \param mh handle
* \param type parameter choice
MPG123_EXPORT int mpg123_param( mpg123_handle *mh
, enum mpg123_parms type, long value, double fvalue );
-/** Get a specific parameter, for a specific mpg123_handle.
+/** Get a specific parameter, for a specific mpg123_handle.
* See the mpg123_parms enumeration for a list of available parameters.
* \param mh handle
* \param type parameter choice
/*@}*/
-/** \defgroup mpg123_output mpg123 output audio format
+/** \defgroup mpg123_output mpg123 output audio format
*
* Functions to get and select the format of the decoded audio.
*
* \return positive size of encoding in bytes, 0 on invalid encoding. */
MPG123_EXPORT int mpg123_encsize(int encoding);
-/** Configure a mpg123 handle to accept no output format at all,
+/** Configure a mpg123 handle to accept no output format at all,
* use before specifying supported formats with mpg123_format
* \param mh handle
* \return MPG123_OK on success
*/
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh);
-/** Configure mpg123 handle to accept all formats
+/** Configure mpg123 handle to accept all formats
* (also any custom rate you may set) -- this is default.
* \param mh handle
* \return MPG123_OK on success
MPG123_EXPORT int mpg123_format2( mpg123_handle *mh
, long rate, int channels, int encodings );
-/** Check to see if a specific format at a specific rate is supported
+/** Check to see if a specific format at a specific rate is supported
* by mpg123_handle.
* \param mh handle
* \param rate sampling rate
* \param encoding encoding
- * \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
+ * \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
* MPG123_MONO or MPG123_STEREO|MPG123_MONO. */
MPG123_EXPORT int mpg123_format_support( mpg123_handle *mh
, long rate, int encoding );
MPG123_EXPORT int mpg123_feed( mpg123_handle *mh
, const unsigned char *in, size_t size );
-/** Decode MPEG Audio from inmemory to outmemory.
+/** Decode MPEG Audio from inmemory to outmemory.
* This is very close to a drop-in replacement for old mpglib.
- * When you give zero-sized output buffer the input will be parsed until
- * decoded data is available. This enables you to get MPG123_NEW_FORMAT (and query it)
+ * When you give zero-sized output buffer the input will be parsed until
+ * decoded data is available. This enables you to get MPG123_NEW_FORMAT (and query it)
* without taking decoded data.
* Think of this function being the union of mpg123_read() and mpg123_feed() (which it actually is, sort of;-).
* You can actually always decide if you want those specialized functions in separate steps or one call this one here.
* The position is measured in decoded audio samples, or MPEG frame offset for the specific functions.
* If gapless code is in effect, the positions are adjusted to compensate the skipped padding/delay - meaning, you should not care about that at all and just use the position defined for the samples you get out of the decoder;-)
* The general usage is modelled after stdlib's ftell() and fseek().
- * Especially, the whence parameter for the seek functions has the same meaning as the one for fseek() and needs the same constants from stdlib.h:
+ * Especially, the whence parameter for the seek functions has the same meaning as the one for fseek() and needs the same constants from stdlib.h:
* - SEEK_SET: set position to (or near to) specified offset
* - SEEK_CUR: change position by offset from now
* - SEEK_END: set position to offset from end
MPG123_EXPORT off_t mpg123_seek( mpg123_handle *mh
, off_t sampleoff, int whence );
-/** Seek to a desired sample offset in data feeding mode.
+/** Seek to a desired sample offset in data feeding mode.
* This just prepares things to be right only if you ensure that the next chunk of input data will be from input_offset byte position.
* \param mh handle
* \param sampleoff offset in PCM samples
* \param whence one of SEEK_SET, SEEK_CUR or SEEK_END
- * \param input_offset The position it expects to be at the
+ * \param input_offset The position it expects to be at the
* next time data is fed to mpg123_decode().
* \return The resulting offset >= 0 or error/message code */
MPG123_EXPORT off_t mpg123_feedseek( mpg123_handle *mh
*/
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh);
-/** Set the absolute output volume including the RVA setting,
+/** Set the absolute output volume including the RVA setting,
* vol<0 just applies (a possibly changed) RVA setting.
* \param mh handle
* \param vol volume value (linear factor)
*/
MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
-/** Return current volume setting, the actual value due to RVA, and the RVA
- * adjustment itself. It's all as double float value to abstract the sample
- * format. The volume values are linear factors / amplitudes (not percent)
+/** Return current volume setting, the actual value due to RVA, and the RVA
+ * adjustment itself. It's all as double float value to abstract the sample
+ * format. The volume values are linear factors / amplitudes (not percent)
* and the RVA value is in decibels.
* \param mh handle
* \param base return address for base volume (linear factor)
/** Data structure for storing strings in a safer way than a standard C-String.
* Can also hold a number of null-terminated strings. */
-typedef struct
+typedef struct
{
char* p; /**< pointer to the string data */
size_t size; /**< raw number of bytes allocated */
* - Influence behaviour of library _during_ initialization of handle (MPG123_VERBOSE).
* - Use one set of parameters for multiple handles.
*
- * The functions for handling mpg123_pars (mpg123_par() and mpg123_fmt()
- * family) directly return a fully qualified mpg123 error code, the ones
- * operating on full handles normally MPG123_OK or MPG123_ERR, storing the
- * specific error code itseld inside the handle.
+ * The functions for handling mpg123_pars (mpg123_par() and mpg123_fmt()
+ * family) directly return a fully qualified mpg123 error code, the ones
+ * operating on full handles normally MPG123_OK or MPG123_ERR, storing the
+ * specific error code itseld inside the handle.
*
* @{
*/
*/
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars* mp);
-/** Configure mpg123 parameters to accept no output format at all,
+/** Configure mpg123 parameters to accept no output format at all,
* use before specifying supported formats with mpg123_format
* \param mp parameter handle
* \return MPG123_OK on success
*/
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp);
-/** Configure mpg123 parameters to accept all formats
- * (also any custom rate you may set) -- this is default.
+/** Configure mpg123 parameters to accept all formats
+ * (also any custom rate you may set) -- this is default.
* \param mp parameter handle
* \return MPG123_OK on success
*/
* \param mp parameter handle
* \param rate sampling rate
* \param encoding encoding
- * \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
+ * \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
* MPG123_MONO or MPG123_STEREO|MPG123_MONO. */
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
-/** Set a specific parameter, for a specific mpg123_pars, using a parameter
+/** Set a specific parameter, for a specific mpg123_pars, using a parameter
* type key chosen from the mpg123_parms enumeration, to the specified value.
* \param mp parameter handle
* \param type parameter choice
MPG123_EXPORT int mpg123_par( mpg123_pars *mp
, enum mpg123_parms type, long value, double fvalue );
-/** Get a specific parameter, for a specific mpg123_pars.
+/** Get a specific parameter, for a specific mpg123_pars.
* See the mpg123_parms enumeration for a list of available parameters.
* \param mp parameter handle
* \param type parameter choice
MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh);
/** Replace low-level stream access functions; read and lseek as known in POSIX.
- * You can use this to make any fancy file opening/closing yourself,
+ * You can use this to make any fancy file opening/closing yourself,
* using mpg123_open_fd() to set the file descriptor for your read/lseek
* (doesn't need to be a "real" file descriptor...).
- * Setting a function to NULL means that the default internal read is
+ * Setting a function to NULL means that the default internal read is
* used (active from next mpg123_open call on).
* Note: As it would be troublesome to mess with this while having a file open,
* this implies mpg123_close().