From 2db9153d7a863f4d8994b61c8c8b03f23142438a Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Thu, 11 Oct 2018 11:50:10 +0300 Subject: [PATCH] remove smpeg support completely and backport libmpg123 support instead. --- CHANGES | 8 +- README | 4 +- SDL_mixer.spec.in | 4 +- VisualC/SDL_mixer.sln | 4 +- VisualC/SDL_mixer.vcproj | 19 +- VisualC/external/include/MPEGfilter.h | 67 - VisualC/external/include/mpg123.h | 1208 +++++++++++++++++ VisualC/external/include/smpeg.h | 207 --- VisualC/external/lib/x64/LICENSE.mpg123.txt | 772 +++++++++++ VisualC/external/lib/x64/LICENSE.smpeg.txt | 485 ------- VisualC/external/lib/x64/libmpg123-0.dll | Bin 0 -> 172544 bytes VisualC/external/lib/x64/smpeg.dll | Bin 227328 -> 0 bytes VisualC/external/lib/x86/LICENSE.mpg123.txt | 772 +++++++++++ VisualC/external/lib/x86/LICENSE.smpeg.txt | 485 ------- VisualC/external/lib/x86/libmpg123-0.dll | Bin 0 -> 178176 bytes VisualC/external/lib/x86/smpeg.dll | Bin 209408 -> 0 bytes VisualC/native_midi/native_midi.vcproj | 11 +- VisualC/playmus/playmus.vcproj | 3 +- VisualC/playwave/playwave.vcproj | 3 +- VisualC/timidity/timidity.vcproj | 3 +- .../Headers | 0 .../Resources | 0 .../Versions/A/Headers/mpg123.h | 1202 ++++++++++++++++ .../Versions/A/Resources/Info.plist | 10 +- .../Versions/A/Resources/LICENSE.mpg123.txt | 772 +++++++++++ .../mpg123.framework/Versions/A/mpg123 | Bin 0 -> 577844 bytes .../Versions/Current | 0 Xcode/Frameworks/mpg123.framework/mpg123 | 1 + .../smpeg.framework/LICENSE.smpeg.txt | 485 ------- .../smpeg.framework/Versions/A/Headers/MPEG.h | 135 -- .../Versions/A/Headers/MPEGaction.h | 141 -- .../Versions/A/Headers/MPEGaudio.h | 385 ------ .../Versions/A/Headers/MPEGerror.h | 62 - .../Versions/A/Headers/MPEGfilter.h | 67 - .../Versions/A/Headers/MPEGlist.h | 45 - .../Versions/A/Headers/MPEGring.h | 94 -- .../Versions/A/Headers/MPEGstream.h | 116 -- .../Versions/A/Headers/MPEGsystem.h | 117 -- .../Versions/A/Headers/MPEGvideo.h | 109 -- .../Versions/A/Headers/smpeg.h | 207 --- .../smpeg.framework/Versions/A/smpeg | Bin 528360 -> 0 bytes Xcode/Frameworks/smpeg.framework/smpeg | 1 - Xcode/SDL_mixer.xcodeproj/project.pbxproj | 28 +- acinclude/smpeg.m4 | 171 --- aclocal.m4 | 357 ++--- configure | 422 +++--- configure.in | 35 +- dynamic_mp3.c | 165 +-- dynamic_mp3.h | 43 +- mixer.c | 2 + music.c | 33 +- music_mpg.c | 383 ++++++ music_mpg.h | 58 + 53 files changed, 5577 insertions(+), 4124 deletions(-) delete mode 100644 VisualC/external/include/MPEGfilter.h create mode 100644 VisualC/external/include/mpg123.h delete mode 100644 VisualC/external/include/smpeg.h create mode 100644 VisualC/external/lib/x64/LICENSE.mpg123.txt delete mode 100644 VisualC/external/lib/x64/LICENSE.smpeg.txt create mode 100644 VisualC/external/lib/x64/libmpg123-0.dll delete mode 100644 VisualC/external/lib/x64/smpeg.dll create mode 100644 VisualC/external/lib/x86/LICENSE.mpg123.txt delete mode 100644 VisualC/external/lib/x86/LICENSE.smpeg.txt create mode 100644 VisualC/external/lib/x86/libmpg123-0.dll delete mode 100644 VisualC/external/lib/x86/smpeg.dll rename Xcode/Frameworks/{smpeg.framework => mpg123.framework}/Headers (100%) rename Xcode/Frameworks/{smpeg.framework => mpg123.framework}/Resources (100%) create mode 100644 Xcode/Frameworks/mpg123.framework/Versions/A/Headers/mpg123.h rename Xcode/Frameworks/{smpeg.framework => mpg123.framework}/Versions/A/Resources/Info.plist (67%) create mode 100644 Xcode/Frameworks/mpg123.framework/Versions/A/Resources/LICENSE.mpg123.txt create mode 100755 Xcode/Frameworks/mpg123.framework/Versions/A/mpg123 rename Xcode/Frameworks/{smpeg.framework => mpg123.framework}/Versions/Current (100%) create mode 120000 Xcode/Frameworks/mpg123.framework/mpg123 delete mode 100644 Xcode/Frameworks/smpeg.framework/LICENSE.smpeg.txt delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEG.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaction.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaudio.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGerror.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGfilter.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGlist.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGring.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGstream.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGsystem.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGvideo.h delete mode 100644 Xcode/Frameworks/smpeg.framework/Versions/A/Headers/smpeg.h delete mode 100755 Xcode/Frameworks/smpeg.framework/Versions/A/smpeg delete mode 120000 Xcode/Frameworks/smpeg.framework/smpeg delete mode 100644 acinclude/smpeg.m4 create mode 100644 music_mpg.c create mode 100644 music_mpg.h diff --git a/CHANGES b/CHANGES index 08e91f21..c588d476 100644 --- a/CHANGES +++ b/CHANGES @@ -1,10 +1,14 @@ 1.2.13: +Ozkan Sezer - Wed, 10 Oct 2018 14:56:10 + * Removed smpeg support for mp3 music, now that it's replaced by libmpg123 Ozkan Sezer - Sun, 07 Oct 2018 14:00:02 - * Backports of fixes from SDL_mixer-2.0.x + * Backports of several fixes from SDL_mixer-2.0.x Ozkan Sezer - Sun, 07 Oct 2018 08:50:02 * Fixed mp3 mad decoder to skip tags, which otherwise would lead to crashes +Franc[e]sco - Thu, 20 Jul 2017 20:03:19 + * Added support for MP3 playback using mpg123 Sam Lantinga - Sat Aug 23 10:57:26 2014 -* Fixed floating point exception in Mix_Volume() + * Fixed floating point exception in Mix_Volume() Paul P Komkoff Jr - Sun Jul 22 16:12:28 PDT 2012 * Fixed malloc/free mismatch in the MikMod driver diff --git a/README b/README index b17cfe68..94273002 100644 --- a/README +++ b/README @@ -6,7 +6,7 @@ http://www.libsdl.org/projects/SDL_mixer/ Due to popular demand, here is a simple multi-channel audio mixer. It supports 8 channels of 16 bit stereo audio, plus a single channel -of music, mixed by the popular MikMod MOD, Timidity MIDI and SMPEG MP3 +of music, mixed by the popular MikMod MOD, Timidity MIDI, and mpg123 MP3 libraries. See the header file SDL_mixer.h and the examples playwave.c and playmus.c @@ -16,7 +16,7 @@ The mixer can currently load Microsoft WAVE files and Creative Labs VOC files as audio samples, and can load MIDI files via Timidity and the following music formats via MikMod: .MOD .S3M .IT .XM. It can load Ogg Vorbis streams as music if built with Ogg Vorbis or Tremor libraries, -and finally it can load MP3 music using the SMPEG or libmad libraries. +and finally it can load MP3 music using the libmpeg123 or libmad libraries. Tremor decoding is disabled by default; you can enable it by passing --enable-music-ogg-tremor diff --git a/SDL_mixer.spec.in b/SDL_mixer.spec.in index 0beaf750..3285a037 100644 --- a/SDL_mixer.spec.in +++ b/SDL_mixer.spec.in @@ -16,7 +16,7 @@ Prefix: %{_prefix} Due to popular demand, here is a simple multi-channel audio mixer. It supports 4 channels of 16 bit stereo audio, plus a single channel of music, mixed by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, -Tremor, SMPEG MP3, and libmad MP3 libraries. +Tremor, libmpg123 and libmad MP3 libraries. %package devel Summary: Libraries, includes and more to develop SDL applications. @@ -27,7 +27,7 @@ Requires: %{name} Due to popular demand, here is a simple multi-channel audio mixer. It supports 4 channels of 16 bit stereo audio, plus a single channel of music, mixed by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, -Tremor, SMPEG MP3, and libmad MP3 libraries. +Tremor, libmpg123 and libmad MP3 libraries. %prep %setup diff --git a/VisualC/SDL_mixer.sln b/VisualC/SDL_mixer.sln index 38a77480..c2c7778b 100644 --- a/VisualC/SDL_mixer.sln +++ b/VisualC/SDL_mixer.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL_mixer", "SDL_mixer.vcproj", "{F7E944B3-0815-40CD-B3E4-90B2A15B0E33}" ProjectSection(ProjectDependencies) = postProject {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C} = {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C} diff --git a/VisualC/SDL_mixer.vcproj b/VisualC/SDL_mixer.vcproj index 8973e6e7..cb57aacd 100644 --- a/VisualC/SDL_mixer.vcproj +++ b/VisualC/SDL_mixer.vcproj @@ -1,11 +1,10 @@ + + + + diff --git a/VisualC/external/include/MPEGfilter.h b/VisualC/external/include/MPEGfilter.h deleted file mode 100644 index 971c7c7c..00000000 --- a/VisualC/external/include/MPEGfilter.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* MPEG filters */ - -#ifndef _MPEGFILTER_H_ -#define _MPEGFILTER_H_ - -/* SMPEG filter info flags */ -#define SMPEG_FILTER_INFO_MB_ERROR 1 -#define SMPEG_FILTER_INFO_PIXEL_ERROR 2 - -/* Filter info from SMPEG */ -typedef struct SMPEG_FilterInfo { - Uint16* yuv_mb_square_error; - Uint16* yuv_pixel_square_error; -} SMPEG_FilterInfo; - -/* MPEG filter definition */ -struct SMPEG_Filter; - -/* Callback functions for the filter */ -typedef void (* SMPEG_FilterCallback)( SDL_Overlay * dest, SDL_Overlay * source, SDL_Rect * region, SMPEG_FilterInfo * filter_info, void * data ); -typedef void (* SMPEG_FilterDestroy)( struct SMPEG_Filter * filter ); - -/* The filter definition itself */ -typedef struct SMPEG_Filter { - Uint32 flags; - void * data; - SMPEG_FilterCallback callback; - SMPEG_FilterDestroy destroy; -} SMPEG_Filter; - -/* SMPEG built-in filters. */ -#ifdef __cplusplus -extern "C" { -#endif - -/* The null filter (default). It simply copies the source rectangle to the video overlay. */ -extern DECLSPEC SMPEG_Filter * SMPEGfilter_null(void); - -/* The bilinear filter. A basic low-pass filter that will produce a smoother image. */ -extern DECLSPEC SMPEG_Filter * SMPEGfilter_bilinear(void); - -/* The deblocking filter. It filters block borders and non-intra coded blocks to reduce blockiness */ -extern DECLSPEC SMPEG_Filter * SMPEGfilter_deblocking(void); - -#ifdef __cplusplus -}; -#endif -#endif /* _MPEGFILTER_H_ */ diff --git a/VisualC/external/include/mpg123.h b/VisualC/external/include/mpg123.h new file mode 100644 index 00000000..efb1fae4 --- /dev/null +++ b/VisualC/external/include/mpg123.h @@ -0,0 +1,1208 @@ +/* + libmpg123: MPEG Audio Decoder library (version 1.22.4) + + copyright 1995-2010 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 +*/ + +#ifndef MPG123_LIB_H +#define MPG123_LIB_H + +/** \file mpg123.h The header file for the libmpg123 MPEG Audio decoder */ + +/* A macro to check at compile time which set of API functions to expect. + This should be incremented at least each time a new symbol is added to the header. */ +#define MPG123_API_VERSION 41 + +/* These aren't actually in use... seems to work without using libtool. */ +#ifdef BUILD_MPG123_DLL +/* The dll exports. */ +#define MPG123_EXPORT __declspec(dllexport) +#else +#ifdef LINK_MPG123_DLL +/* The exe imports. */ +#define MPG123_EXPORT __declspec(dllimport) +#else +/* Nothing on normal/UNIX builds */ +#define MPG123_EXPORT +#endif +#endif + +#if defined(_MSC_VER) && !defined(MPG123_DEF_SSIZE_T) +#define MPG123_DEF_SSIZE_T +#include +typedef ptrdiff_t ssize_t; +#endif + +#ifndef MPG123_NO_CONFIGURE /* Enable use of this file without configure. */ +#include +#include + +/* Simplified large file handling. + I used to have a check here that prevents building for a library with conflicting large file setup + (application that uses 32 bit offsets with library that uses 64 bits). + While that was perfectly fine in an environment where there is one incarnation of the library, + it hurt GNU/Linux and Solaris systems with multilib where the distribution fails to provide the + correct header matching the 32 bit library (where large files need explicit support) or + the 64 bit library (where there is no distinction). + + New approach: When the app defines _FILE_OFFSET_BITS, it wants non-default large file support, + and thus functions with added suffix (mpg123_open_64). + Any mismatch will be caught at link time because of the _FILE_OFFSET_BITS setting used when + building libmpg123. Plus, there's dual mode large file support in mpg123 since 1.12 now. + Link failure is not the expected outcome of any half-sane usage anymore. + + More complication: What about client code defining _LARGEFILE64_SOURCE? It might want direct access to the _64 functions, along with the ones without suffix. Well, that's possible now via defining MPG123_NO_LARGENAME and MPG123_LARGESUFFIX, respectively, for disabling or enforcing the suffix names. +*/ + +/* + Now, the renaming of large file aware functions. + By default, it appends underscore _FILE_OFFSET_BITS (so, mpg123_seek_64 for mpg123_seek), if _FILE_OFFSET_BITS is defined. You can force a different suffix via MPG123_LARGESUFFIX (that must include the underscore), or you can just disable the whole mess by defining MPG123_NO_LARGENAME. +*/ +#if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX)) + +/* Need some trickery to concatenate the value(s) of the given macro(s). */ +#define MPG123_MACROCAT_REALLY(a, b) a ## b +#define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b) +#ifndef MPG123_LARGESUFFIX +#define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS) +#endif +#define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX) + +#define mpg123_open MPG123_LARGENAME(mpg123_open) +#define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd) +#define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle) +#define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode) +#define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame) +#define mpg123_tell MPG123_LARGENAME(mpg123_tell) +#define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe) +#define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream) +#define mpg123_seek MPG123_LARGENAME(mpg123_seek) +#define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek) +#define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame) +#define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe) +#define mpg123_index MPG123_LARGENAME(mpg123_index) +#define mpg123_set_index MPG123_LARGENAME(mpg123_set_index) +#define mpg123_position MPG123_LARGENAME(mpg123_position) +#define mpg123_length MPG123_LARGENAME(mpg123_length) +#define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize) +#define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader) +#define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle) +#define mpg123_framepos MPG123_LARGENAME(mpg123_framepos) + +#endif /* largefile hackery */ + +#endif /* MPG123_NO_CONFIGURE */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** \defgroup mpg123_init mpg123 library and handle setup + * + * Functions to initialise and shutdown the mpg123 library and handles. + * The parameters of handles have workable defaults, you only have to tune them when you want to tune something;-) + * Tip: Use a RVA setting... + * + * @{ + */ + +/** Opaque structure for the libmpg123 decoder handle. */ +struct mpg123_handle_struct; + +/** Opaque structure for the libmpg123 decoder handle. + * Most functions take a pointer to a mpg123_handle as first argument and operate on its data in an object-oriented manner. + */ +typedef struct mpg123_handle_struct mpg123_handle; + +/** Function to initialise the mpg123 library. + * This function is not thread-safe. Call it exactly once per process, before any other (possibly threaded) work with the library. + * + * \return MPG123_OK if successful, otherwise an error number. + */ +MPG123_EXPORT int mpg123_init(void); + +/** Function to close down the mpg123 library. + * This function is not thread-safe. Call it exactly once per process, before any other (possibly threaded) work with the library. */ +MPG123_EXPORT void mpg123_exit(void); + +/** Create a handle with optional choice of decoder (named by a string, see mpg123_decoders() or mpg123_supported_decoders()). + * and optional retrieval of an error code to feed to mpg123_plain_strerror(). + * Optional means: Any of or both the parameters may be NULL. + * + * \return Non-NULL pointer when successful. + */ +MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error); + +/** Delete handle, mh is either a valid mpg123 handle or NULL. */ +MPG123_EXPORT void mpg123_delete(mpg123_handle *mh); + +/** Enumeration of the parameters types that it is possible to set/get. */ +enum mpg123_parms +{ + MPG123_VERBOSE = 0, /**< set verbosity value for enabling messages to stderr, >= 0 makes sense (integer) */ + MPG123_FLAGS, /**< set all flags, p.ex val = MPG123_GAPLESS|MPG123_MONO_MIX (integer) */ + MPG123_ADD_FLAGS, /**< add some flags (integer) */ + MPG123_FORCE_RATE, /**< when value > 0, force output rate to that value (integer) */ + MPG123_DOWN_SAMPLE, /**< 0=native rate, 1=half rate, 2=quarter rate (integer) */ + 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_DECODE_FRAMES, /**< decode only this number of frames (integer) */ + MPG123_ICY_INTERVAL, /**< stream contains ICY metadata with this interval (integer) */ + MPG123_OUTSCALE, /**< the scale for output samples (amplitude - integer or float according to mpg123 output format, normally integer) */ + MPG123_TIMEOUT, /**< timeout for reading from a stream (not supported on win32, integer) */ + MPG123_REMOVE_FLAGS, /**< remove some flags (inverse of MPG123_ADD_FLAGS, integer) */ + MPG123_RESYNC_LIMIT, /**< Try resync on frame parsing for that many bytes or until end of stream (<0 ... integer). This can enlarge the limit for skipping junk on beginning, too (but not reduce it). */ + MPG123_INDEX_SIZE /**< Set the frame index size (if supported). Values <0 mean that the index is allowed to grow dynamically in these steps (in positive direction, of course) -- Use this when you really want a full index with every individual frame. */ + ,MPG123_PREFRAMES /**< Decode/ignore that many frames in advance for layer 3. This is needed to fill bit reservoir after seeking, for example (but also at least one frame in advance is needed to have all "normal" data for layer 3). Give a positive integer value, please.*/ + ,MPG123_FEEDPOOL /**< For feeder mode, keep that many buffers in a pool to avoid frequent malloc/free. The pool is allocated on mpg123_open_feed(). If you change this parameter afterwards, you can trigger growth and shrinkage during decoding. The default value could change any time. If you care about this, then set it. (integer) */ + ,MPG123_FEEDBUFFER /**< Minimal size of one internal feeder buffer, again, the default value is subject to change. (integer) */ +}; + +/** Flag bits for MPG123_FLAGS, use the usual binary or to combine. */ +enum mpg123_param_flags +{ + MPG123_FORCE_MONO = 0x7 /**< 0111 Force some mono mode: This is a test bitmask for seeing if any mono forcing is active. */ + ,MPG123_MONO_LEFT = 0x1 /**< 0001 Force playback of left channel only. */ + ,MPG123_MONO_RIGHT = 0x2 /**< 0010 Force playback of right channel only. */ + ,MPG123_MONO_MIX = 0x4 /**< 0100 Force playback of mixed mono. */ + ,MPG123_FORCE_STEREO = 0x8 /**< 1000 Force stereo output. */ + ,MPG123_FORCE_8BIT = 0x10 /**< 00010000 Force 8bit formats. */ + ,MPG123_QUIET = 0x20 /**< 00100000 Suppress any printouts (overrules verbose). */ + ,MPG123_GAPLESS = 0x40 /**< 01000000 Enable gapless decoding (default on if libmpg123 has support). */ + ,MPG123_NO_RESYNC = 0x80 /**< 10000000 Disable resync stream after error. */ + ,MPG123_SEEKBUFFER = 0x100 /**< 000100000000 Enable small buffer on non-seekable streams to allow some peek-ahead (for better MPEG sync). */ + ,MPG123_FUZZY = 0x200 /**< 001000000000 Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC) */ + ,MPG123_FORCE_FLOAT = 0x400 /**< 010000000000 Force floating point output (32 or 64 bits depends on mpg123 internal precision). */ + ,MPG123_PLAIN_ID3TEXT = 0x800 /**< 100000000000 Do not translate ID3 text data to UTF-8. ID3 strings will contain the raw text data, with the first byte containing the ID3 encoding code. */ + ,MPG123_IGNORE_STREAMLENGTH = 0x1000 /**< 1000000000000 Ignore any stream length information contained in the stream, which can be contained in a 'TLEN' frame of an ID3v2 tag or a Xing tag */ + ,MPG123_SKIP_ID3V2 = 0x2000 /**< 10 0000 0000 0000 Do not parse ID3v2 tags, just skip them. */ + ,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). */ +}; + +/** choices for MPG123_RVA */ +enum mpg123_param_rva +{ + MPG123_RVA_OFF = 0 /**< RVA disabled (default). */ + ,MPG123_RVA_MIX = 1 /**< Use mix/track/radio gain. */ + ,MPG123_RVA_ALBUM = 2 /**< Use album/audiophile gain */ + ,MPG123_RVA_MAX = MPG123_RVA_ALBUM /**< The maximum RVA code, may increase in future. */ +}; + +/* TODO: Assess the possibilities and troubles of changing parameters during playback. */ + +/** Set a specific parameter, for a specific mpg123_handle, using a parameter + * type key chosen from the mpg123_parms enumeration, to the specified value. + * \return MPG123_OK on success + */ +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. + * See the mpg123_parms enumeration for a list of available parameters. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *val, double *fval); + +/** Feature set available for query with mpg123_feature. */ +enum mpg123_feature_set +{ + MPG123_FEATURE_ABI_UTF8OPEN = 0 /**< mpg123 expects path names to be given in UTF-8 encoding instead of plain native. */ + ,MPG123_FEATURE_OUTPUT_8BIT /**< 8bit output */ + ,MPG123_FEATURE_OUTPUT_16BIT /**< 16bit output */ + ,MPG123_FEATURE_OUTPUT_32BIT /**< 32bit output */ + ,MPG123_FEATURE_INDEX /**< support for building a frame index for accurate seeking */ + ,MPG123_FEATURE_PARSE_ID3V2 /**< id3v2 parsing */ + ,MPG123_FEATURE_DECODE_LAYER1 /**< mpeg layer-1 decoder enabled */ + ,MPG123_FEATURE_DECODE_LAYER2 /**< mpeg layer-2 decoder enabled */ + ,MPG123_FEATURE_DECODE_LAYER3 /**< mpeg layer-3 decoder enabled */ + ,MPG123_FEATURE_DECODE_ACCURATE /**< accurate decoder rounding */ + ,MPG123_FEATURE_DECODE_DOWNSAMPLE /**< downsample (sample omit) */ + ,MPG123_FEATURE_DECODE_NTOM /**< flexible rate decoding */ + ,MPG123_FEATURE_PARSE_ICY /**< ICY support */ + ,MPG123_FEATURE_TIMEOUT_READ /**< Reader with timeout (network). */ +}; + +/** Query libmpg123 feature, 1 for success, 0 for unimplemented functions. */ +MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key); + +/* @} */ + + +/** \defgroup mpg123_error mpg123 error handling + * + * Functions to get text version of the error numbers and an enumeration + * of the error codes returned by libmpg123. + * + * Most functions operating on a mpg123_handle simply return MPG123_OK (0) + * on success and MPG123_ERR (-1) on failure, setting the internal error + * variable of the handle to the specific error code. If there was not a valid + * (non-NULL) handle provided to a function operating on one, MPG123_BAD_HANDLE + * may be returned if this can not be confused with a valid positive return + * value. + * Meaning: A function expected to return positive integers on success will + * always indicate error or a special condition by returning a negative one. + * + * Decoding/seek functions may also return message codes MPG123_DONE, + * MPG123_NEW_FORMAT and MPG123_NEED_MORE (all negative, see below on how to + * react). Note that calls to those can be nested, so generally watch out + * for these codes after initial handle setup. + * Especially any function that needs information about the current stream + * to work will try to at least parse the beginning if that did not happen + * yet. + * + * On a function that is supposed to return MPG123_OK on success and + * MPG123_ERR on failure, make sure you check for != MPG123_OK, not + * == MPG123_ERR, as the error code could get more specific in future, + * or there is just a special message from a decoding routine as indicated + * above. + * + * @{ + */ + +/** Enumeration of the message and error codes and returned by libmpg123 functions. */ +enum mpg123_errors +{ + MPG123_DONE=-12, /**< Message: Track ended. Stop decoding. */ + MPG123_NEW_FORMAT=-11, /**< Message: Output format will be different on next call. Note that some libmpg123 versions between 1.4.3 and 1.8.0 insist on you calling mpg123_getformat() after getting this message code. Newer verisons behave like advertised: You have the chance to call mpg123_getformat(), but you can also just continue decoding and get your data. */ + MPG123_NEED_MORE=-10, /**< Message: For feed reader: "Feed me more!" (call mpg123_feed() or mpg123_decode() with some new input data). */ + MPG123_ERR=-1, /**< Generic Error */ + MPG123_OK=0, /**< Success */ + MPG123_BAD_OUTFORMAT, /**< Unable to set up output format! */ + MPG123_BAD_CHANNEL, /**< Invalid channel number specified. */ + MPG123_BAD_RATE, /**< Invalid sample rate specified. */ + MPG123_ERR_16TO8TABLE, /**< Unable to allocate memory for 16 to 8 converter table! */ + MPG123_BAD_PARAM, /**< Bad parameter id! */ + MPG123_BAD_BUFFER, /**< Bad buffer given -- invalid pointer or too small size. */ + MPG123_OUT_OF_MEM, /**< Out of memory -- some malloc() failed. */ + MPG123_NOT_INITIALIZED, /**< You didn't initialize the library! */ + MPG123_BAD_DECODER, /**< Invalid decoder choice. */ + MPG123_BAD_HANDLE, /**< Invalid mpg123 handle. */ + MPG123_NO_BUFFERS, /**< Unable to initialize frame buffers (out of memory?). */ + MPG123_BAD_RVA, /**< Invalid RVA mode. */ + MPG123_NO_GAPLESS, /**< This build doesn't support gapless decoding. */ + MPG123_NO_SPACE, /**< Not enough buffer space. */ + MPG123_BAD_TYPES, /**< Incompatible numeric data types. */ + MPG123_BAD_BAND, /**< Bad equalizer band. */ + MPG123_ERR_NULL, /**< Null pointer given where valid storage address needed. */ + MPG123_ERR_READER, /**< Error reading the stream. */ + MPG123_NO_SEEK_FROM_END,/**< Cannot seek from end (end is not known). */ + MPG123_BAD_WHENCE, /**< Invalid 'whence' for seek function.*/ + MPG123_NO_TIMEOUT, /**< Build does not support stream timeouts. */ + MPG123_BAD_FILE, /**< File access error. */ + MPG123_NO_SEEK, /**< Seek not supported by stream. */ + MPG123_NO_READER, /**< No stream opened. */ + MPG123_BAD_PARS, /**< Bad parameter handle. */ + MPG123_BAD_INDEX_PAR, /**< Bad parameters to mpg123_index() and mpg123_set_index() */ + MPG123_OUT_OF_SYNC, /**< Lost track in bytestream and did not try to resync. */ + MPG123_RESYNC_FAIL, /**< Resync failed to find valid MPEG data. */ + MPG123_NO_8BIT, /**< No 8bit encoding possible. */ + MPG123_BAD_ALIGN, /**< Stack aligmnent error */ + MPG123_NULL_BUFFER, /**< NULL input buffer with non-zero size... */ + MPG123_NO_RELSEEK, /**< Relative seek not possible (screwed up file offset) */ + MPG123_NULL_POINTER, /**< You gave a null pointer somewhere where you shouldn't have. */ + MPG123_BAD_KEY, /**< Bad key value given. */ + MPG123_NO_INDEX, /**< No frame index in this build. */ + MPG123_INDEX_FAIL, /**< Something with frame index went wrong. */ + MPG123_BAD_DECODER_SETUP, /**< Something prevents a proper decoder setup */ + MPG123_MISSING_FEATURE /**< This feature has not been built into libmpg123. */ + ,MPG123_BAD_VALUE /**< A bad value has been given, somewhere. */ + ,MPG123_LSEEK_FAILED /**< Low-level seek failed. */ + ,MPG123_BAD_CUSTOM_IO /**< Custom I/O not prepared. */ + ,MPG123_LFS_OVERFLOW /**< Offset value overflow during translation of large file API calls -- your client program cannot handle that large file. */ + ,MPG123_INT_OVERFLOW /**< Some integer overflow. */ +}; + +/** Return a string describing that error errcode means. */ +MPG123_EXPORT const char* mpg123_plain_strerror(int errcode); + +/** Give string describing what error has occured in the context of handle mh. + * When a function operating on an mpg123 handle returns MPG123_ERR, you should check for the actual reason via + * char *errmsg = mpg123_strerror(mh) + * This function will catch mh == NULL and return the message for MPG123_BAD_HANDLE. */ +MPG123_EXPORT const char* mpg123_strerror(mpg123_handle *mh); + +/** Return the plain errcode intead of a string. + * \return error code recorded in handle or MPG123_BAD_HANDLE + */ +MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh); + +/*@}*/ + + +/** \defgroup mpg123_decoder mpg123 decoder selection + * + * Functions to list and select the available decoders. + * Perhaps the most prominent feature of mpg123: You have several (optimized) decoders to choose from (on x86 and PPC (MacOS) systems, that is). + * + * @{ + */ + +/** Return a NULL-terminated array of generally available decoder names (plain 8bit ASCII). */ +MPG123_EXPORT const char **mpg123_decoders(void); + +/** Return a NULL-terminated array of the decoders supported by the CPU (plain 8bit ASCII). */ +MPG123_EXPORT const char **mpg123_supported_decoders(void); + +/** Set the chosen decoder to 'decoder_name' + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name); + +/** Get the currently active decoder engine 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 available as decoder choice from the outside. + \return The decoder name or NULL on error. */ +MPG123_EXPORT const char* mpg123_current_decoder(mpg123_handle *mh); + +/*@}*/ + + +/** \defgroup mpg123_output mpg123 output audio format + * + * Functions to get and select the format of the decoded audio. + * + * 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). + * + * 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. + * + * People often start out thinking that mpg123_format() should change the actual decoding format on the fly. That is wrong. It only has effect on the next natural change of output format, when libmpg123 will consult its format table again. To make life easier, you might want to call mpg123_format_none() before any thing else and then just allow one desired encoding and a limited set of sample rates / channel choices that you actually intend to deal with. You can force libmpg123 to decode everything to 44100 KHz, stereo, 16 bit integer ... it will duplicate mono channels and even do resampling if needed (unless that feature is disabled in the build, same with some encodings). But I have to stress that the resampling of libmpg123 is very crude and doesn't even contain any kind of "proper" interpolation. + * + * In any case, watch out for MPG123_NEW_FORMAT as return message from decoding routines and call mpg123_getformat() to get the currently active output format. + * + * @{ + */ + +/** An enum over all sample types possibly known to mpg123. + * The values are designed as bit flags to allow bitmasking for encoding families. + * + * Note that (your build of) libmpg123 does not necessarily support all these. + * Usually, you can expect the 8bit encodings and signed 16 bit. + * Also 32bit float will be usual beginning with mpg123-1.7.0 . + * What you should bear in mind is that (SSE, etc) optimized routines may be absent + * for some formats. We do have SSE for 16, 32 bit and float, though. + * 24 bit integer is done via postprocessing of 32 bit output -- just cutting + * the last byte, no rounding, even. If you want better, do it yourself. + * + * All formats are in native byte order. If you need different endinaness, you + * can simply postprocess the output buffers (libmpg123 wouldn't do anything else). + * mpg123_encsize() can be helpful there. + */ +enum mpg123_enc_enum +{ + MPG123_ENC_8 = 0x00f /**< 0000 0000 1111 Some 8 bit integer encoding. */ + ,MPG123_ENC_16 = 0x040 /**< 0000 0100 0000 Some 16 bit integer encoding. */ + ,MPG123_ENC_24 = 0x4000 /**< 0100 0000 0000 0000 Some 24 bit integer encoding. */ + ,MPG123_ENC_32 = 0x100 /**< 0001 0000 0000 Some 32 bit integer encoding. */ + ,MPG123_ENC_SIGNED = 0x080 /**< 0000 1000 0000 Some signed integer encoding. */ + ,MPG123_ENC_FLOAT = 0xe00 /**< 1110 0000 0000 Some float encoding. */ + ,MPG123_ENC_SIGNED_16 = (MPG123_ENC_16|MPG123_ENC_SIGNED|0x10) /**< 1101 0000 signed 16 bit */ + ,MPG123_ENC_UNSIGNED_16 = (MPG123_ENC_16|0x20) /**< 0110 0000 unsigned 16 bit */ + ,MPG123_ENC_UNSIGNED_8 = 0x01 /**< 0000 0001 unsigned 8 bit */ + ,MPG123_ENC_SIGNED_8 = (MPG123_ENC_SIGNED|0x02) /**< 1000 0010 signed 8 bit */ + ,MPG123_ENC_ULAW_8 = 0x04 /**< 0000 0100 ulaw 8 bit */ + ,MPG123_ENC_ALAW_8 = 0x08 /**< 0000 1000 alaw 8 bit */ + ,MPG123_ENC_SIGNED_32 = MPG123_ENC_32|MPG123_ENC_SIGNED|0x1000 /**< 0001 0001 1000 0000 signed 32 bit */ + ,MPG123_ENC_UNSIGNED_32 = MPG123_ENC_32|0x2000 /**< 0010 0001 0000 0000 unsigned 32 bit */ + ,MPG123_ENC_SIGNED_24 = MPG123_ENC_24|MPG123_ENC_SIGNED|0x1000 /**< 0101 0000 1000 0000 signed 24 bit */ + ,MPG123_ENC_UNSIGNED_24 = MPG123_ENC_24|0x2000 /**< 0110 0000 0000 0000 unsigned 24 bit */ + ,MPG123_ENC_FLOAT_32 = 0x200 /**< 0010 0000 0000 32bit float */ + ,MPG123_ENC_FLOAT_64 = 0x400 /**< 0100 0000 0000 64bit float */ + ,MPG123_ENC_ANY = ( MPG123_ENC_SIGNED_16 | MPG123_ENC_UNSIGNED_16 | MPG123_ENC_UNSIGNED_8 + | MPG123_ENC_SIGNED_8 | MPG123_ENC_ULAW_8 | MPG123_ENC_ALAW_8 + | MPG123_ENC_SIGNED_32 | MPG123_ENC_UNSIGNED_32 + | MPG123_ENC_SIGNED_24 | MPG123_ENC_UNSIGNED_24 + | MPG123_ENC_FLOAT_32 | MPG123_ENC_FLOAT_64 ) /**< Any encoding on the list. */ +}; + +/** They can be combined into one number (3) to indicate mono and stereo... */ +enum mpg123_channelcount +{ + MPG123_MONO = 1 + ,MPG123_STEREO = 2 +}; + +/** An array of supported standard sample rates + * These are possible native sample rates of MPEG audio files. + * You can still force mpg123 to resample to a different one, but by default you will only get audio in one of these samplings. + * \param list Store a pointer to the sample rates array there. + * \param number Store the number of sample rates there. */ +MPG123_EXPORT void mpg123_rates(const long **list, size_t *number); + +/** An array of supported audio encodings. + * An audio encoding is one of the fully qualified members of mpg123_enc_enum (MPG123_ENC_SIGNED_16, not MPG123_SIGNED). + * \param list Store a pointer to the encodings array there. + * \param number Store the number of encodings there. */ +MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number); + +/** Return the size (in bytes) of one mono sample of the named encoding. + * \param encoding The encoding value to analyze. + * \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, + * use before specifying supported formats with mpg123_format + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh); + +/** Configure mpg123 handle to accept all formats + * (also any custom rate you may set) -- this is default. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh); + +/** Set the audio format support of a mpg123_handle in detail: + * \param mh audio decoder handle + * \param rate The sample rate value (in Hertz). + * \param channels A combination of MPG123_STEREO and MPG123_MONO. + * \param encodings A combination of accepted encodings for rate and channels, p.ex MPG123_ENC_SIGNED16 | MPG123_ENC_ULAW_8 (or 0 for no support). Please note that some encodings may not be supported in the library build and thus will be ignored here. + * \return MPG123_OK on success, MPG123_ERR if there was an error. */ +MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings); + +/** Check to see if a specific format at a specific rate is supported + * by mpg123_handle. + * \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); + +/** Get the current output format written to the addresses given. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding); + +/*@}*/ + + +/** \defgroup mpg123_input mpg123 file input and decoding + * + * Functions for input bitstream and decoding operations. + * Decoding/seek functions may also return message codes MPG123_DONE, MPG123_NEW_FORMAT and MPG123_NEED_MORE (please read up on these on how to react!). + * @{ + */ + +/* reading samples / triggering decoding, possible return values: */ +/** Enumeration of the error codes returned by libmpg123 functions. */ + +/** Open and prepare to decode the specified file by filesystem path. + * This does not open HTTP urls; libmpg123 contains no networking code. + * If you want to decode internet streams, use mpg123_open_fd() or mpg123_open_feed(). + * \param path filesystem path + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path); + +/** Use an already opened file descriptor as the bitstream input + * mpg123_close() will _not_ close the file descriptor. + */ +MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd); + +/** Use an opaque handle as bitstream input. This works only with the + * replaced I/O from mpg123_replace_reader_handle()! + * mpg123_close() will call the cleanup callback for your handle (if you gave one). + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle); + +/** Open a new bitstream and prepare for direct feeding + * This works together with mpg123_decode(); you are responsible for reading and feeding the input bitstream. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh); + +/** Closes the source, if libmpg123 opened it. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_close(mpg123_handle *mh); + +/** Read from stream and decode up to outmemsize bytes. + * \param outmemory address of output buffer to write to + * \param outmemsize maximum number of bytes to write + * \param done address to store the number of actually decoded bytes to + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_read(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done); + +/** Feed data for a stream that has been opened with mpg123_open_feed(). + * It's give and take: You provide the bytestream, mpg123 gives you the decoded samples. + * \param in input buffer + * \param size number of input bytes + * \return MPG123_OK or error/message code. + */ +MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size); + +/** 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) + * 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. + * \param inmemory input buffer + * \param inmemsize number of input bytes + * \param outmemory output buffer + * \param outmemsize maximum number of output bytes + * \param done address to store the number of actually decoded bytes to + * \return error/message code (watch out especially for MPG123_NEED_MORE) + */ +MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, unsigned char *outmemory, size_t outmemsize, size_t *done); + +/** Decode next MPEG frame to internal buffer + * or read a frame and return after setting a new format. + * \param num current frame offset gets stored there + * \param audio This pointer is set to the internal buffer to read the decoded audio from. + * \param bytes number of output bytes ready in the buffer + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes); + +/** Decode current MPEG frame to internal buffer. + * Warning: This is experimental API that might change in future releases! + * Please watch mpg123 development closely when using it. + * \param num last frame offset gets stored there + * \param audio this pointer is set to the internal buffer to read the decoded audio from. + * \param bytes number of output bytes ready in the buffer + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_framebyframe_decode(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes); + +/** Find, read and parse the next mp3 frame + * Warning: This is experimental API that might change in future releases! + * Please watch mpg123 development closely when using it. + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh); + +/** Get access to the raw input data for the last parsed frame. + * This gives you a direct look (and write access) to the frame body data. + * Together with the raw header, you can reconstruct the whole raw MPEG stream without junk and meta data, or play games by actually modifying the frame body data before decoding this frame (mpg123_framebyframe_decode()). + * A more sane use would be to use this for CRC checking (see mpg123_info() and MPG123_CRC), the first two bytes of the body make up the CRC16 checksum, if present. + * You can provide NULL for a parameter pointer when you are not interested in the value. + * + * \param header the 4-byte MPEG header + * \param bodydata pointer to the frame body stored in the handle (without the header) + * \param bodybytes size of frame body in bytes (without the header) + * \return MPG123_OK if there was a yet un-decoded frame to get the + * data from, MPG123_BAD_HANDLE or MPG123_ERR otherwise (without further + * explanation, the error state of the mpg123_handle is not modified by + * this function). + */ +MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes); + +/** Get the input position (byte offset in stream) of the last parsed frame. + * This can be used for external seek index building, for example. + * It just returns the internally stored offset, regardless of validity -- you ensure that a valid frame has been parsed before! */ +MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh); + +/*@}*/ + + +/** \defgroup mpg123_seek mpg123 position and seeking + * + * Functions querying and manipulating position in the decoded audio bitstream. + * 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: + * - 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 + * + * Note that sample-accurate seek only works when gapless support has been enabled at compile time; seek is frame-accurate otherwise. + * Also, really sample-accurate seeking (meaning that you get the identical sample value after seeking compared to plain decoding up to the position) is only guaranteed when you do not mess with the position code by using MPG123_UPSPEED, MPG123_DOWNSPEED or MPG123_START_FRAME. The first two mainly should cause trouble with NtoM resampling, but in any case with these options in effect, you have to keep in mind that the sample offset is not the same as counting the samples you get from decoding since mpg123 counts the skipped samples, too (or the samples played twice only once)! + * Short: When you care about the sample position, don't mess with those parameters;-) + * Also, seeking is not guaranteed to work for all streams (underlying stream may not support it). + * And yet another caveat: If the stream is concatenated out of differing pieces (Frankenstein stream), seeking may suffer, too. + * + * @{ + */ + +/** Returns the current position in samples. + * On the next successful read, you'd get that sample. + * \return sample offset or MPG123_ERR (null handle) + */ +MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh); + +/** Returns the frame number that the next read will give you data from. + * \return frame offset or MPG123_ERR (null handle) + */ +MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh); + +/** Returns the current byte offset in the input stream. + * \return byte offset or MPG123_ERR (null handle) + */ +MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh); + +/** Seek to a desired sample offset. + * Set whence to SEEK_SET, SEEK_CUR or SEEK_END. + * \return The resulting offset >= 0 or error/message code */ +MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence); + +/** 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 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, off_t sampleoff, int whence, off_t *input_offset); + +/** Seek to a desired MPEG frame index. + * Set whence to SEEK_SET, SEEK_CUR or SEEK_END. + * \return The resulting offset >= 0 or error/message code */ +MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence); + +/** Return a MPEG frame offset corresponding to an offset in seconds. + * This assumes that the samples per frame do not change in the file/stream, which is a good assumption for any sane file/stream only. + * \return frame offset >= 0 or error/message code */ +MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec); + +/** Give access to the frame index table that is managed for seeking. + * You are asked not to modify the values... Use mpg123_set_index to set the + * seek index + * \param offsets pointer to the index array + * \param step one index byte offset advances this many MPEG frames + * \param fill number of recorded index offsets; size of the array + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill); + +/** Set the frame index table + * Setting offsets to NULL and fill > 0 will allocate fill entries. Setting offsets + * to NULL and fill to 0 will clear the index and free the allocated memory used by the index. + * \param offsets pointer to the index array + * \param step one index byte offset advances this many MPEG frames + * \param fill number of recorded index offsets; size of the array + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill); + +/** Get information about current and remaining frames/seconds. + * WARNING: This function is there because of special usage by standalone mpg123 and may be removed in the final version of libmpg123! + * You provide an offset (in frames) from now and a number of output bytes + * served by libmpg123 but not yet played. You get the projected current frame + * and seconds, as well as the remaining frames/seconds. This does _not_ care + * about skipped samples due to gapless playback. */ +MPG123_EXPORT int mpg123_position( mpg123_handle *mh, off_t frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left); + +/*@}*/ + + +/** \defgroup mpg123_voleq mpg123 volume and equalizer + * + * @{ + */ + +enum mpg123_channels +{ + MPG123_LEFT=0x1 /**< The Left Channel. */ + ,MPG123_RIGHT=0x2 /**< The Right Channel. */ + ,MPG123_LR=0x3 /**< Both left and right channel; same as MPG123_LEFT|MPG123_RIGHT */ +}; + +/** Set the 32 Band Audio Equalizer settings. + * \param channel Can be MPG123_LEFT, MPG123_RIGHT or MPG123_LEFT|MPG123_RIGHT for both. + * \param band The equaliser band to change (from 0 to 31) + * \param val The (linear) adjustment factor. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val); + +/** Get the 32 Band Audio Equalizer settings. + * \param channel Can be MPG123_LEFT, MPG123_RIGHT or MPG123_LEFT|MPG123_RIGHT for (arithmetic mean of) both. + * \param band The equaliser band to change (from 0 to 31) + * \return The (linear) adjustment factor (zero for pad parameters) */ +MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band); + +/** Reset the 32 Band Audio Equalizer settings to flat + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh); + +/** Set the absolute output volume including the RVA setting, + * vol<0 just applies (a possibly changed) RVA setting. */ +MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol); + +/** Adjust output volume including the RVA setting by chosen amount */ +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) + * and the RVA value is in decibels. */ +MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db); + +/* TODO: Set some preamp in addition / to replace internal RVA handling? */ + +/*@}*/ + + +/** \defgroup mpg123_status mpg123 status and information + * + * @{ + */ + +/** Enumeration of the mode types of Variable Bitrate */ +enum mpg123_vbr { + MPG123_CBR=0, /**< Constant Bitrate Mode (default) */ + MPG123_VBR, /**< Variable Bitrate Mode */ + MPG123_ABR /**< Average Bitrate Mode */ +}; + +/** Enumeration of the MPEG Versions */ +enum mpg123_version { + MPG123_1_0=0, /**< MPEG Version 1.0 */ + MPG123_2_0, /**< MPEG Version 2.0 */ + MPG123_2_5 /**< MPEG Version 2.5 */ +}; + + +/** Enumeration of the MPEG Audio mode. + * Only the mono mode has 1 channel, the others have 2 channels. */ +enum mpg123_mode { + MPG123_M_STEREO=0, /**< Standard Stereo. */ + MPG123_M_JOINT, /**< Joint Stereo. */ + MPG123_M_DUAL, /**< Dual Channel. */ + MPG123_M_MONO /**< Single Channel. */ +}; + + +/** Enumeration of the MPEG Audio flag bits */ +enum mpg123_flags { + MPG123_CRC=0x1, /**< The bitstream is error protected using 16-bit CRC. */ + MPG123_COPYRIGHT=0x2, /**< The bitstream is copyrighted. */ + MPG123_PRIVATE=0x4, /**< The private bit has been set. */ + MPG123_ORIGINAL=0x8 /**< The bitstream is an original, not a copy. */ +}; + +/** Data structure for storing information about a frame of MPEG Audio */ +struct mpg123_frameinfo +{ + enum mpg123_version version; /**< The MPEG version (1.0/2.0/2.5). */ + int layer; /**< The MPEG Audio Layer (MP1/MP2/MP3). */ + long rate; /**< The sampling rate in Hz. */ + enum mpg123_mode mode; /**< The audio mode (Mono, Stereo, Joint-stero, Dual Channel). */ + int mode_ext; /**< The mode extension bit flag. */ + int framesize; /**< The size of the frame (in bytes, including header). */ + enum mpg123_flags flags; /**< MPEG Audio flag bits. Just now I realize that it should be declared as int, not enum. It's a bitwise combination of the enum values. */ + int emphasis; /**< The emphasis type. */ + int bitrate; /**< Bitrate of the frame (kbps). */ + int abr_rate; /**< The target average bitrate. */ + enum mpg123_vbr vbr; /**< The VBR mode. */ +}; + +/** Get frame information about the MPEG audio bitstream and store it in a mpg123_frameinfo structure. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi); + +/** Get the safe output buffer size for all cases (when you want to replace the internal buffer) */ +MPG123_EXPORT size_t mpg123_safe_buffer(void); + +/** Make a full parsing scan of each frame in the file. ID3 tags are found. An accurate length + * value is stored. Seek index will be filled. A seek back to current position + * is performed. At all, this function refuses work when stream is + * not seekable. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_scan(mpg123_handle *mh); + +/** Return, if possible, the full (expected) length of current track in samples. + * \return length >= 0 or MPG123_ERR if there is no length guess possible. */ +MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh); + +/** Override the value for file size in bytes. + * Useful for getting sensible track length values in feed mode or for HTTP streams. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size); + +/** Returns the time (seconds) per frame; <0 is error. */ +MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh); + +/** Returns the samples per frame for the most recently parsed frame; <0 is error. */ +MPG123_EXPORT int mpg123_spf(mpg123_handle *mh); + +/** Get and reset the clip count. */ +MPG123_EXPORT long mpg123_clip(mpg123_handle *mh); + + +/** The key values for state information from mpg123_getstate(). */ +enum mpg123_state +{ + MPG123_ACCURATE = 1 /**< Query if positons are currently accurate (integer value, 0 if false, 1 if true). */ + ,MPG123_BUFFERFILL /**< Get fill of internal (feed) input buffer as integer byte count returned as long and as double. An error is returned on integer overflow while converting to (signed) long, but the returned floating point value shold still be fine. */ + ,MPG123_FRANKENSTEIN /**< Stream consists of carelessly stitched together files. Seeking may yield unexpected results (also with MPG123_ACCURATE, it may be confused). */ + ,MPG123_FRESH_DECODER /**< Decoder structure has been updated, possibly indicating changed stream (integer value, 0 if false, 1 if true). Flag is cleared after retrieval. */ +}; + +/** Get various current decoder/stream state information. + * \param key the key to identify the information to give. + * \param val the address to return (long) integer values to + * \param fval the address to return floating point values to + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval); + +/*@}*/ + + +/** \defgroup mpg123_metadata mpg123 metadata handling + * + * Functions to retrieve the metadata from MPEG Audio files and streams. + * Also includes string handling functions. + * + * @{ + */ + +/** 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 +{ + char* p; /**< pointer to the string data */ + size_t size; /**< raw number of bytes allocated */ + size_t fill; /**< number of used bytes (including closing zero byte) */ +} mpg123_string; + +/** Create and allocate memory for a new mpg123_string */ +MPG123_EXPORT void mpg123_init_string(mpg123_string* sb); + +/** Free-up mempory for an existing mpg123_string */ +MPG123_EXPORT void mpg123_free_string(mpg123_string* sb); + +/** Change the size of a mpg123_string + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_resize_string(mpg123_string* sb, size_t news); + +/** Increase size of a mpg123_string if necessary (it may stay larger). + * Note that the functions for adding and setting in current libmpg123 use this instead of mpg123_resize_string(). + * That way, you can preallocate memory and safely work afterwards with pieces. + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_grow_string(mpg123_string* sb, size_t news); + +/** Copy the contents of one mpg123_string string to another. + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_copy_string(mpg123_string* from, mpg123_string* to); + +/** Append a C-String to an mpg123_string + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff); + +/** Append a C-substring to an mpg123 string + * \return 0 on error, 1 on success + * \param from offset to copy from + * \param count number of characters to copy (a null-byte is always appended) */ +MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count); + +/** Set the conents of a mpg123_string to a C-string + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff); + +/** Set the contents of a mpg123_string to a C-substring + * \return 0 on error, 1 on success + * \param from offset to copy from + * \param count number of characters to copy (a null-byte is always appended) */ +MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count); + +/** Count characters in a mpg123 string (non-null bytes or UTF-8 characters). + * \return character count + * \param sb the string + * \param utf8 a flag to tell if the string is in utf8 encoding + * Even with the fill property, the character count is not obvious as there could be multiple trailing null bytes. +*/ +MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8); + +/** Remove trailing \r and \n, if present. + * \return 0 on error, 1 on success + * \param sb the string + */ +MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb); + +/** The mpg123 text encodings. This contains encodings we encounter in ID3 tags or ICY meta info. */ +enum mpg123_text_encoding +{ + mpg123_text_unknown = 0 /**< Unkown encoding... mpg123_id3_encoding can return that on invalid codes. */ + ,mpg123_text_utf8 = 1 /**< UTF-8 */ + ,mpg123_text_latin1 = 2 /**< ISO-8859-1. Note that sometimes latin1 in ID3 is abused for totally different encodings. */ + ,mpg123_text_icy = 3 /**< ICY metadata encoding, usually CP-1252 but we take it as UTF-8 if it qualifies as such. */ + ,mpg123_text_cp1252 = 4 /**< Really CP-1252 without any guessing. */ + ,mpg123_text_utf16 = 5 /**< Some UTF-16 encoding. The last of a set of leading BOMs (byte order mark) rules. + * When there is no BOM, big endian ordering is used. Note that UCS-2 qualifies as UTF-8 when + * you don't mess with the reserved code points. If you want to decode little endian data + * without BOM you need to prepend 0xff 0xfe yourself. */ + ,mpg123_text_utf16bom = 6 /**< Just an alias for UTF-16, ID3v2 has this as distinct code. */ + ,mpg123_text_utf16be = 7 /**< Another alias for UTF16 from ID3v2. Note, that, because of the mess that is reality, + * BOMs are used if encountered. There really is not much distinction between the UTF16 types for mpg123 + * One exception: Since this is seen in ID3v2 tags, leading null bytes are skipped for all other UTF16 + * types (we expect a BOM before real data there), not so for utf16be!*/ + ,mpg123_text_max = 7 /**< Placeholder for the maximum encoding value. */ +}; + +/** The encoding byte values from ID3v2. */ +enum mpg123_id3_enc +{ + mpg123_id3_latin1 = 0 /**< Note: This sometimes can mean anything in practice... */ + ,mpg123_id3_utf16bom = 1 /**< UTF16, UCS-2 ... it's all the same for practical purposes. */ + ,mpg123_id3_utf16be = 2 /**< Big-endian UTF-16, BOM see note for mpg123_text_utf16be. */ + ,mpg123_id3_utf8 = 3 /**< Our lovely overly ASCII-compatible 8 byte encoding for the world. */ + ,mpg123_id3_enc_max = 3 /**< Placeholder to check valid range of encoding byte. */ +}; + +/** Convert ID3 encoding byte to mpg123 encoding index. */ +MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte); + +/** Store text data in string, after converting to UTF-8 from indicated encoding + * \return 0 on error, 1 on success (on error, mpg123_free_string is called on sb) + * \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_size number of bytes in the source buffer + * + * A prominent error can be that you provided an unknown encoding value, or this build of libmpg123 lacks support for certain encodings (ID3 or ICY stuff missing). + * Also, you might want to take a bit of care with preparing the data; for example, strip leading zeroes (I have seen that). + */ +MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size); + +/** Sub data structure for ID3v2, for storing various text fields (including comments). + * This is for ID3v2 COMM, TXXX and all the other text fields. + * Only COMM and TXXX have a description, only COMM and USLT have a language. + * You should consult the ID3v2 specification for the use of the various text fields ("frames" in ID3v2 documentation, I use "fields" here to separate from MPEG frames). */ +typedef struct +{ + char lang[3]; /**< Three-letter language code (not terminated). */ + char id[4]; /**< The ID3v2 text field id, like TALB, TPE2, ... (4 characters, no string termination). */ + mpg123_string description; /**< Empty for the generic comment... */ + mpg123_string text; /**< ... */ +} mpg123_text; + +/** The picture type values from ID3v2. */ +enum mpg123_id3_pic_type +{ + mpg123_id3_pic_other = 0 + ,mpg123_id3_pic_icon = 1 + ,mpg123_id3_pic_other_icon = 2 + ,mpg123_id3_pic_front_cover = 3 + ,mpg123_id3_pic_back_cover = 4 + ,mpg123_id3_pic_leaflet = 5 + ,mpg123_id3_pic_media = 6 + ,mpg123_id3_pic_lead = 7 + ,mpg123_id3_pic_artist = 8 + ,mpg123_id3_pic_conductor = 9 + ,mpg123_id3_pic_orchestra = 10 + ,mpg123_id3_pic_composer = 11 + ,mpg123_id3_pic_lyricist = 12 + ,mpg123_id3_pic_location = 13 + ,mpg123_id3_pic_recording = 14 + ,mpg123_id3_pic_performance = 15 + ,mpg123_id3_pic_video = 16 + ,mpg123_id3_pic_fish = 17 + ,mpg123_id3_pic_illustration = 18 + ,mpg123_id3_pic_artist_logo = 19 + ,mpg123_id3_pic_publisher_logo = 20 +}; + +/** Sub data structure for ID3v2, for storing picture data including comment. + * This is for the ID3v2 APIC field. You should consult the ID3v2 specification + * for the use of the APIC field ("frames" in ID3v2 documentation, I use "fields" + * here to separate from MPEG frames). */ +typedef struct +{ + char type; + mpg123_string description; + mpg123_string mime_type; + size_t size; + unsigned char* data; +} mpg123_picture; + +/** Data structure for storing IDV3v2 tags. + * This structure is not a direct binary mapping with the file contents. + * The ID3v2 text frames are allowed to contain multiple strings. + * So check for null bytes until you reach the mpg123_string fill. + * All text is encoded in UTF-8. */ +typedef struct +{ + unsigned char version; /**< 3 or 4 for ID3v2.3 or ID3v2.4. */ + mpg123_string *title; /**< Title string (pointer into text_list). */ + mpg123_string *artist; /**< Artist string (pointer into text_list). */ + mpg123_string *album; /**< Album string (pointer into text_list). */ + mpg123_string *year; /**< The year as a string (pointer into text_list). */ + mpg123_string *genre; /**< Genre String (pointer into text_list). The genre string(s) may very well need postprocessing, esp. for ID3v2.3. */ + mpg123_string *comment; /**< Pointer to last encountered comment text with empty description. */ + /* Encountered ID3v2 fields are appended to these lists. + There can be multiple occurences, the pointers above always point to the last encountered data. */ + mpg123_text *comment_list; /**< Array of comments. */ + size_t comments; /**< Number of comments. */ + mpg123_text *text; /**< Array of ID3v2 text fields (including USLT) */ + size_t texts; /**< Numer of text fields. */ + mpg123_text *extra; /**< The array of extra (TXXX) fields. */ + size_t extras; /**< Number of extra text (TXXX) fields. */ + mpg123_picture *picture; /**< Array of ID3v2 pictures fields (APIC). */ + size_t pictures; /**< Number of picture (APIC) fields. */ +} mpg123_id3v2; + +/** Data structure for ID3v1 tags (the last 128 bytes of a file). + * Don't take anything for granted (like string termination)! + * Also note the change ID3v1.1 did: comment[28] = 0; comment[29] = track_number + * It is your task to support ID3v1 only or ID3v1.1 ...*/ +typedef struct +{ + char tag[3]; /**< Always the string "TAG", the classic intro. */ + char title[30]; /**< Title string. */ + char artist[30]; /**< Artist string. */ + char album[30]; /**< Album string. */ + char year[4]; /**< Year string. */ + char comment[30]; /**< Comment string. */ + unsigned char genre; /**< Genre index. */ +} mpg123_id3v1; + +#define MPG123_ID3 0x3 /**< 0011 There is some ID3 info. Also matches 0010 or NEW_ID3. */ +#define MPG123_NEW_ID3 0x1 /**< 0001 There is ID3 info that changed since last call to mpg123_id3. */ +#define MPG123_ICY 0xc /**< 1100 There is some ICY info. Also matches 0100 or NEW_ICY.*/ +#define MPG123_NEW_ICY 0x4 /**< 0100 There is ICY info that changed since last call to mpg123_icy. */ + +/** Query if there is (new) meta info, be it ID3 or ICY (or something new in future). + The check function returns a combination of flags. */ +MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh); /* On error (no valid handle) just 0 is returned. */ + +/** Clean up meta data storage (ID3v2 and ICY), freeing memory. */ +MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh); + +/** Point v1 and v2 to existing data structures wich may change on any next read/decode function call. + * v1 and/or v2 can be set to NULL when there is no corresponding data. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2); + +/** Point icy_meta to existing data structure wich may change on any next read/decode function call. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta); /* same for ICY meta string */ + +/** Decode from windows-1252 (the encoding ICY metainfo used) to UTF-8. + * Note that this is very similar to mpg123_store_utf8(&sb, mpg123_text_icy, icy_text, strlen(icy_text+1)) . + * \param icy_text The input data in ICY encoding + * \return pointer to newly allocated buffer with UTF-8 data (You free() it!) */ +MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text); + + +/* @} */ + + +/** \defgroup mpg123_advpar mpg123 advanced parameter API + * + * Direct access to a parameter set without full handle around it. + * Possible uses: + * - 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. + * + * @{ + */ + +/** Opaque structure for the libmpg123 decoder parameters. */ +struct mpg123_pars_struct; + +/** Opaque structure for the libmpg123 decoder parameters. */ +typedef struct mpg123_pars_struct mpg123_pars; + +/** Create a handle with preset parameters. */ +MPG123_EXPORT mpg123_handle *mpg123_parnew(mpg123_pars *mp, const char* decoder, int *error); + +/** Allocate memory for and return a pointer to a new mpg123_pars */ +MPG123_EXPORT mpg123_pars *mpg123_new_pars(int *error); + +/** Delete and free up memory used by a mpg123_pars data structure */ +MPG123_EXPORT void mpg123_delete_pars(mpg123_pars* mp); + +/** Configure mpg123 parameters to accept no output format at all, + * use before specifying supported formats with mpg123_format + * \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. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp); + +/** Set the audio format support of a mpg123_pars in detail: + \param rate The sample rate value (in Hertz). + \param channels A combination of MPG123_STEREO and MPG123_MONO. + \param encodings A combination of accepted encodings for rate and channels, p.ex MPG123_ENC_SIGNED16|MPG123_ENC_ULAW_8 (or 0 for no support). + \return MPG123_OK on success +*/ +MPG123_EXPORT int mpg123_fmt(mpg123_pars *mp, long rate, int channels, int encodings); /* 0 is good, -1 is error */ + +/** Check to see if a specific format at a specific rate is supported + * by mpg123_pars. + * \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 + * type key chosen from the mpg123_parms enumeration, to the specified value. */ +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. + * See the mpg123_parms enumeration for a list of available parameters. */ +MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *val, double *fval); + +/* @} */ + + +/** \defgroup mpg123_lowio mpg123 low level I/O + * You may want to do tricky stuff with I/O that does not work with mpg123's default file access or you want to make it decode into your own pocket... + * + * @{ */ + +/** Replace default internal buffer with user-supplied buffer. + * Instead of working on it's own private buffer, mpg123 will directly use the one you provide for storing decoded audio. + * Note that the required buffer size could be bigger than expected from output + * encoding if libmpg123 has to convert from primary decoder output (p.ex. 32 bit + * storage for 24 bit output. + * \param data pointer to user buffer + * \param size of buffer in bytes + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, unsigned char *data, size_t size); + +/** The max size of one frame's decoded output with current settings. + * Use that to determine an appropriate minimum buffer size for decoding one frame. */ +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, + * 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 + * 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(). */ +MPG123_EXPORT int mpg123_replace_reader(mpg123_handle *mh, ssize_t (*r_read) (int, void *, size_t), off_t (*r_lseek)(int, off_t, int)); + +/** Replace I/O functions with your own ones operating on some kind of handle instead of integer descriptors. + * The handle is a void pointer, so you can pass any data you want... + * mpg123_open_handle() is the call you make to use the I/O defined here. + * There is no fallback to internal read/seek here. + * Note: As it would be troublesome to mess with this while having a file open, + * this mpg123_close() is implied here. + * \param r_read The callback for reading (behaviour like posix read). + * \param r_lseek The 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). */ +MPG123_EXPORT int mpg123_replace_reader_handle(mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*)); + +/* @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/VisualC/external/include/smpeg.h b/VisualC/external/include/smpeg.h deleted file mode 100644 index 378fbbc0..00000000 --- a/VisualC/external/include/smpeg.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* This is the C interface to the SMPEG library */ - -#ifndef _SMPEG_H_ -#define _SMPEG_H_ - -#include "SDL.h" -#include "SDL_mutex.h" -#include "SDL_audio.h" - -#include "MPEGfilter.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define SMPEG_MAJOR_VERSION 0 -#define SMPEG_MINOR_VERSION 4 -#define SMPEG_PATCHLEVEL 5 - -typedef struct { - Uint8 major; - Uint8 minor; - Uint8 patch; -} SMPEG_version; - -/* This macro can be used to fill a version structure with the compile-time - * version of the SDL library. - */ -#define SMPEG_VERSION(X) \ -{ \ - (X)->major = SMPEG_MAJOR_VERSION; \ - (X)->minor = SMPEG_MINOR_VERSION; \ - (X)->patch = SMPEG_PATCHLEVEL; \ -} - -/* This is the actual SMPEG object */ -typedef struct _SMPEG SMPEG; - -/* Used to get information about the SMPEG object */ -typedef struct _SMPEG_Info { - int has_audio; - int has_video; - int width; - int height; - int current_frame; - double current_fps; - char audio_string[80]; - int audio_current_frame; - Uint32 current_offset; - Uint32 total_size; - double current_time; - double total_time; -} SMPEG_Info; - -/* Possible MPEG status codes */ -typedef enum { - SMPEG_ERROR = -1, - SMPEG_STOPPED, - SMPEG_PLAYING -} SMPEGstatus; - - -/* Matches the declaration of SDL_UpdateRect() */ -typedef void(*SMPEG_DisplayCallback)(SDL_Surface* dst, int x, int y, - unsigned int w, unsigned int h); - -/* Create a new SMPEG object from an MPEG file. - On return, if 'info' is not NULL, it will be filled with information - about the MPEG object. - This function returns a new SMPEG object. Use SMPEG_error() to find out - whether or not there was a problem building the MPEG stream. - The sdl_audio parameter indicates if SMPEG should initialize the SDL audio - subsystem. If not, you will have to use the SMPEG_playaudio() function below - to extract the decoded data. - */ -extern DECLSPEC SMPEG* SMPEG_new(const char *file, SMPEG_Info* info, int sdl_audio); - -/* The same as above for a file descriptor */ -extern DECLSPEC SMPEG* SMPEG_new_descr(int file, SMPEG_Info* info, int sdl_audio); - -/* - The same as above but for a raw chunk of data. SMPEG makes a copy of the - data, so the application is free to delete after a successful call to this - function. - */ -extern DECLSPEC SMPEG* SMPEG_new_data(void *data, int size, SMPEG_Info* info, int sdl_audio); - -/* The same for a generic SDL_RWops structure. */ -extern DECLSPEC SMPEG* SMPEG_new_rwops(SDL_RWops *src, SMPEG_Info* info, int sdl_audio); - -/* Get current information about an SMPEG object */ -extern DECLSPEC void SMPEG_getinfo( SMPEG* mpeg, SMPEG_Info* info ); - -/* Enable or disable audio playback in MPEG stream */ -extern DECLSPEC void SMPEG_enableaudio( SMPEG* mpeg, int enable ); - -/* Enable or disable video playback in MPEG stream */ -extern DECLSPEC void SMPEG_enablevideo( SMPEG* mpeg, int enable ); - -/* Delete an SMPEG object */ -extern DECLSPEC void SMPEG_delete( SMPEG* mpeg ); - -/* Get the current status of an SMPEG object */ -extern DECLSPEC SMPEGstatus SMPEG_status( SMPEG* mpeg ); - -/* Set the audio volume of an MPEG stream, in the range 0-100 */ -extern DECLSPEC void SMPEG_setvolume( SMPEG* mpeg, int volume ); - -/* Set the destination surface for MPEG video playback - 'surfLock' is a mutex used to synchronize access to 'dst', and can be NULL. - 'callback' is a function called when an area of 'dst' needs to be updated. - If 'callback' is NULL, the default function (SDL_UpdateRect) will be used. -*/ -extern DECLSPEC void SMPEG_setdisplay(SMPEG* mpeg, SDL_Surface* dst, SDL_mutex* surfLock, - SMPEG_DisplayCallback callback); - -/* Set or clear looping play on an SMPEG object */ -extern DECLSPEC void SMPEG_loop( SMPEG* mpeg, int repeat ); - -/* Scale pixel display on an SMPEG object */ -extern DECLSPEC void SMPEG_scaleXY( SMPEG* mpeg, int width, int height ); -extern DECLSPEC void SMPEG_scale( SMPEG* mpeg, int scale ); -/* */ -#define SMPEG_double(mpeg, on) \ - SMPEG_scale(mpeg, (on) ? 2 : 1) - -/* Move the video display area within the destination surface */ -extern DECLSPEC void SMPEG_move( SMPEG* mpeg, int x, int y ); - -/* Set the region of the video to be shown */ -extern DECLSPEC void SMPEG_setdisplayregion(SMPEG* mpeg, int x, int y, int w, int h); - -/* Play an SMPEG object */ -extern DECLSPEC void SMPEG_play( SMPEG* mpeg ); - -/* Pause/Resume playback of an SMPEG object */ -extern DECLSPEC void SMPEG_pause( SMPEG* mpeg ); - -/* Stop playback of an SMPEG object */ -extern DECLSPEC void SMPEG_stop( SMPEG* mpeg ); - -/* Rewind the play position of an SMPEG object to the beginning of the MPEG */ -extern DECLSPEC void SMPEG_rewind( SMPEG* mpeg ); - -/* Seek 'bytes' bytes in the MPEG stream */ -extern DECLSPEC void SMPEG_seek( SMPEG* mpeg, int bytes); - -/* Skip 'seconds' seconds in the MPEG stream */ -extern DECLSPEC void SMPEG_skip( SMPEG* mpeg, float seconds ); - -/* Render a particular frame in the MPEG video - API CHANGE: This function no longer takes a target surface and position. - Use SMPEG_setdisplay() and SMPEG_move() to set this information. -*/ -extern DECLSPEC void SMPEG_renderFrame( SMPEG* mpeg, int framenum ); - -/* Render the last frame of an MPEG video */ -extern DECLSPEC void SMPEG_renderFinal( SMPEG* mpeg, SDL_Surface* dst, int x, int y ); - -/* Set video filter */ -extern DECLSPEC SMPEG_Filter * SMPEG_filter( SMPEG* mpeg, SMPEG_Filter * filter ); - -/* Return NULL if there is no error in the MPEG stream, or an error message - if there was a fatal error in the MPEG stream for the SMPEG object. -*/ -extern DECLSPEC char *SMPEG_error( SMPEG* mpeg ); - -/* Exported callback function for audio playback. - The function takes a buffer and the amount of data to fill, and returns - the amount of data in bytes that was actually written. This will be the - amount requested unless the MPEG audio has finished. -*/ -extern DECLSPEC int SMPEG_playAudio( SMPEG *mpeg, Uint8 *stream, int len ); - -/* Wrapper for SMPEG_playAudio() that can be passed to SDL and SDL_mixer -*/ -extern DECLSPEC void SMPEG_playAudioSDL( void *mpeg, Uint8 *stream, int len ); - -/* Get the best SDL audio spec for the audio stream */ -extern DECLSPEC int SMPEG_wantedSpec( SMPEG *mpeg, SDL_AudioSpec *wanted ); - -/* Inform SMPEG of the actual SDL audio spec used for sound playback */ -extern DECLSPEC void SMPEG_actualSpec( SMPEG *mpeg, SDL_AudioSpec *spec ); - -#ifdef __cplusplus -} -#endif -#endif /* _SMPEG_H_ */ diff --git a/VisualC/external/lib/x64/LICENSE.mpg123.txt b/VisualC/external/lib/x64/LICENSE.mpg123.txt new file mode 100644 index 00000000..e272621f --- /dev/null +++ b/VisualC/external/lib/x64/LICENSE.mpg123.txt @@ -0,0 +1,772 @@ +This is the file that contains the terms of use, copying, etc. for the mpg123 distribution package. + +Main message, to include in "About ..." boxes, etc: + + Copyright (c) 1995-2013 by Michael Hipp and others, + free software under the terms of the LGPL v2.1 + +There is an attempt to cover the actual list of authors in the AUTHORS file. +Project maintainer since 2006 is Thomas Orgis and many people have contributed +since the Michael Hipp era, but he stays the initial source and it would +be impractical to count them all individually, so it's "and others". +Source files contain the phrase "the mpg123 project" to the same effect +in their license boilerplate; especially those that were added after +maintainership changed. The person mainly responsible for the first version +is usually named in the phrase "initially written by ...". + +All files in the distribution that don't carry a license note on their own are +licensed under the terms of the LGPL 2.1; exceptions may apply, especially to +files not in the official distribution but in the revision control repository. + +The formal license text follows. + +======================= +1. The LGPL version 2.1 +======================= + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + +==================== +2. The GPL version 2 +==================== + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/VisualC/external/lib/x64/LICENSE.smpeg.txt b/VisualC/external/lib/x64/LICENSE.smpeg.txt deleted file mode 100644 index 4a941d32..00000000 --- a/VisualC/external/lib/x64/LICENSE.smpeg.txt +++ /dev/null @@ -1,485 +0,0 @@ -The source code to this library used with SDL_mixer can be found here: -http://www.libsdl.org/projects/SDL_mixer/libs/ ---- - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/VisualC/external/lib/x64/libmpg123-0.dll b/VisualC/external/lib/x64/libmpg123-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..f1b420ec091d9af9f6aa61ee0dc4ea34fce79668 GIT binary patch literal 172544 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 literal 0 HcmV?d00001 diff --git a/VisualC/external/lib/x64/smpeg.dll b/VisualC/external/lib/x64/smpeg.dll deleted file mode 100644 index 1fdeed2fb9bb18af87aa80ad5aa5336f9a43f412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227328 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 z 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�`o_FFZ~w!c zpGL2`^B-?@9sRfHZNq1-yLGQmqWAvgJo~-vc};gr|M_DZqi@z8e8LC!Y=~Z!@o`n> z`5#7~8|c2zebC4u>vmZDLG-|bkA3Bh`uC$fj_x$%T;zgYFHWBxp2QK#4$Kabq{;G!O}FQ0m3P%=3%)~0aJeO5dh zi}l?&_veo%4~b3t#pkc>P_QZY+#9xxt2?}Bbl**NuTa7AI!KcC+mY;dhkp_1`7^_R@b``o`Je_XRfZbl)%c9rc#wCz3BX z{^~Ui)~{Kj`mSqCLJ5a;oK4e&ACR}`>w5a@Z=y$?nYTmC={Kh8=IS>q_R@-}>kc_! zR)g*DH><(v{qOww2+>?w|>M^4ghu0R6ykDl=vrwt55*1y=N6=01R|~okxF7oSfSb@?13Fd& zJpg~%?Na1%E#MZwJ%BpE(}33i9{`#F{{XZb-p+Ie^aLCYhyhLmoDV1iBmg%6eg{|# zco^^);1$3pfGvO>M!*MPe?ULLNq{i`ULD)uN|uSM(ob*&YL7dl4!A?w8FyE^;?Aoh z?xH&3j;J&4Z1%uiQCHki?Tx#!Zn)#x4|h)yQ^otdzJ(6H#Q<@$M*aFZ;I z!gxu%Ixd}fS^oHvcz#V`arrhJ`{h05@Sa-eqT-V3xOOg#R~MHRsbNWZd4*_|mQU0G zW${VE1U1$k_AW2mjaL<@GxjSdl~+`WdPROsl{%>?$)BQZkb}H*DYE?$gNKPqC2sHI zl_wXM+x(xcB+Nj!dWimWayuJSUeiYucsej%^5Zd_nb zEH9}^MXJJAB~?_NUtOc)tEx_wYf^q0Zth#A$Q60)_~Me{vUt7}NSK9j`z8ao1D7+L@aQ+L^rk7T(UK?My{sJ2TGX-3eX-yu|nxy+~O*QyXt* zCcs`>Hh8m(TKdW-UMl=Gf;R}>BDm9q&aSuMY{A0>j}tsq@La)n3$7FVyxyhQLa!H)@kUhu1e8wGzPxJmH0g4#?k^v4LEAh<&CWWlQc-~Hk0`rrNG>hRzF;p(9K zW0o0gZ<9`}EUqrb?ZF6nKm8kX60X&iLAE(1(gc|!~F zmjPNdM^4~FOJh#^Cms|{4Y|YetEx}3H(+K4`=^%|)|AADdn-S<0myaJ? zgi07Q#f;4_t-5fm6`3c@SUjLE!+V>9GR78TI*@RwnU^t^50%Z)ZN`d^x7v)YDYLvg z+vbnQqhE7>TP#9wjCrVSL3x!~(bjoste3ZZHp@7 zabsQ~o?KzpwJn;2@`2Mfv!sxm4wEsPFf0c*IXcE<+t1^B zs8sC|mN)#IlPk+hPtG&u3crtI1L>LR9`E#cDgNFH{bIm*z{xXqqI(2N8^iY_{}NY0eqPzg>;EQTwrxT35H|=V#pA203kwc81v)n5 zhmE3k;wsCp5FDoSU*7*e6&RFw+|K7}awM%Q))^4utI=}z?(eo$IziIx``D^EIp5OKM{)Ipof~J4fHS`pzMD<=r*zuBP9c1sxZ3U68k6^n!5< zCM>8}FnK{@!R!U|7A#q?bV0*{)eF`vSi7Kc!G;A*3pOt>3;QkXzc99N$ilpZqZf`_ zIALMM!pRF03zsZhy0Bs4>V<0-u3gx;aKpl;g_{?eMeP@LT-0?@WKo|*{TB6Kl(%T~ zqH&8REUH*EZ_!PQmMmJjsA19SMQawVUDUW}!=k1|n-`hI?H6}k+;4IJ#j(Xh7UwM< zy?ET>35zQhPhOl@JbUrH#WyXkUA$oNlEq6GH!NPg7=JIreovxnZ9h~6RZY0Qscm1| Mv9>EY|7+U+0sdoGeE - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/VisualC/external/lib/x86/libmpg123-0.dll b/VisualC/external/lib/x86/libmpg123-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..ffd103a26584fe2b56b8140a180fc0947d582493 GIT binary patch literal 178176 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

F591>*tTAFIHbt{qom-OMiE&@@VN9 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 diff --git a/VisualC/native_midi/native_midi.vcproj b/VisualC/native_midi/native_midi.vcproj index 9cf787e0..5b2eeb50 100644 --- a/VisualC/native_midi/native_midi.vcproj +++ b/VisualC/native_midi/native_midi.vcproj @@ -1,10 +1,9 @@ +#include + +/* Simplified large file handling. + I used to have a check here that prevents building for a library with conflicting large file setup + (application that uses 32 bit offsets with library that uses 64 bits). + While that was perfectly fine in an environment where there is one incarnation of the library, + it hurt GNU/Linux and Solaris systems with multilib where the distribution fails to provide the + correct header matching the 32 bit library (where large files need explicit support) or + the 64 bit library (where there is no distinction). + + New approach: When the app defines _FILE_OFFSET_BITS, it wants non-default large file support, + and thus functions with added suffix (mpg123_open_64). + Any mismatch will be caught at link time because of the _FILE_OFFSET_BITS setting used when + building libmpg123. Plus, there's dual mode large file support in mpg123 since 1.12 now. + Link failure is not the expected outcome of any half-sane usage anymore. + + More complication: What about client code defining _LARGEFILE64_SOURCE? It might want direct access to the _64 functions, along with the ones without suffix. Well, that's possible now via defining MPG123_NO_LARGENAME and MPG123_LARGESUFFIX, respectively, for disabling or enforcing the suffix names. +*/ + +/* + Now, the renaming of large file aware functions. + By default, it appends underscore _FILE_OFFSET_BITS (so, mpg123_seek_64 for mpg123_seek), if _FILE_OFFSET_BITS is defined. You can force a different suffix via MPG123_LARGESUFFIX (that must include the underscore), or you can just disable the whole mess by defining MPG123_NO_LARGENAME. +*/ +#if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX)) + +/* Need some trickery to concatenate the value(s) of the given macro(s). */ +#define MPG123_MACROCAT_REALLY(a, b) a ## b +#define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b) +#ifndef MPG123_LARGESUFFIX +#define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS) +#endif +#define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX) + +#define mpg123_open MPG123_LARGENAME(mpg123_open) +#define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd) +#define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle) +#define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode) +#define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame) +#define mpg123_tell MPG123_LARGENAME(mpg123_tell) +#define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe) +#define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream) +#define mpg123_seek MPG123_LARGENAME(mpg123_seek) +#define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek) +#define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame) +#define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe) +#define mpg123_index MPG123_LARGENAME(mpg123_index) +#define mpg123_set_index MPG123_LARGENAME(mpg123_set_index) +#define mpg123_position MPG123_LARGENAME(mpg123_position) +#define mpg123_length MPG123_LARGENAME(mpg123_length) +#define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize) +#define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader) +#define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle) +#define mpg123_framepos MPG123_LARGENAME(mpg123_framepos) + +#endif /* largefile hackery */ + +#endif /* MPG123_NO_CONFIGURE */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** \defgroup mpg123_init mpg123 library and handle setup + * + * Functions to initialise and shutdown the mpg123 library and handles. + * The parameters of handles have workable defaults, you only have to tune them when you want to tune something;-) + * Tip: Use a RVA setting... + * + * @{ + */ + +/** Opaque structure for the libmpg123 decoder handle. */ +struct mpg123_handle_struct; + +/** Opaque structure for the libmpg123 decoder handle. + * Most functions take a pointer to a mpg123_handle as first argument and operate on its data in an object-oriented manner. + */ +typedef struct mpg123_handle_struct mpg123_handle; + +/** Function to initialise the mpg123 library. + * This function is not thread-safe. Call it exactly once per process, before any other (possibly threaded) work with the library. + * + * \return MPG123_OK if successful, otherwise an error number. + */ +MPG123_EXPORT int mpg123_init(void); + +/** Function to close down the mpg123 library. + * This function is not thread-safe. Call it exactly once per process, before any other (possibly threaded) work with the library. */ +MPG123_EXPORT void mpg123_exit(void); + +/** Create a handle with optional choice of decoder (named by a string, see mpg123_decoders() or mpg123_supported_decoders()). + * and optional retrieval of an error code to feed to mpg123_plain_strerror(). + * Optional means: Any of or both the parameters may be NULL. + * + * \return Non-NULL pointer when successful. + */ +MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error); + +/** Delete handle, mh is either a valid mpg123 handle or NULL. */ +MPG123_EXPORT void mpg123_delete(mpg123_handle *mh); + +/** Enumeration of the parameters types that it is possible to set/get. */ +enum mpg123_parms +{ + MPG123_VERBOSE = 0, /**< set verbosity value for enabling messages to stderr, >= 0 makes sense (integer) */ + MPG123_FLAGS, /**< set all flags, p.ex val = MPG123_GAPLESS|MPG123_MONO_MIX (integer) */ + MPG123_ADD_FLAGS, /**< add some flags (integer) */ + MPG123_FORCE_RATE, /**< when value > 0, force output rate to that value (integer) */ + MPG123_DOWN_SAMPLE, /**< 0=native rate, 1=half rate, 2=quarter rate (integer) */ + 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_DECODE_FRAMES, /**< decode only this number of frames (integer) */ + MPG123_ICY_INTERVAL, /**< stream contains ICY metadata with this interval (integer) */ + MPG123_OUTSCALE, /**< the scale for output samples (amplitude - integer or float according to mpg123 output format, normally integer) */ + MPG123_TIMEOUT, /**< timeout for reading from a stream (not supported on win32, integer) */ + MPG123_REMOVE_FLAGS, /**< remove some flags (inverse of MPG123_ADD_FLAGS, integer) */ + MPG123_RESYNC_LIMIT, /**< Try resync on frame parsing for that many bytes or until end of stream (<0 ... integer). This can enlarge the limit for skipping junk on beginning, too (but not reduce it). */ + MPG123_INDEX_SIZE /**< Set the frame index size (if supported). Values <0 mean that the index is allowed to grow dynamically in these steps (in positive direction, of course) -- Use this when you really want a full index with every individual frame. */ + ,MPG123_PREFRAMES /**< Decode/ignore that many frames in advance for layer 3. This is needed to fill bit reservoir after seeking, for example (but also at least one frame in advance is needed to have all "normal" data for layer 3). Give a positive integer value, please.*/ + ,MPG123_FEEDPOOL /**< For feeder mode, keep that many buffers in a pool to avoid frequent malloc/free. The pool is allocated on mpg123_open_feed(). If you change this parameter afterwards, you can trigger growth and shrinkage during decoding. The default value could change any time. If you care about this, then set it. (integer) */ + ,MPG123_FEEDBUFFER /**< Minimal size of one internal feeder buffer, again, the default value is subject to change. (integer) */ +}; + +/** Flag bits for MPG123_FLAGS, use the usual binary or to combine. */ +enum mpg123_param_flags +{ + MPG123_FORCE_MONO = 0x7 /**< 0111 Force some mono mode: This is a test bitmask for seeing if any mono forcing is active. */ + ,MPG123_MONO_LEFT = 0x1 /**< 0001 Force playback of left channel only. */ + ,MPG123_MONO_RIGHT = 0x2 /**< 0010 Force playback of right channel only. */ + ,MPG123_MONO_MIX = 0x4 /**< 0100 Force playback of mixed mono. */ + ,MPG123_FORCE_STEREO = 0x8 /**< 1000 Force stereo output. */ + ,MPG123_FORCE_8BIT = 0x10 /**< 00010000 Force 8bit formats. */ + ,MPG123_QUIET = 0x20 /**< 00100000 Suppress any printouts (overrules verbose). */ + ,MPG123_GAPLESS = 0x40 /**< 01000000 Enable gapless decoding (default on if libmpg123 has support). */ + ,MPG123_NO_RESYNC = 0x80 /**< 10000000 Disable resync stream after error. */ + ,MPG123_SEEKBUFFER = 0x100 /**< 000100000000 Enable small buffer on non-seekable streams to allow some peek-ahead (for better MPEG sync). */ + ,MPG123_FUZZY = 0x200 /**< 001000000000 Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC) */ + ,MPG123_FORCE_FLOAT = 0x400 /**< 010000000000 Force floating point output (32 or 64 bits depends on mpg123 internal precision). */ + ,MPG123_PLAIN_ID3TEXT = 0x800 /**< 100000000000 Do not translate ID3 text data to UTF-8. ID3 strings will contain the raw text data, with the first byte containing the ID3 encoding code. */ + ,MPG123_IGNORE_STREAMLENGTH = 0x1000 /**< 1000000000000 Ignore any stream length information contained in the stream, which can be contained in a 'TLEN' frame of an ID3v2 tag or a Xing tag */ + ,MPG123_SKIP_ID3V2 = 0x2000 /**< 10 0000 0000 0000 Do not parse ID3v2 tags, just skip them. */ + ,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). */ +}; + +/** choices for MPG123_RVA */ +enum mpg123_param_rva +{ + MPG123_RVA_OFF = 0 /**< RVA disabled (default). */ + ,MPG123_RVA_MIX = 1 /**< Use mix/track/radio gain. */ + ,MPG123_RVA_ALBUM = 2 /**< Use album/audiophile gain */ + ,MPG123_RVA_MAX = MPG123_RVA_ALBUM /**< The maximum RVA code, may increase in future. */ +}; + +/* TODO: Assess the possibilities and troubles of changing parameters during playback. */ + +/** Set a specific parameter, for a specific mpg123_handle, using a parameter + * type key chosen from the mpg123_parms enumeration, to the specified value. + * \return MPG123_OK on success + */ +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. + * See the mpg123_parms enumeration for a list of available parameters. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *val, double *fval); + +/** Feature set available for query with mpg123_feature. */ +enum mpg123_feature_set +{ + MPG123_FEATURE_ABI_UTF8OPEN = 0 /**< mpg123 expects path names to be given in UTF-8 encoding instead of plain native. */ + ,MPG123_FEATURE_OUTPUT_8BIT /**< 8bit output */ + ,MPG123_FEATURE_OUTPUT_16BIT /**< 16bit output */ + ,MPG123_FEATURE_OUTPUT_32BIT /**< 32bit output */ + ,MPG123_FEATURE_INDEX /**< support for building a frame index for accurate seeking */ + ,MPG123_FEATURE_PARSE_ID3V2 /**< id3v2 parsing */ + ,MPG123_FEATURE_DECODE_LAYER1 /**< mpeg layer-1 decoder enabled */ + ,MPG123_FEATURE_DECODE_LAYER2 /**< mpeg layer-2 decoder enabled */ + ,MPG123_FEATURE_DECODE_LAYER3 /**< mpeg layer-3 decoder enabled */ + ,MPG123_FEATURE_DECODE_ACCURATE /**< accurate decoder rounding */ + ,MPG123_FEATURE_DECODE_DOWNSAMPLE /**< downsample (sample omit) */ + ,MPG123_FEATURE_DECODE_NTOM /**< flexible rate decoding */ + ,MPG123_FEATURE_PARSE_ICY /**< ICY support */ + ,MPG123_FEATURE_TIMEOUT_READ /**< Reader with timeout (network). */ +}; + +/** Query libmpg123 feature, 1 for success, 0 for unimplemented functions. */ +MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key); + +/* @} */ + + +/** \defgroup mpg123_error mpg123 error handling + * + * Functions to get text version of the error numbers and an enumeration + * of the error codes returned by libmpg123. + * + * Most functions operating on a mpg123_handle simply return MPG123_OK (0) + * on success and MPG123_ERR (-1) on failure, setting the internal error + * variable of the handle to the specific error code. If there was not a valid + * (non-NULL) handle provided to a function operating on one, MPG123_BAD_HANDLE + * may be returned if this can not be confused with a valid positive return + * value. + * Meaning: A function expected to return positive integers on success will + * always indicate error or a special condition by returning a negative one. + * + * Decoding/seek functions may also return message codes MPG123_DONE, + * MPG123_NEW_FORMAT and MPG123_NEED_MORE (all negative, see below on how to + * react). Note that calls to those can be nested, so generally watch out + * for these codes after initial handle setup. + * Especially any function that needs information about the current stream + * to work will try to at least parse the beginning if that did not happen + * yet. + * + * On a function that is supposed to return MPG123_OK on success and + * MPG123_ERR on failure, make sure you check for != MPG123_OK, not + * == MPG123_ERR, as the error code could get more specific in future, + * or there is just a special message from a decoding routine as indicated + * above. + * + * @{ + */ + +/** Enumeration of the message and error codes and returned by libmpg123 functions. */ +enum mpg123_errors +{ + MPG123_DONE=-12, /**< Message: Track ended. Stop decoding. */ + MPG123_NEW_FORMAT=-11, /**< Message: Output format will be different on next call. Note that some libmpg123 versions between 1.4.3 and 1.8.0 insist on you calling mpg123_getformat() after getting this message code. Newer verisons behave like advertised: You have the chance to call mpg123_getformat(), but you can also just continue decoding and get your data. */ + MPG123_NEED_MORE=-10, /**< Message: For feed reader: "Feed me more!" (call mpg123_feed() or mpg123_decode() with some new input data). */ + MPG123_ERR=-1, /**< Generic Error */ + MPG123_OK=0, /**< Success */ + MPG123_BAD_OUTFORMAT, /**< Unable to set up output format! */ + MPG123_BAD_CHANNEL, /**< Invalid channel number specified. */ + MPG123_BAD_RATE, /**< Invalid sample rate specified. */ + MPG123_ERR_16TO8TABLE, /**< Unable to allocate memory for 16 to 8 converter table! */ + MPG123_BAD_PARAM, /**< Bad parameter id! */ + MPG123_BAD_BUFFER, /**< Bad buffer given -- invalid pointer or too small size. */ + MPG123_OUT_OF_MEM, /**< Out of memory -- some malloc() failed. */ + MPG123_NOT_INITIALIZED, /**< You didn't initialize the library! */ + MPG123_BAD_DECODER, /**< Invalid decoder choice. */ + MPG123_BAD_HANDLE, /**< Invalid mpg123 handle. */ + MPG123_NO_BUFFERS, /**< Unable to initialize frame buffers (out of memory?). */ + MPG123_BAD_RVA, /**< Invalid RVA mode. */ + MPG123_NO_GAPLESS, /**< This build doesn't support gapless decoding. */ + MPG123_NO_SPACE, /**< Not enough buffer space. */ + MPG123_BAD_TYPES, /**< Incompatible numeric data types. */ + MPG123_BAD_BAND, /**< Bad equalizer band. */ + MPG123_ERR_NULL, /**< Null pointer given where valid storage address needed. */ + MPG123_ERR_READER, /**< Error reading the stream. */ + MPG123_NO_SEEK_FROM_END,/**< Cannot seek from end (end is not known). */ + MPG123_BAD_WHENCE, /**< Invalid 'whence' for seek function.*/ + MPG123_NO_TIMEOUT, /**< Build does not support stream timeouts. */ + MPG123_BAD_FILE, /**< File access error. */ + MPG123_NO_SEEK, /**< Seek not supported by stream. */ + MPG123_NO_READER, /**< No stream opened. */ + MPG123_BAD_PARS, /**< Bad parameter handle. */ + MPG123_BAD_INDEX_PAR, /**< Bad parameters to mpg123_index() and mpg123_set_index() */ + MPG123_OUT_OF_SYNC, /**< Lost track in bytestream and did not try to resync. */ + MPG123_RESYNC_FAIL, /**< Resync failed to find valid MPEG data. */ + MPG123_NO_8BIT, /**< No 8bit encoding possible. */ + MPG123_BAD_ALIGN, /**< Stack aligmnent error */ + MPG123_NULL_BUFFER, /**< NULL input buffer with non-zero size... */ + MPG123_NO_RELSEEK, /**< Relative seek not possible (screwed up file offset) */ + MPG123_NULL_POINTER, /**< You gave a null pointer somewhere where you shouldn't have. */ + MPG123_BAD_KEY, /**< Bad key value given. */ + MPG123_NO_INDEX, /**< No frame index in this build. */ + MPG123_INDEX_FAIL, /**< Something with frame index went wrong. */ + MPG123_BAD_DECODER_SETUP, /**< Something prevents a proper decoder setup */ + MPG123_MISSING_FEATURE /**< This feature has not been built into libmpg123. */ + ,MPG123_BAD_VALUE /**< A bad value has been given, somewhere. */ + ,MPG123_LSEEK_FAILED /**< Low-level seek failed. */ + ,MPG123_BAD_CUSTOM_IO /**< Custom I/O not prepared. */ + ,MPG123_LFS_OVERFLOW /**< Offset value overflow during translation of large file API calls -- your client program cannot handle that large file. */ + ,MPG123_INT_OVERFLOW /**< Some integer overflow. */ +}; + +/** Return a string describing that error errcode means. */ +MPG123_EXPORT const char* mpg123_plain_strerror(int errcode); + +/** Give string describing what error has occured in the context of handle mh. + * When a function operating on an mpg123 handle returns MPG123_ERR, you should check for the actual reason via + * char *errmsg = mpg123_strerror(mh) + * This function will catch mh == NULL and return the message for MPG123_BAD_HANDLE. */ +MPG123_EXPORT const char* mpg123_strerror(mpg123_handle *mh); + +/** Return the plain errcode intead of a string. + * \return error code recorded in handle or MPG123_BAD_HANDLE + */ +MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh); + +/*@}*/ + + +/** \defgroup mpg123_decoder mpg123 decoder selection + * + * Functions to list and select the available decoders. + * Perhaps the most prominent feature of mpg123: You have several (optimized) decoders to choose from (on x86 and PPC (MacOS) systems, that is). + * + * @{ + */ + +/** Return a NULL-terminated array of generally available decoder names (plain 8bit ASCII). */ +MPG123_EXPORT const char **mpg123_decoders(void); + +/** Return a NULL-terminated array of the decoders supported by the CPU (plain 8bit ASCII). */ +MPG123_EXPORT const char **mpg123_supported_decoders(void); + +/** Set the chosen decoder to 'decoder_name' + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name); + +/** Get the currently active decoder engine 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 available as decoder choice from the outside. + \return The decoder name or NULL on error. */ +MPG123_EXPORT const char* mpg123_current_decoder(mpg123_handle *mh); + +/*@}*/ + + +/** \defgroup mpg123_output mpg123 output audio format + * + * Functions to get and select the format of the decoded audio. + * + * 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). + * + * 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. + * + * People often start out thinking that mpg123_format() should change the actual decoding format on the fly. That is wrong. It only has effect on the next natural change of output format, when libmpg123 will consult its format table again. To make life easier, you might want to call mpg123_format_none() before any thing else and then just allow one desired encoding and a limited set of sample rates / channel choices that you actually intend to deal with. You can force libmpg123 to decode everything to 44100 KHz, stereo, 16 bit integer ... it will duplicate mono channels and even do resampling if needed (unless that feature is disabled in the build, same with some encodings). But I have to stress that the resampling of libmpg123 is very crude and doesn't even contain any kind of "proper" interpolation. + * + * In any case, watch out for MPG123_NEW_FORMAT as return message from decoding routines and call mpg123_getformat() to get the currently active output format. + * + * @{ + */ + +/** An enum over all sample types possibly known to mpg123. + * The values are designed as bit flags to allow bitmasking for encoding families. + * + * Note that (your build of) libmpg123 does not necessarily support all these. + * Usually, you can expect the 8bit encodings and signed 16 bit. + * Also 32bit float will be usual beginning with mpg123-1.7.0 . + * What you should bear in mind is that (SSE, etc) optimized routines may be absent + * for some formats. We do have SSE for 16, 32 bit and float, though. + * 24 bit integer is done via postprocessing of 32 bit output -- just cutting + * the last byte, no rounding, even. If you want better, do it yourself. + * + * All formats are in native byte order. If you need different endinaness, you + * can simply postprocess the output buffers (libmpg123 wouldn't do anything else). + * mpg123_encsize() can be helpful there. + */ +enum mpg123_enc_enum +{ + MPG123_ENC_8 = 0x00f /**< 0000 0000 1111 Some 8 bit integer encoding. */ + ,MPG123_ENC_16 = 0x040 /**< 0000 0100 0000 Some 16 bit integer encoding. */ + ,MPG123_ENC_24 = 0x4000 /**< 0100 0000 0000 0000 Some 24 bit integer encoding. */ + ,MPG123_ENC_32 = 0x100 /**< 0001 0000 0000 Some 32 bit integer encoding. */ + ,MPG123_ENC_SIGNED = 0x080 /**< 0000 1000 0000 Some signed integer encoding. */ + ,MPG123_ENC_FLOAT = 0xe00 /**< 1110 0000 0000 Some float encoding. */ + ,MPG123_ENC_SIGNED_16 = (MPG123_ENC_16|MPG123_ENC_SIGNED|0x10) /**< 1101 0000 signed 16 bit */ + ,MPG123_ENC_UNSIGNED_16 = (MPG123_ENC_16|0x20) /**< 0110 0000 unsigned 16 bit */ + ,MPG123_ENC_UNSIGNED_8 = 0x01 /**< 0000 0001 unsigned 8 bit */ + ,MPG123_ENC_SIGNED_8 = (MPG123_ENC_SIGNED|0x02) /**< 1000 0010 signed 8 bit */ + ,MPG123_ENC_ULAW_8 = 0x04 /**< 0000 0100 ulaw 8 bit */ + ,MPG123_ENC_ALAW_8 = 0x08 /**< 0000 1000 alaw 8 bit */ + ,MPG123_ENC_SIGNED_32 = MPG123_ENC_32|MPG123_ENC_SIGNED|0x1000 /**< 0001 0001 1000 0000 signed 32 bit */ + ,MPG123_ENC_UNSIGNED_32 = MPG123_ENC_32|0x2000 /**< 0010 0001 0000 0000 unsigned 32 bit */ + ,MPG123_ENC_SIGNED_24 = MPG123_ENC_24|MPG123_ENC_SIGNED|0x1000 /**< 0101 0000 1000 0000 signed 24 bit */ + ,MPG123_ENC_UNSIGNED_24 = MPG123_ENC_24|0x2000 /**< 0110 0000 0000 0000 unsigned 24 bit */ + ,MPG123_ENC_FLOAT_32 = 0x200 /**< 0010 0000 0000 32bit float */ + ,MPG123_ENC_FLOAT_64 = 0x400 /**< 0100 0000 0000 64bit float */ + ,MPG123_ENC_ANY = ( MPG123_ENC_SIGNED_16 | MPG123_ENC_UNSIGNED_16 | MPG123_ENC_UNSIGNED_8 + | MPG123_ENC_SIGNED_8 | MPG123_ENC_ULAW_8 | MPG123_ENC_ALAW_8 + | MPG123_ENC_SIGNED_32 | MPG123_ENC_UNSIGNED_32 + | MPG123_ENC_SIGNED_24 | MPG123_ENC_UNSIGNED_24 + | MPG123_ENC_FLOAT_32 | MPG123_ENC_FLOAT_64 ) /**< Any encoding on the list. */ +}; + +/** They can be combined into one number (3) to indicate mono and stereo... */ +enum mpg123_channelcount +{ + MPG123_MONO = 1 + ,MPG123_STEREO = 2 +}; + +/** An array of supported standard sample rates + * These are possible native sample rates of MPEG audio files. + * You can still force mpg123 to resample to a different one, but by default you will only get audio in one of these samplings. + * \param list Store a pointer to the sample rates array there. + * \param number Store the number of sample rates there. */ +MPG123_EXPORT void mpg123_rates(const long **list, size_t *number); + +/** An array of supported audio encodings. + * An audio encoding is one of the fully qualified members of mpg123_enc_enum (MPG123_ENC_SIGNED_16, not MPG123_SIGNED). + * \param list Store a pointer to the encodings array there. + * \param number Store the number of encodings there. */ +MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number); + +/** Return the size (in bytes) of one mono sample of the named encoding. + * \param encoding The encoding value to analyze. + * \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, + * use before specifying supported formats with mpg123_format + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh); + +/** Configure mpg123 handle to accept all formats + * (also any custom rate you may set) -- this is default. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh); + +/** Set the audio format support of a mpg123_handle in detail: + * \param mh audio decoder handle + * \param rate The sample rate value (in Hertz). + * \param channels A combination of MPG123_STEREO and MPG123_MONO. + * \param encodings A combination of accepted encodings for rate and channels, p.ex MPG123_ENC_SIGNED16 | MPG123_ENC_ULAW_8 (or 0 for no support). Please note that some encodings may not be supported in the library build and thus will be ignored here. + * \return MPG123_OK on success, MPG123_ERR if there was an error. */ +MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings); + +/** Check to see if a specific format at a specific rate is supported + * by mpg123_handle. + * \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); + +/** Get the current output format written to the addresses given. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding); + +/*@}*/ + + +/** \defgroup mpg123_input mpg123 file input and decoding + * + * Functions for input bitstream and decoding operations. + * Decoding/seek functions may also return message codes MPG123_DONE, MPG123_NEW_FORMAT and MPG123_NEED_MORE (please read up on these on how to react!). + * @{ + */ + +/* reading samples / triggering decoding, possible return values: */ +/** Enumeration of the error codes returned by libmpg123 functions. */ + +/** Open and prepare to decode the specified file by filesystem path. + * This does not open HTTP urls; libmpg123 contains no networking code. + * If you want to decode internet streams, use mpg123_open_fd() or mpg123_open_feed(). + * \param path filesystem path + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path); + +/** Use an already opened file descriptor as the bitstream input + * mpg123_close() will _not_ close the file descriptor. + */ +MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd); + +/** Use an opaque handle as bitstream input. This works only with the + * replaced I/O from mpg123_replace_reader_handle()! + * mpg123_close() will call the cleanup callback for your handle (if you gave one). + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle); + +/** Open a new bitstream and prepare for direct feeding + * This works together with mpg123_decode(); you are responsible for reading and feeding the input bitstream. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh); + +/** Closes the source, if libmpg123 opened it. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_close(mpg123_handle *mh); + +/** Read from stream and decode up to outmemsize bytes. + * \param outmemory address of output buffer to write to + * \param outmemsize maximum number of bytes to write + * \param done address to store the number of actually decoded bytes to + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_read(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done); + +/** Feed data for a stream that has been opened with mpg123_open_feed(). + * It's give and take: You provide the bytestream, mpg123 gives you the decoded samples. + * \param in input buffer + * \param size number of input bytes + * \return MPG123_OK or error/message code. + */ +MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size); + +/** 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) + * 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. + * \param inmemory input buffer + * \param inmemsize number of input bytes + * \param outmemory output buffer + * \param outmemsize maximum number of output bytes + * \param done address to store the number of actually decoded bytes to + * \return error/message code (watch out especially for MPG123_NEED_MORE) + */ +MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, unsigned char *outmemory, size_t outmemsize, size_t *done); + +/** Decode next MPEG frame to internal buffer + * or read a frame and return after setting a new format. + * \param num current frame offset gets stored there + * \param audio This pointer is set to the internal buffer to read the decoded audio from. + * \param bytes number of output bytes ready in the buffer + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes); + +/** Decode current MPEG frame to internal buffer. + * Warning: This is experimental API that might change in future releases! + * Please watch mpg123 development closely when using it. + * \param num last frame offset gets stored there + * \param audio this pointer is set to the internal buffer to read the decoded audio from. + * \param bytes number of output bytes ready in the buffer + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_framebyframe_decode(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes); + +/** Find, read and parse the next mp3 frame + * Warning: This is experimental API that might change in future releases! + * Please watch mpg123 development closely when using it. + * \return MPG123_OK or error/message code + */ +MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh); + +/** Get access to the raw input data for the last parsed frame. + * This gives you a direct look (and write access) to the frame body data. + * Together with the raw header, you can reconstruct the whole raw MPEG stream without junk and meta data, or play games by actually modifying the frame body data before decoding this frame (mpg123_framebyframe_decode()). + * A more sane use would be to use this for CRC checking (see mpg123_info() and MPG123_CRC), the first two bytes of the body make up the CRC16 checksum, if present. + * You can provide NULL for a parameter pointer when you are not interested in the value. + * + * \param header the 4-byte MPEG header + * \param bodydata pointer to the frame body stored in the handle (without the header) + * \param bodybytes size of frame body in bytes (without the header) + * \return MPG123_OK if there was a yet un-decoded frame to get the + * data from, MPG123_BAD_HANDLE or MPG123_ERR otherwise (without further + * explanation, the error state of the mpg123_handle is not modified by + * this function). + */ +MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes); + +/** Get the input position (byte offset in stream) of the last parsed frame. + * This can be used for external seek index building, for example. + * It just returns the internally stored offset, regardless of validity -- you ensure that a valid frame has been parsed before! */ +MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh); + +/*@}*/ + + +/** \defgroup mpg123_seek mpg123 position and seeking + * + * Functions querying and manipulating position in the decoded audio bitstream. + * 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: + * - 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 + * + * Note that sample-accurate seek only works when gapless support has been enabled at compile time; seek is frame-accurate otherwise. + * Also, really sample-accurate seeking (meaning that you get the identical sample value after seeking compared to plain decoding up to the position) is only guaranteed when you do not mess with the position code by using MPG123_UPSPEED, MPG123_DOWNSPEED or MPG123_START_FRAME. The first two mainly should cause trouble with NtoM resampling, but in any case with these options in effect, you have to keep in mind that the sample offset is not the same as counting the samples you get from decoding since mpg123 counts the skipped samples, too (or the samples played twice only once)! + * Short: When you care about the sample position, don't mess with those parameters;-) + * Also, seeking is not guaranteed to work for all streams (underlying stream may not support it). + * And yet another caveat: If the stream is concatenated out of differing pieces (Frankenstein stream), seeking may suffer, too. + * + * @{ + */ + +/** Returns the current position in samples. + * On the next successful read, you'd get that sample. + * \return sample offset or MPG123_ERR (null handle) + */ +MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh); + +/** Returns the frame number that the next read will give you data from. + * \return frame offset or MPG123_ERR (null handle) + */ +MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh); + +/** Returns the current byte offset in the input stream. + * \return byte offset or MPG123_ERR (null handle) + */ +MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh); + +/** Seek to a desired sample offset. + * Set whence to SEEK_SET, SEEK_CUR or SEEK_END. + * \return The resulting offset >= 0 or error/message code */ +MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence); + +/** 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 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, off_t sampleoff, int whence, off_t *input_offset); + +/** Seek to a desired MPEG frame index. + * Set whence to SEEK_SET, SEEK_CUR or SEEK_END. + * \return The resulting offset >= 0 or error/message code */ +MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence); + +/** Return a MPEG frame offset corresponding to an offset in seconds. + * This assumes that the samples per frame do not change in the file/stream, which is a good assumption for any sane file/stream only. + * \return frame offset >= 0 or error/message code */ +MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec); + +/** Give access to the frame index table that is managed for seeking. + * You are asked not to modify the values... Use mpg123_set_index to set the + * seek index + * \param offsets pointer to the index array + * \param step one index byte offset advances this many MPEG frames + * \param fill number of recorded index offsets; size of the array + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill); + +/** Set the frame index table + * Setting offsets to NULL and fill > 0 will allocate fill entries. Setting offsets + * to NULL and fill to 0 will clear the index and free the allocated memory used by the index. + * \param offsets pointer to the index array + * \param step one index byte offset advances this many MPEG frames + * \param fill number of recorded index offsets; size of the array + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill); + +/** Get information about current and remaining frames/seconds. + * WARNING: This function is there because of special usage by standalone mpg123 and may be removed in the final version of libmpg123! + * You provide an offset (in frames) from now and a number of output bytes + * served by libmpg123 but not yet played. You get the projected current frame + * and seconds, as well as the remaining frames/seconds. This does _not_ care + * about skipped samples due to gapless playback. */ +MPG123_EXPORT int mpg123_position( mpg123_handle *mh, off_t frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left); + +/*@}*/ + + +/** \defgroup mpg123_voleq mpg123 volume and equalizer + * + * @{ + */ + +enum mpg123_channels +{ + MPG123_LEFT=0x1 /**< The Left Channel. */ + ,MPG123_RIGHT=0x2 /**< The Right Channel. */ + ,MPG123_LR=0x3 /**< Both left and right channel; same as MPG123_LEFT|MPG123_RIGHT */ +}; + +/** Set the 32 Band Audio Equalizer settings. + * \param channel Can be MPG123_LEFT, MPG123_RIGHT or MPG123_LEFT|MPG123_RIGHT for both. + * \param band The equaliser band to change (from 0 to 31) + * \param val The (linear) adjustment factor. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val); + +/** Get the 32 Band Audio Equalizer settings. + * \param channel Can be MPG123_LEFT, MPG123_RIGHT or MPG123_LEFT|MPG123_RIGHT for (arithmetic mean of) both. + * \param band The equaliser band to change (from 0 to 31) + * \return The (linear) adjustment factor (zero for pad parameters) */ +MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band); + +/** Reset the 32 Band Audio Equalizer settings to flat + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh); + +/** Set the absolute output volume including the RVA setting, + * vol<0 just applies (a possibly changed) RVA setting. */ +MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol); + +/** Adjust output volume including the RVA setting by chosen amount */ +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) + * and the RVA value is in decibels. */ +MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db); + +/* TODO: Set some preamp in addition / to replace internal RVA handling? */ + +/*@}*/ + + +/** \defgroup mpg123_status mpg123 status and information + * + * @{ + */ + +/** Enumeration of the mode types of Variable Bitrate */ +enum mpg123_vbr { + MPG123_CBR=0, /**< Constant Bitrate Mode (default) */ + MPG123_VBR, /**< Variable Bitrate Mode */ + MPG123_ABR /**< Average Bitrate Mode */ +}; + +/** Enumeration of the MPEG Versions */ +enum mpg123_version { + MPG123_1_0=0, /**< MPEG Version 1.0 */ + MPG123_2_0, /**< MPEG Version 2.0 */ + MPG123_2_5 /**< MPEG Version 2.5 */ +}; + + +/** Enumeration of the MPEG Audio mode. + * Only the mono mode has 1 channel, the others have 2 channels. */ +enum mpg123_mode { + MPG123_M_STEREO=0, /**< Standard Stereo. */ + MPG123_M_JOINT, /**< Joint Stereo. */ + MPG123_M_DUAL, /**< Dual Channel. */ + MPG123_M_MONO /**< Single Channel. */ +}; + + +/** Enumeration of the MPEG Audio flag bits */ +enum mpg123_flags { + MPG123_CRC=0x1, /**< The bitstream is error protected using 16-bit CRC. */ + MPG123_COPYRIGHT=0x2, /**< The bitstream is copyrighted. */ + MPG123_PRIVATE=0x4, /**< The private bit has been set. */ + MPG123_ORIGINAL=0x8 /**< The bitstream is an original, not a copy. */ +}; + +/** Data structure for storing information about a frame of MPEG Audio */ +struct mpg123_frameinfo +{ + enum mpg123_version version; /**< The MPEG version (1.0/2.0/2.5). */ + int layer; /**< The MPEG Audio Layer (MP1/MP2/MP3). */ + long rate; /**< The sampling rate in Hz. */ + enum mpg123_mode mode; /**< The audio mode (Mono, Stereo, Joint-stero, Dual Channel). */ + int mode_ext; /**< The mode extension bit flag. */ + int framesize; /**< The size of the frame (in bytes, including header). */ + enum mpg123_flags flags; /**< MPEG Audio flag bits. Just now I realize that it should be declared as int, not enum. It's a bitwise combination of the enum values. */ + int emphasis; /**< The emphasis type. */ + int bitrate; /**< Bitrate of the frame (kbps). */ + int abr_rate; /**< The target average bitrate. */ + enum mpg123_vbr vbr; /**< The VBR mode. */ +}; + +/** Get frame information about the MPEG audio bitstream and store it in a mpg123_frameinfo structure. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi); + +/** Get the safe output buffer size for all cases (when you want to replace the internal buffer) */ +MPG123_EXPORT size_t mpg123_safe_buffer(void); + +/** Make a full parsing scan of each frame in the file. ID3 tags are found. An accurate length + * value is stored. Seek index will be filled. A seek back to current position + * is performed. At all, this function refuses work when stream is + * not seekable. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_scan(mpg123_handle *mh); + +/** Return, if possible, the full (expected) length of current track in samples. + * \return length >= 0 or MPG123_ERR if there is no length guess possible. */ +MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh); + +/** Override the value for file size in bytes. + * Useful for getting sensible track length values in feed mode or for HTTP streams. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size); + +/** Returns the time (seconds) per frame; <0 is error. */ +MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh); + +/** Returns the samples per frame for the most recently parsed frame; <0 is error. */ +MPG123_EXPORT int mpg123_spf(mpg123_handle *mh); + +/** Get and reset the clip count. */ +MPG123_EXPORT long mpg123_clip(mpg123_handle *mh); + + +/** The key values for state information from mpg123_getstate(). */ +enum mpg123_state +{ + MPG123_ACCURATE = 1 /**< Query if positons are currently accurate (integer value, 0 if false, 1 if true). */ + ,MPG123_BUFFERFILL /**< Get fill of internal (feed) input buffer as integer byte count returned as long and as double. An error is returned on integer overflow while converting to (signed) long, but the returned floating point value shold still be fine. */ + ,MPG123_FRANKENSTEIN /**< Stream consists of carelessly stitched together files. Seeking may yield unexpected results (also with MPG123_ACCURATE, it may be confused). */ + ,MPG123_FRESH_DECODER /**< Decoder structure has been updated, possibly indicating changed stream (integer value, 0 if false, 1 if true). Flag is cleared after retrieval. */ +}; + +/** Get various current decoder/stream state information. + * \param key the key to identify the information to give. + * \param val the address to return (long) integer values to + * \param fval the address to return floating point values to + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval); + +/*@}*/ + + +/** \defgroup mpg123_metadata mpg123 metadata handling + * + * Functions to retrieve the metadata from MPEG Audio files and streams. + * Also includes string handling functions. + * + * @{ + */ + +/** 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 +{ + char* p; /**< pointer to the string data */ + size_t size; /**< raw number of bytes allocated */ + size_t fill; /**< number of used bytes (including closing zero byte) */ +} mpg123_string; + +/** Create and allocate memory for a new mpg123_string */ +MPG123_EXPORT void mpg123_init_string(mpg123_string* sb); + +/** Free-up mempory for an existing mpg123_string */ +MPG123_EXPORT void mpg123_free_string(mpg123_string* sb); + +/** Change the size of a mpg123_string + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_resize_string(mpg123_string* sb, size_t news); + +/** Increase size of a mpg123_string if necessary (it may stay larger). + * Note that the functions for adding and setting in current libmpg123 use this instead of mpg123_resize_string(). + * That way, you can preallocate memory and safely work afterwards with pieces. + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_grow_string(mpg123_string* sb, size_t news); + +/** Copy the contents of one mpg123_string string to another. + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_copy_string(mpg123_string* from, mpg123_string* to); + +/** Append a C-String to an mpg123_string + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff); + +/** Append a C-substring to an mpg123 string + * \return 0 on error, 1 on success + * \param from offset to copy from + * \param count number of characters to copy (a null-byte is always appended) */ +MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count); + +/** Set the conents of a mpg123_string to a C-string + * \return 0 on error, 1 on success */ +MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff); + +/** Set the contents of a mpg123_string to a C-substring + * \return 0 on error, 1 on success + * \param from offset to copy from + * \param count number of characters to copy (a null-byte is always appended) */ +MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count); + +/** Count characters in a mpg123 string (non-null bytes or UTF-8 characters). + * \return character count + * \param sb the string + * \param utf8 a flag to tell if the string is in utf8 encoding + * Even with the fill property, the character count is not obvious as there could be multiple trailing null bytes. +*/ +MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8); + +/** Remove trailing \r and \n, if present. + * \return 0 on error, 1 on success + * \param sb the string + */ +MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb); + +/** The mpg123 text encodings. This contains encodings we encounter in ID3 tags or ICY meta info. */ +enum mpg123_text_encoding +{ + mpg123_text_unknown = 0 /**< Unkown encoding... mpg123_id3_encoding can return that on invalid codes. */ + ,mpg123_text_utf8 = 1 /**< UTF-8 */ + ,mpg123_text_latin1 = 2 /**< ISO-8859-1. Note that sometimes latin1 in ID3 is abused for totally different encodings. */ + ,mpg123_text_icy = 3 /**< ICY metadata encoding, usually CP-1252 but we take it as UTF-8 if it qualifies as such. */ + ,mpg123_text_cp1252 = 4 /**< Really CP-1252 without any guessing. */ + ,mpg123_text_utf16 = 5 /**< Some UTF-16 encoding. The last of a set of leading BOMs (byte order mark) rules. + * When there is no BOM, big endian ordering is used. Note that UCS-2 qualifies as UTF-8 when + * you don't mess with the reserved code points. If you want to decode little endian data + * without BOM you need to prepend 0xff 0xfe yourself. */ + ,mpg123_text_utf16bom = 6 /**< Just an alias for UTF-16, ID3v2 has this as distinct code. */ + ,mpg123_text_utf16be = 7 /**< Another alias for UTF16 from ID3v2. Note, that, because of the mess that is reality, + * BOMs are used if encountered. There really is not much distinction between the UTF16 types for mpg123 + * One exception: Since this is seen in ID3v2 tags, leading null bytes are skipped for all other UTF16 + * types (we expect a BOM before real data there), not so for utf16be!*/ + ,mpg123_text_max = 7 /**< Placeholder for the maximum encoding value. */ +}; + +/** The encoding byte values from ID3v2. */ +enum mpg123_id3_enc +{ + mpg123_id3_latin1 = 0 /**< Note: This sometimes can mean anything in practice... */ + ,mpg123_id3_utf16bom = 1 /**< UTF16, UCS-2 ... it's all the same for practical purposes. */ + ,mpg123_id3_utf16be = 2 /**< Big-endian UTF-16, BOM see note for mpg123_text_utf16be. */ + ,mpg123_id3_utf8 = 3 /**< Our lovely overly ASCII-compatible 8 byte encoding for the world. */ + ,mpg123_id3_enc_max = 3 /**< Placeholder to check valid range of encoding byte. */ +}; + +/** Convert ID3 encoding byte to mpg123 encoding index. */ +MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte); + +/** Store text data in string, after converting to UTF-8 from indicated encoding + * \return 0 on error, 1 on success (on error, mpg123_free_string is called on sb) + * \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_size number of bytes in the source buffer + * + * A prominent error can be that you provided an unknown encoding value, or this build of libmpg123 lacks support for certain encodings (ID3 or ICY stuff missing). + * Also, you might want to take a bit of care with preparing the data; for example, strip leading zeroes (I have seen that). + */ +MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size); + +/** Sub data structure for ID3v2, for storing various text fields (including comments). + * This is for ID3v2 COMM, TXXX and all the other text fields. + * Only COMM and TXXX have a description, only COMM and USLT have a language. + * You should consult the ID3v2 specification for the use of the various text fields ("frames" in ID3v2 documentation, I use "fields" here to separate from MPEG frames). */ +typedef struct +{ + char lang[3]; /**< Three-letter language code (not terminated). */ + char id[4]; /**< The ID3v2 text field id, like TALB, TPE2, ... (4 characters, no string termination). */ + mpg123_string description; /**< Empty for the generic comment... */ + mpg123_string text; /**< ... */ +} mpg123_text; + +/** The picture type values from ID3v2. */ +enum mpg123_id3_pic_type +{ + mpg123_id3_pic_other = 0 + ,mpg123_id3_pic_icon = 1 + ,mpg123_id3_pic_other_icon = 2 + ,mpg123_id3_pic_front_cover = 3 + ,mpg123_id3_pic_back_cover = 4 + ,mpg123_id3_pic_leaflet = 5 + ,mpg123_id3_pic_media = 6 + ,mpg123_id3_pic_lead = 7 + ,mpg123_id3_pic_artist = 8 + ,mpg123_id3_pic_conductor = 9 + ,mpg123_id3_pic_orchestra = 10 + ,mpg123_id3_pic_composer = 11 + ,mpg123_id3_pic_lyricist = 12 + ,mpg123_id3_pic_location = 13 + ,mpg123_id3_pic_recording = 14 + ,mpg123_id3_pic_performance = 15 + ,mpg123_id3_pic_video = 16 + ,mpg123_id3_pic_fish = 17 + ,mpg123_id3_pic_illustration = 18 + ,mpg123_id3_pic_artist_logo = 19 + ,mpg123_id3_pic_publisher_logo = 20 +}; + +/** Sub data structure for ID3v2, for storing picture data including comment. + * This is for the ID3v2 APIC field. You should consult the ID3v2 specification + * for the use of the APIC field ("frames" in ID3v2 documentation, I use "fields" + * here to separate from MPEG frames). */ +typedef struct +{ + char type; + mpg123_string description; + mpg123_string mime_type; + size_t size; + unsigned char* data; +} mpg123_picture; + +/** Data structure for storing IDV3v2 tags. + * This structure is not a direct binary mapping with the file contents. + * The ID3v2 text frames are allowed to contain multiple strings. + * So check for null bytes until you reach the mpg123_string fill. + * All text is encoded in UTF-8. */ +typedef struct +{ + unsigned char version; /**< 3 or 4 for ID3v2.3 or ID3v2.4. */ + mpg123_string *title; /**< Title string (pointer into text_list). */ + mpg123_string *artist; /**< Artist string (pointer into text_list). */ + mpg123_string *album; /**< Album string (pointer into text_list). */ + mpg123_string *year; /**< The year as a string (pointer into text_list). */ + mpg123_string *genre; /**< Genre String (pointer into text_list). The genre string(s) may very well need postprocessing, esp. for ID3v2.3. */ + mpg123_string *comment; /**< Pointer to last encountered comment text with empty description. */ + /* Encountered ID3v2 fields are appended to these lists. + There can be multiple occurences, the pointers above always point to the last encountered data. */ + mpg123_text *comment_list; /**< Array of comments. */ + size_t comments; /**< Number of comments. */ + mpg123_text *text; /**< Array of ID3v2 text fields (including USLT) */ + size_t texts; /**< Numer of text fields. */ + mpg123_text *extra; /**< The array of extra (TXXX) fields. */ + size_t extras; /**< Number of extra text (TXXX) fields. */ + mpg123_picture *picture; /**< Array of ID3v2 pictures fields (APIC). */ + size_t pictures; /**< Number of picture (APIC) fields. */ +} mpg123_id3v2; + +/** Data structure for ID3v1 tags (the last 128 bytes of a file). + * Don't take anything for granted (like string termination)! + * Also note the change ID3v1.1 did: comment[28] = 0; comment[29] = track_number + * It is your task to support ID3v1 only or ID3v1.1 ...*/ +typedef struct +{ + char tag[3]; /**< Always the string "TAG", the classic intro. */ + char title[30]; /**< Title string. */ + char artist[30]; /**< Artist string. */ + char album[30]; /**< Album string. */ + char year[4]; /**< Year string. */ + char comment[30]; /**< Comment string. */ + unsigned char genre; /**< Genre index. */ +} mpg123_id3v1; + +#define MPG123_ID3 0x3 /**< 0011 There is some ID3 info. Also matches 0010 or NEW_ID3. */ +#define MPG123_NEW_ID3 0x1 /**< 0001 There is ID3 info that changed since last call to mpg123_id3. */ +#define MPG123_ICY 0xc /**< 1100 There is some ICY info. Also matches 0100 or NEW_ICY.*/ +#define MPG123_NEW_ICY 0x4 /**< 0100 There is ICY info that changed since last call to mpg123_icy. */ + +/** Query if there is (new) meta info, be it ID3 or ICY (or something new in future). + The check function returns a combination of flags. */ +MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh); /* On error (no valid handle) just 0 is returned. */ + +/** Clean up meta data storage (ID3v2 and ICY), freeing memory. */ +MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh); + +/** Point v1 and v2 to existing data structures wich may change on any next read/decode function call. + * v1 and/or v2 can be set to NULL when there is no corresponding data. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2); + +/** Point icy_meta to existing data structure wich may change on any next read/decode function call. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta); /* same for ICY meta string */ + +/** Decode from windows-1252 (the encoding ICY metainfo used) to UTF-8. + * Note that this is very similar to mpg123_store_utf8(&sb, mpg123_text_icy, icy_text, strlen(icy_text+1)) . + * \param icy_text The input data in ICY encoding + * \return pointer to newly allocated buffer with UTF-8 data (You free() it!) */ +MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text); + + +/* @} */ + + +/** \defgroup mpg123_advpar mpg123 advanced parameter API + * + * Direct access to a parameter set without full handle around it. + * Possible uses: + * - 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. + * + * @{ + */ + +/** Opaque structure for the libmpg123 decoder parameters. */ +struct mpg123_pars_struct; + +/** Opaque structure for the libmpg123 decoder parameters. */ +typedef struct mpg123_pars_struct mpg123_pars; + +/** Create a handle with preset parameters. */ +MPG123_EXPORT mpg123_handle *mpg123_parnew(mpg123_pars *mp, const char* decoder, int *error); + +/** Allocate memory for and return a pointer to a new mpg123_pars */ +MPG123_EXPORT mpg123_pars *mpg123_new_pars(int *error); + +/** Delete and free up memory used by a mpg123_pars data structure */ +MPG123_EXPORT void mpg123_delete_pars(mpg123_pars* mp); + +/** Configure mpg123 parameters to accept no output format at all, + * use before specifying supported formats with mpg123_format + * \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. + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp); + +/** Set the audio format support of a mpg123_pars in detail: + \param rate The sample rate value (in Hertz). + \param channels A combination of MPG123_STEREO and MPG123_MONO. + \param encodings A combination of accepted encodings for rate and channels, p.ex MPG123_ENC_SIGNED16|MPG123_ENC_ULAW_8 (or 0 for no support). + \return MPG123_OK on success +*/ +MPG123_EXPORT int mpg123_fmt(mpg123_pars *mp, long rate, int channels, int encodings); /* 0 is good, -1 is error */ + +/** Check to see if a specific format at a specific rate is supported + * by mpg123_pars. + * \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 + * type key chosen from the mpg123_parms enumeration, to the specified value. */ +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. + * See the mpg123_parms enumeration for a list of available parameters. */ +MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *val, double *fval); + +/* @} */ + + +/** \defgroup mpg123_lowio mpg123 low level I/O + * You may want to do tricky stuff with I/O that does not work with mpg123's default file access or you want to make it decode into your own pocket... + * + * @{ */ + +/** Replace default internal buffer with user-supplied buffer. + * Instead of working on it's own private buffer, mpg123 will directly use the one you provide for storing decoded audio. + * Note that the required buffer size could be bigger than expected from output + * encoding if libmpg123 has to convert from primary decoder output (p.ex. 32 bit + * storage for 24 bit output. + * \param data pointer to user buffer + * \param size of buffer in bytes + * \return MPG123_OK on success + */ +MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, unsigned char *data, size_t size); + +/** The max size of one frame's decoded output with current settings. + * Use that to determine an appropriate minimum buffer size for decoding one frame. */ +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, + * 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 + * 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(). */ +MPG123_EXPORT int mpg123_replace_reader(mpg123_handle *mh, ssize_t (*r_read) (int, void *, size_t), off_t (*r_lseek)(int, off_t, int)); + +/** Replace I/O functions with your own ones operating on some kind of handle instead of integer descriptors. + * The handle is a void pointer, so you can pass any data you want... + * mpg123_open_handle() is the call you make to use the I/O defined here. + * There is no fallback to internal read/seek here. + * Note: As it would be troublesome to mess with this while having a file open, + * this mpg123_close() is implied here. + * \param r_read The callback for reading (behaviour like posix read). + * \param r_lseek The 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). */ +MPG123_EXPORT int mpg123_replace_reader_handle(mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*)); + +/* @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Resources/Info.plist b/Xcode/Frameworks/mpg123.framework/Versions/A/Resources/Info.plist similarity index 67% rename from Xcode/Frameworks/smpeg.framework/Versions/A/Resources/Info.plist rename to Xcode/Frameworks/mpg123.framework/Versions/A/Resources/Info.plist index 8110b2f8..840cc846 100644 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Resources/Info.plist +++ b/Xcode/Frameworks/mpg123.framework/Versions/A/Resources/Info.plist @@ -5,14 +5,20 @@ CFBundleDevelopmentRegion English CFBundleExecutable - smpeg + mpg123 + CFBundleGetInfoString + libmpg123 1.22.4 CFBundleInfoDictionaryVersion 6.0 + CFBundleName + mpg123 CFBundlePackageType FMWK + CFBundleShortVersionString + 1.22.4 CFBundleSignature ???? CFBundleVersion - 0.0.1d1 + 1.22.4 diff --git a/Xcode/Frameworks/mpg123.framework/Versions/A/Resources/LICENSE.mpg123.txt b/Xcode/Frameworks/mpg123.framework/Versions/A/Resources/LICENSE.mpg123.txt new file mode 100644 index 00000000..d7bb85fc --- /dev/null +++ b/Xcode/Frameworks/mpg123.framework/Versions/A/Resources/LICENSE.mpg123.txt @@ -0,0 +1,772 @@ +This is the file that contains the terms of use, copying, etc. for the mpg123 distribution package. + +Main message, to include in "About ..." boxes, etc: + + Copyright (c) 1995-2013 by Michael Hipp and others, + free software under the terms of the LGPL v2.1 + +There is an attempt to cover the actual list of authors in the AUTHORS file. +Project maintainer since 2006 is Thomas Orgis and many people have contributed +since the Michael Hipp era, but he stays the initial source and it would +be impractical to count them all individually, so it's "and others". +Source files contain the phrase "the mpg123 project" to the same effect +in their license boilerplate; especially those that were added after +maintainership changed. The person mainly responsible for the first version +is usually named in the phrase "initially written by ...". + +All files in the distribution that don't carry a license note on their own are +licensed under the terms of the LGPL 2.1; exceptions may apply, especially to +files not in the official distribution but in the revision control repository. + +The formal license text follows. + +======================= +1. The LGPL version 2.1 +======================= + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + +==================== +2. The GPL version 2 +==================== + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/Xcode/Frameworks/mpg123.framework/Versions/A/mpg123 b/Xcode/Frameworks/mpg123.framework/Versions/A/mpg123 new file mode 100755 index 0000000000000000000000000000000000000000..aedca1e873ea1516eceebe0c83ea68f335144a33 GIT binary patch literal 577844 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 B=z0JE literal 0 HcmV?d00001 diff --git a/Xcode/Frameworks/smpeg.framework/Versions/Current b/Xcode/Frameworks/mpg123.framework/Versions/Current similarity index 100% rename from Xcode/Frameworks/smpeg.framework/Versions/Current rename to Xcode/Frameworks/mpg123.framework/Versions/Current diff --git a/Xcode/Frameworks/mpg123.framework/mpg123 b/Xcode/Frameworks/mpg123.framework/mpg123 new file mode 120000 index 00000000..dcca0550 --- /dev/null +++ b/Xcode/Frameworks/mpg123.framework/mpg123 @@ -0,0 +1 @@ +Versions/Current/mpg123 \ No newline at end of file diff --git a/Xcode/Frameworks/smpeg.framework/LICENSE.smpeg.txt b/Xcode/Frameworks/smpeg.framework/LICENSE.smpeg.txt deleted file mode 100644 index 21096132..00000000 --- a/Xcode/Frameworks/smpeg.framework/LICENSE.smpeg.txt +++ /dev/null @@ -1,485 +0,0 @@ -The source code to this library used with SDL_mixer can be found here: -http://www.libsdl.org/projects/SDL_mixer/libs/ ---- - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEG.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEG.h deleted file mode 100644 index 977d12d4..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEG.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - - Modified by Michel Darricau from eProcess for popcorn - - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* A class used to parse and play MPEG streams */ - -#ifndef _MPEG_H_ -#define _MPEG_H_ - -#include -#include -#include - -#include "SDL.h" - -#include "MPEGerror.h" -#include "MPEGstream.h" -#include "MPEGaction.h" -#include "MPEGaudio.h" -#include "MPEGvideo.h" -#include "MPEGsystem.h" -#include "MPEGfilter.h" - -#define LENGTH_TO_CHECK_FOR_SYSTEM 0x50000 // Added by HanishKVC - -/* The main MPEG class - parses system streams and creates other streams - A few design notes: - Making this derived from MPEGstream allows us to do system stream - parsing. We create an additional MPEG object for each type of - stream in the MPEG file because each needs a separate pointer to - the MPEG data. The MPEG stream then creates an accessor object to - do all the data parsing for that stream type. It's a little odd, - but seemed like the best way to implement stream parsing. - */ -class MPEG : public MPEGerror -{ -public: - /* Michel Darricau from eProcess need for override in popcorn */ - MPEG():MPEGerror(){} - MPEG(bool Sdlaudio, char *addresse,char *asset,long buffersize){} - - MPEG(const char * name, bool SDLaudio = true); - MPEG(int Mpeg_FD, bool SDLaudio = true); - MPEG(void *data, int size, bool SDLaudio = true); - MPEG(SDL_RWops *mpeg_source,bool SDLaudio = true); - virtual ~MPEG(); - - /* Initialize the MPEG */ - void Init(SDL_RWops *mpeg_source, bool SDLaudio); - void InitErrorState(); - - /* Enable/Disable audio and video */ - bool AudioEnabled(void); - void EnableAudio(bool enabled); - bool VideoEnabled(void); - void EnableVideo(bool enabled); - - /* MPEG actions */ - void Loop(bool toggle); - /* Michel Darricau from eProcess need for override in popcorn */ - virtual void Play(void); - void Stop(void); - void Rewind(void); - /* Michel Darricau from eProcess need for override in popcorn */ - virtual void Pause(void); - virtual void Seek(int bytes); - void Skip(float seconds); - /* Michel Darricau from eProcess need for override in popcorn */ - MPEGstatus GetStatus(void); - void GetSystemInfo(MPEG_SystemInfo *info); - - /* MPEG audio actions */ - bool GetAudioInfo(MPEG_AudioInfo *info); - void Volume(int vol); - bool WantedSpec(SDL_AudioSpec *wanted); - void ActualSpec(const SDL_AudioSpec *actual); - MPEGaudio *GetAudio(void); - - /* MPEG video actions */ - bool GetVideoInfo(MPEG_VideoInfo *info); - bool SetDisplay(SDL_Surface *dst, SDL_mutex *lock, - MPEG_DisplayCallback callback); - void MoveDisplay(int x, int y); - void ScaleDisplayXY(int w, int h); - void SetDisplayRegion(int x, int y, int w, int h); - void RenderFrame(int frame); - void RenderFinal(SDL_Surface *dst, int x, int y); - SMPEG_Filter * Filter(SMPEG_Filter * filter); - -public: - /* We need to have separate audio and video streams */ - MPEGstream * audiostream; - MPEGstream * videostream; - - MPEGsystem * system; - -protected: - char *mpeg_mem; // Used to copy MPEG passed in as memory - SDL_RWops *source; - MPEGaudioaction *audioaction; - MPEGvideoaction *videoaction; - - MPEGaudio *audio; - MPEGvideo *video; - - bool audioaction_enabled; - bool videoaction_enabled; - - bool sdlaudio; - - bool loop; - bool pause; - - void parse_stream_list(); - bool seekIntoStream(int position); -}; - -#endif /* _MPEG_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaction.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaction.h deleted file mode 100644 index e807548f..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaction.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - - Modified by Michel Darricau from eProcess for popcorn - - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* A virtual class to provide basic MPEG playback actions */ - -#ifndef _MPEGACTION_H_ -#define _MPEGACTION_H_ - -#include "SDL.h" -#include "MPEGfilter.h" - -typedef enum { - MPEG_ERROR = -1, - MPEG_STOPPED, - MPEG_PLAYING -} MPEGstatus; - -class MPEGaction { -public: - MPEGaction() { - playing = false; - paused = false; - looping = false; - play_time = 0.0; - } - virtual void Loop(bool toggle) { - looping = toggle; - } - virtual double Time(void) { /* Returns the time in seconds since start */ - return play_time; - } - virtual void Play(void) = 0; - virtual void Stop(void) = 0; - virtual void Rewind(void) = 0; - virtual void ResetSynchro(double) = 0; - virtual void Skip(float seconds) = 0; - virtual void Pause(void) { /* A toggle action */ - if ( paused ) { - paused = false; - Play(); - } else { - Stop(); - paused = true; - } - } - /* Michel Darricau from eProcess conflict name in popcorn */ - virtual MPEGstatus GetStatus(void) = 0; - -protected: - bool playing; - bool paused; - bool looping; - double play_time; - - bool force_exit; - - void ResetPause(void) { - paused = false; - } -}; - -/* For getting info about the audio portion of the stream */ -typedef struct MPEG_AudioInfo { - int mpegversion; - int mode; - int frequency; - int layer; - int bitrate; - int current_frame; -} MPEG_AudioInfo; - -/* Audio action class */ -class MPEGaudioaction : public MPEGaction { -public: - virtual bool GetAudioInfo(MPEG_AudioInfo *info) { - return(true); - } - virtual void Volume(int vol) = 0; -}; - -/* Matches the declaration of SDL_UpdateRect() */ -typedef void(*MPEG_DisplayCallback)(SDL_Surface* dst, int x, int y, - unsigned int w, unsigned int h); - -/* For getting info about the video portion of the stream */ -typedef struct MPEG_VideoInfo { - int width; - int height; - int current_frame; - double current_fps; -} MPEG_VideoInfo; - -/* Video action class */ -class MPEGvideoaction : public MPEGaction { -public: - virtual void SetTimeSource(MPEGaudioaction *source) { - time_source = source; - } - virtual bool GetVideoInfo(MPEG_VideoInfo *info) { - return(false); - } - virtual bool SetDisplay(SDL_Surface *dst, SDL_mutex *lock, - MPEG_DisplayCallback callback) = 0; - virtual void MoveDisplay(int x, int y) = 0; - virtual void ScaleDisplayXY(int w, int h) = 0; - virtual void SetDisplayRegion(int x, int y, int w, int h) = 0; - virtual void RenderFrame(int frame) = 0; - virtual void RenderFinal(SDL_Surface *dst, int x, int y) = 0; - virtual SMPEG_Filter * Filter(SMPEG_Filter * filter) = 0; -protected: - MPEGaudioaction *time_source; -}; - - -/* For getting info about the system portion of the stream */ -typedef struct MPEG_SystemInfo { - int total_size; - int current_offset; - double total_time; - double current_time; -} MPEG_SystemInfo; - -#endif /* _MPEGACTION_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaudio.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaudio.h deleted file mode 100644 index 3f315d2a..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGaudio.h +++ /dev/null @@ -1,385 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - - Modified by Michel Darricau from eProcess for popcorn - - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* A class based on the MPEG stream class, used to parse and play audio */ - -#ifndef _MPEGAUDIO_H_ -#define _MPEGAUDIO_H_ - -#include "SDL.h" -#include "MPEGerror.h" -#include "MPEGaction.h" - -#ifdef THREADED_AUDIO -#include "MPEGring.h" -#endif - -void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len); -#ifdef THREADED_AUDIO - int Decode_MPEGaudio(void *udata); -#endif - -class MPEGstream; - -/* MPEG/WAVE Sound library - (C) 1997 by Woo-jae Jung */ - -/**************************/ -/* Define values for MPEG */ -/**************************/ -#define SCALEBLOCK 12 -#define CALCBUFFERSIZE 512 -#define MAXSUBBAND 32 -#define MAXCHANNEL 2 -#define MAXTABLE 2 -#define SCALE 32768 -#define MAXSCALE (SCALE-1) -#define MINSCALE (-SCALE) -#define RAWDATASIZE (2*2*32*SSLIMIT) - -#define LS 0 -#define RS 1 - -#define SSLIMIT 18 -#define SBLIMIT 32 - -#define WINDOWSIZE 4096 - -// Huffmancode -#define HTN 34 - -/********************/ -/* Type definitions */ -/********************/ -typedef float REAL; - -typedef struct -{ - bool generalflag; - unsigned int part2_3_length; - unsigned int big_values; - unsigned int global_gain; - unsigned int scalefac_compress; - unsigned int window_switching_flag; - unsigned int block_type; - unsigned int mixed_block_flag; - unsigned int table_select[3]; - unsigned int subblock_gain[3]; - unsigned int region0_count; - unsigned int region1_count; - unsigned int preflag; - unsigned int scalefac_scale; - unsigned int count1table_select; -}layer3grinfo; - -typedef struct -{ - unsigned main_data_begin; - unsigned private_bits; - struct - { - unsigned scfsi[4]; - layer3grinfo gr[2]; - }ch[2]; -}layer3sideinfo; - -typedef struct -{ - int l[23]; /* [cb] */ - int s[3][13]; /* [window][cb] */ -}layer3scalefactor; /* [ch] */ - -typedef struct -{ - int tablename; - unsigned int xlen,ylen; - unsigned int linbits; - unsigned int treelen; - const unsigned int (*val)[2]; -}HUFFMANCODETABLE; - - -// Class for Mpeg layer3 -class Mpegbitwindow -{ -public: - Mpegbitwindow(){bitindex=point=0;}; - - void initialize(void) {bitindex=point=0;}; - int gettotalbit(void) const {return bitindex;}; - void putbyte(int c) {buffer[point&(WINDOWSIZE-1)]=c;point++;}; - void wrap(void); - void rewind(int bits) {bitindex-=bits;}; - void forward(int bits) {bitindex+=bits;}; - int getbit(void) { - register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1; - bitindex++; - return r; - } - int getbits9(int bits) - { - register unsigned short a; - { int offset=bitindex>>3; - - a=(((unsigned char)buffer[offset])<<8) | ((unsigned char)buffer[offset+1]); - } - a<<=(bitindex&7); - bitindex+=bits; - return (int)((unsigned int)(a>>(16-bits))); - } - int getbits(int bits); - -private: - int point,bitindex; - char buffer[2*WINDOWSIZE]; -}; - -/* The actual MPEG audio class */ -class MPEGaudio : public MPEGerror, public MPEGaudioaction { - -public: - MPEGaudio(MPEGstream *stream, bool initSDL = true); - virtual ~MPEGaudio(); - - /* MPEG actions */ - bool GetAudioInfo(MPEG_AudioInfo *info); - double Time(void); - void Play(void); - void Stop(void); - void Rewind(void); - void ResetSynchro(double time); - void Skip(float seconds); - void Volume(int vol); - /* Michel Darricau from eProcess conflict name in popcorn */ - MPEGstatus GetStatus(void); - - /* Returns the desired SDL audio spec for this stream */ - bool WantedSpec(SDL_AudioSpec *wanted); - - /* Inform SMPEG of the actual audio format if configuring SDL - outside of this class */ - void ActualSpec(const SDL_AudioSpec *actual); - -protected: - bool sdl_audio; - MPEGstream *mpeg; - int valid_stream; - bool stereo; - double rate_in_s; - Uint32 frags_playing; - Uint32 frag_time; -#ifdef THREADED_AUDIO - bool decoding; - SDL_Thread *decode_thread; - - void StartDecoding(void); - void StopDecoding(void); -#endif - -/* Code from splay 1.8.2 */ - - /*****************************/ - /* Constant tables for layer */ - /*****************************/ -private: - static const int bitrate[2][3][15],frequencies[2][3]; - static const REAL scalefactorstable[64]; - static const HUFFMANCODETABLE ht[HTN]; - static const REAL filter[512]; - static REAL hcos_64[16],hcos_32[8],hcos_16[4],hcos_8[2],hcos_4; - - /*************************/ - /* MPEG header variables */ - /*************************/ -private: - int last_speed; - int layer,protection,bitrateindex,padding,extendedmode; - enum _mpegversion {mpeg1,mpeg2} version; - enum _mode {fullstereo,joint,dual,single} mode; - enum _frequency {frequency44100,frequency48000,frequency32000} frequency; - - /***************************************/ - /* Interface for setting music quality */ - /***************************************/ -private: - bool forcetomonoflag; - bool forcetostereoflag; - bool swapendianflag; - int downfrequency; - -public: - void setforcetomono(bool flag); - void setdownfrequency(int value); - - /******************************/ - /* Frame management variables */ - /******************************/ -private: - int decodedframe,currentframe,totalframe; - - /***************************************/ - /* Variables made by MPEG-Audio header */ - /***************************************/ -private: - int tableindex,channelbitrate; - int stereobound,subbandnumber,inputstereo,outputstereo; - REAL scalefactor; - int framesize; - - /*******************/ - /* Mpegtoraw class */ - /*******************/ -public: - void initialize(); - bool run(int frames, double *timestamp = NULL); - void clearbuffer(void); - - /*****************************/ - /* Loading MPEG-Audio stream */ - /*****************************/ -private: - Uint8 _buffer[4096]; - Uint32 _buffer_pos; - int bitindex; - bool fillbuffer(int size); - void sync(void); - bool issync(void); - int getbyte(void); - int getbit(void); - int getbits8(void); - int getbits9(int bits); - int getbits(int bits); - - - /********************/ - /* Global variables */ - /********************/ -private: - int lastfrequency,laststereo; - - // for Layer3 - int layer3slots,layer3framestart,layer3part2start; - REAL prevblck[2][2][SBLIMIT][SSLIMIT]; - int currentprevblock; - layer3sideinfo sideinfo; - layer3scalefactor scalefactors[2]; - - Mpegbitwindow bitwindow; - int wgetbit (void) {return bitwindow.getbit (); } - int wgetbits9(int bits){return bitwindow.getbits9(bits);} - int wgetbits (int bits){return bitwindow.getbits (bits);} - - - /*************************************/ - /* Decoding functions for each layer */ - /*************************************/ -private: - bool loadheader(void); - - // - // Subbandsynthesis - // - REAL calcbufferL[2][CALCBUFFERSIZE],calcbufferR[2][CALCBUFFERSIZE]; - int currentcalcbuffer,calcbufferoffset; - - void computebuffer(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE]); - void generatesingle(void); - void generate(void); - void subbandsynthesis(REAL *fractionL,REAL *fractionR); - - void computebuffer_2(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE]); - void generatesingle_2(void); - void generate_2(void); - void subbandsynthesis_2(REAL *fractionL,REAL *fractionR); - - // Extarctor - void extractlayer1(void); // MPEG-1 - void extractlayer2(void); - void extractlayer3(void); - void extractlayer3_2(void); // MPEG-2 - - - // Functions for layer 3 - void layer3initialize(void); - bool layer3getsideinfo(void); - bool layer3getsideinfo_2(void); - void layer3getscalefactors(int ch,int gr); - void layer3getscalefactors_2(int ch); - void layer3huffmandecode(int ch,int gr,int out[SBLIMIT][SSLIMIT]); - REAL layer3twopow2(int scale,int preflag,int pretab_offset,int l); - REAL layer3twopow2_1(int a,int b,int c); - void layer3dequantizesample(int ch,int gr,int in[SBLIMIT][SSLIMIT], - REAL out[SBLIMIT][SSLIMIT]); - void layer3fixtostereo(int gr,REAL in[2][SBLIMIT][SSLIMIT]); - void layer3reorderandantialias(int ch,int gr,REAL in[SBLIMIT][SSLIMIT], - REAL out[SBLIMIT][SSLIMIT]); - - void layer3hybrid(int ch,int gr,REAL in[SBLIMIT][SSLIMIT], - REAL out[SSLIMIT][SBLIMIT]); - - void huffmandecoder_1(const HUFFMANCODETABLE *h,int *x,int *y); - void huffmandecoder_2(const HUFFMANCODETABLE *h,int *x,int *y,int *v,int *w); - - /********************/ - /* Playing raw data */ - /********************/ -private: - int samplesperframe; - int rawdatareadoffset, rawdatawriteoffset; - Sint16 *rawdata; -#ifdef THREADED_AUDIO - MPEG_ring *ring; -#else - Sint16 spillover[ RAWDATASIZE ]; -#endif - int volume; - - void clearrawdata(void) { - rawdatareadoffset=0; - rawdatawriteoffset=0; - rawdata=NULL; - } - void putraw(short int pcm) {rawdata[rawdatawriteoffset++]=pcm;} - - /********************/ - /* Timestamp sync */ - /********************/ -public: -#define N_TIMESTAMPS 5 - - double timestamp[N_TIMESTAMPS]; - - /* Functions which access MPEGaudio internals */ - friend void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len); - friend int Play_MPEGaudio(MPEGaudio *audio, Uint8 *stream, int len); -#ifdef THREADED_AUDIO - friend int Decode_MPEGaudio(void *udata); -#endif -}; - -/* Need to duplicate the prototypes, this is not a typo :) */ -void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len); -int Play_MPEGaudio(MPEGaudio *audio, Uint8 *stream, int len); -#ifdef THREADED_AUDIO -int Decode_MPEGaudio(void *udata); -#endif - -#endif /* _MPEGAUDIO_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGerror.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGerror.h deleted file mode 100644 index 3ec5f4be..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGerror.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* A class used for error reporting in the MPEG classes */ - -#ifndef _MPEGERROR_H_ -#define _MPEGERROR_H_ - -#include -#include - -class MPEGerror { -public: - MPEGerror() { - ClearError(); - } - - /* Set an error message */ - void SetError(const char *fmt, ...) { - va_list ap; - - va_start(ap, fmt); - vsprintf(errbuf, fmt, ap); - va_end(ap); - error = errbuf; - } - - /* Find out if an error occurred */ - bool WasError(void) { - return(error != NULL); - } - char *TheError(void) { - return(error); - } - - /* Clear any error message */ - void ClearError(void) { - error = NULL; - } - -protected: - char errbuf[512]; - char *error; -}; - -#endif /* _MPEGERROR_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGfilter.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGfilter.h deleted file mode 100644 index 971c7c7c..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGfilter.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* MPEG filters */ - -#ifndef _MPEGFILTER_H_ -#define _MPEGFILTER_H_ - -/* SMPEG filter info flags */ -#define SMPEG_FILTER_INFO_MB_ERROR 1 -#define SMPEG_FILTER_INFO_PIXEL_ERROR 2 - -/* Filter info from SMPEG */ -typedef struct SMPEG_FilterInfo { - Uint16* yuv_mb_square_error; - Uint16* yuv_pixel_square_error; -} SMPEG_FilterInfo; - -/* MPEG filter definition */ -struct SMPEG_Filter; - -/* Callback functions for the filter */ -typedef void (* SMPEG_FilterCallback)( SDL_Overlay * dest, SDL_Overlay * source, SDL_Rect * region, SMPEG_FilterInfo * filter_info, void * data ); -typedef void (* SMPEG_FilterDestroy)( struct SMPEG_Filter * filter ); - -/* The filter definition itself */ -typedef struct SMPEG_Filter { - Uint32 flags; - void * data; - SMPEG_FilterCallback callback; - SMPEG_FilterDestroy destroy; -} SMPEG_Filter; - -/* SMPEG built-in filters. */ -#ifdef __cplusplus -extern "C" { -#endif - -/* The null filter (default). It simply copies the source rectangle to the video overlay. */ -extern DECLSPEC SMPEG_Filter * SMPEGfilter_null(void); - -/* The bilinear filter. A basic low-pass filter that will produce a smoother image. */ -extern DECLSPEC SMPEG_Filter * SMPEGfilter_bilinear(void); - -/* The deblocking filter. It filters block borders and non-intra coded blocks to reduce blockiness */ -extern DECLSPEC SMPEG_Filter * SMPEGfilter_deblocking(void); - -#ifdef __cplusplus -}; -#endif -#endif /* _MPEGFILTER_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGlist.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGlist.h deleted file mode 100644 index 3a58a5f5..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGlist.h +++ /dev/null @@ -1,45 +0,0 @@ -/* bufferlist.h */ - -/* A class for buffering the I/O and allow multiple streams to read the data - asynchronously */ - -#ifndef _MPEGLIST_H_ -#define _MPEGLIST_H_ - -#include "SDL.h" - -class MPEGlist { -public: - MPEGlist(); - ~MPEGlist(); - - /* Get to the next free buffer or allocate a new one if none is free */ - MPEGlist * Alloc(Uint32 Buffer_Size); - - /* Lock current buffer */ - void Lock(); - - /* Unlock current buffer */ - void Unlock(); - - /* Get the buffer */ - inline void * Buffer() { return(data); }; - - inline Uint32 Size() { return(size); }; - - inline MPEGlist * Next() { return(next); }; - - inline MPEGlist * Prev() { return(prev); }; - - inline Uint32 IsLocked() { return(lock); }; - - double TimeStamp; - -private: - class MPEGlist * next; - class MPEGlist * prev; - Uint32 lock; - Uint8 * data; - Uint32 size; -}; -#endif diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGring.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGring.h deleted file mode 100644 index 89172acd..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGring.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* A ring-buffer class for multi-threaded applications. - This assumes a single reader and a single writer, with blocking reads. - */ - -#ifndef _MPEGRING_H -#define _MPEGRING_H - -#include "SDL_types.h" -#include "SDL_thread.h" - -class MPEG_ring { -public: - /* Create a ring with 'count' buffers, each 'size' bytes long */ - MPEG_ring(Uint32 size, Uint32 count = 16); - - /* Release any waiting threads on the ring so they can be cleaned up. - The ring isn't valid after this call, so when threads are done you - should call MPRing_sdelete() on the ring. - */ - void ReleaseThreads(void); - - /* Destroy a ring after all threads are no longer using it */ - virtual ~MPEG_ring(); - - /* Returns the maximum size of each buffer */ - Uint32 BufferSize( void ) { - return(bufSize); - } - /* Returns how many buffers have available data */ - int BuffersWritten(void) { - return(SDL_SemValue(ring->readwait)); - } - - /* Reserve a buffer for writing in the ring */ - Uint8 *NextWriteBuffer( void ); - - /* Release a buffer, written to in the ring */ - void WriteDone( Uint32 len, double timestamp=-1 ); - - /* Reserve a buffer for reading in the ring */ - Uint32 NextReadBuffer( Uint8** buffer ); - - /* Read the timestamp of the current buffer */ - double ReadTimeStamp(void); - - /* Release a buffer having read some of it */ - void ReadSome( Uint32 used ); - - /* Release a buffer having read all of it */ - void ReadDone( void ); - -protected: - MPEG_ring *ring; /* Converted from C code, an alias for 'this' */ - - /* read only */ - Uint32 bufSize; - - /* private */ - Uint8 *begin; - Uint8 *end; - - double *timestamps; - double *timestamp_read; - double *timestamp_write; - - Uint8 *read; - Uint8 *write; - - /* For read/write synchronization */ - int active; - SDL_semaphore *readwait; - SDL_semaphore *writewait; -}; - -#endif /* _MPEGRING_H */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGstream.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGstream.h deleted file mode 100644 index b96c6315..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGstream.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* The generic MPEG stream class */ - -#ifndef _MPEGSTREAM_H_ -#define _MPEGSTREAM_H_ - -#include "SDL_types.h" -#include "MPEGerror.h" -#include "MPEGvideo.h" -#include "MPEGaudio.h" -#include "MPEGlist.h" - -#define AUDIO_STREAMID 0xc0 -#define VIDEO_STREAMID 0xe0 -#define SYSTEM_STREAMID 0xbb - -struct MPEGstream_marker -{ - /* Data to mark part of the stream */ - MPEGlist * marked_buffer; - Uint8 *marked_data; - Uint8 *marked_stop; -}; - -class MPEGstream -{ -public: - MPEGstream(class MPEGsystem * System, Uint8 Streamid); - ~MPEGstream(); - - /* Cleanup the buffers and reset the stream */ - void reset_stream(void); - - /* Rewind the stream */ - void rewind_stream(void); - - /* Go to the next packet in the stream */ - bool next_packet(bool recurse = true, bool update_timestamp = true); - - /* Mark a position in the data stream */ - MPEGstream_marker *new_marker(int offset); - - /* Jump to the marked position */ - bool seek_marker(MPEGstream_marker const * marker); - - /* Jump to last successfully marked position */ - void delete_marker(MPEGstream_marker * marker); - - /* Copy data from the stream to a local buffer */ - Uint32 copy_data(Uint8 *area, Sint32 size, bool short_read = false); - - /* Copy a byte from the stream */ - int copy_byte(void); - - /* Check for end of file or an error in the stream */ - bool eof(void) const; - - /* Insert a new packet at the end of the stream */ - void insert_packet(Uint8 * data, Uint32 size, double timestamp=-1); - - /* Check for unused buffers and free them */ - void garbage_collect(void); - - /* Enable or disable the stream */ - void enable(bool toggle); - - /* Get stream time */ - double time(); - - Uint32 pos; - - Uint8 streamid; - -protected: - Uint8 *data; - Uint8 *stop; - - Uint32 preread_size; - - class MPEGsystem * system; - MPEGlist * br; - bool cleareof; - bool enabled; - - SDL_mutex * mutex; - - /* Get a buffer from the stream */ - bool next_system_buffer(void); - -public: - /* "pos" where "timestamp" belongs */ - Uint32 timestamp_pos; - double timestamp; -}; - -#endif /* _MPEGSTREAM_H_ */ - - diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGsystem.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGsystem.h deleted file mode 100644 index 823b679d..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGsystem.h +++ /dev/null @@ -1,117 +0,0 @@ -/* A class based on the MPEG stream class, used to parse the system stream */ - -/* - Modified by Michel Darricau from eProcess for popcorn - */ - -#ifndef _MPEGSYSTEM_H_ -#define _MPEGSYSTEM_H_ -#define USE_SYSTEM_TIMESTAMP - -#include "SDL.h" -#include "SDL_thread.h" -#include "MPEGerror.h" - -class MPEGstream; - -/* MPEG System library - by Vivien Chappelier */ - -/* The system class is necessary for splitting the MPEG stream into */ -/* peaces of data that will be sent to the audio or video decoder. */ - -class MPEGsystem : public MPEGerror -{ -public: - /* Michel Darricau from eProcess need for override in popcorn */ - MPEGsystem() {} - MPEGsystem(SDL_RWops *mpeg_source); - virtual ~MPEGsystem(); - - /* Buffered I/O functions */ - void RequestBuffer(); - bool Wait(); - Uint32 Tell(); - void Rewind(); - /* Michel Darricau from eProcess need for override in popcorn */ - virtual void Start(); - void Stop(); - bool Eof() const; - /* Michel Darricau from eProcess need for override in popcorn */ - virtual bool Seek(int length); - virtual Uint32 TotalSize(); - virtual double TotalTime(); - virtual double TimeElapsedAudio(int atByte); - - /* Skip "seconds" seconds */ - void Skip(double seconds); - - /* Create all the streams present in the MPEG */ - MPEGstream ** GetStreamList(); - - /* Insert a stream in the list */ - void add_stream(MPEGstream * stream); - - /* Search for a stream in the list */ - MPEGstream * get_stream(Uint8 stream_id); - - /* Test if a stream is in the list */ - Uint8 exist_stream(Uint8 stream_id, Uint8 mask); - - /* Reset all the system streams */ - void reset_all_streams(); - - /* Set eof for all streams */ - void end_all_streams(); - - /* Michel Darricau from eProcess need for override in popcorn */ - /* Seek the first header */ - virtual bool seek_first_header(); - - /* Michel Darricau from eProcess need for override in popcorn */ - /* Seek the next header */ - virtual bool seek_next_header(); - -protected: - /* Run the loop to fill the stream buffers */ - static bool SystemLoop(MPEGsystem *system); - - /* Michel Darricau from eProcess need for override in popcorn */ - /* Fill a buffer */ - virtual Uint8 FillBuffer(); - - /* Read a new packet */ - virtual void Read(); - - /* The system thread which fills the FIFO */ - static int SystemThread(void * udata); - - SDL_RWops *source; - - SDL_Thread * system_thread; - bool system_thread_running; - - MPEGstream ** stream_list; - - Uint8 * read_buffer; - Uint8 * pointer; - int read_size; - Uint32 read_total; - Uint32 packet_total; - int request; - SDL_semaphore * request_wait; - SDL_mutex * system_mutex; - - bool endofstream; - bool errorstream; - - double frametime; - double stream_timestamp; - -#ifdef USE_SYSTEM_TIMESTAMP - /* Current timestamp for this stream */ - double timestamp; - double timedrift; - double skip_timestamp; -#endif -}; -#endif - diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGvideo.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGvideo.h deleted file mode 100644 index a1872e95..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/MPEGvideo.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - - Modified by Michel Darricau from eProcess for popcorn - - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* A class based on the MPEG stream class, used to parse and play video */ - -#ifndef _MPEGVIDEO_H_ -#define _MPEGVIDEO_H_ - -#include "SDL.h" -#include "SDL_thread.h" -#include "MPEGerror.h" -#include "MPEGaction.h" - -class MPEGstream; - -/* This is the MPEG video stream structure in the mpeg_play code */ -struct vid_stream; -typedef struct vid_stream VidStream; - -/* Temporary definition of time stamp structure. */ - -typedef double TimeStamp; - -class MPEGvideo : public MPEGerror, public MPEGvideoaction { - - /* Thread to play the video asynchronously */ - friend int Play_MPEGvideo(void *udata); - - /* Various mpeg_play functions that need our data */ - friend VidStream* mpegVidRsrc( TimeStamp time_stamp, VidStream* vid_stream, int first ); - friend int get_more_data( VidStream* vid_stream ); - -public: - MPEGvideo(MPEGstream *stream); - virtual ~MPEGvideo(); - - /* MPEG actions */ - void Play(void); - void Stop(void); - void Rewind(void); - void ResetSynchro(double time); - void Skip(float seconds); - /* Michel Darricau from eProcess conflict name in popcorn */ - MPEGstatus GetStatus(void); - - /* MPEG video actions */ - bool GetVideoInfo(MPEG_VideoInfo *info); - bool SetDisplay(SDL_Surface *dst, SDL_mutex *lock, - MPEG_DisplayCallback callback); - void MoveDisplay(int x, int y); - void ScaleDisplayXY(int w, int h); - void SetDisplayRegion(int x, int y, int w, int h); - void RenderFrame(int frame); - void RenderFinal(SDL_Surface *dst, int x, int y); - SMPEG_Filter * Filter(SMPEG_Filter * filter); - - /* Display and sync functions */ - void DisplayFrame( VidStream* vid_stream ); - void ExecuteDisplay( VidStream* vid_stream ); - int timeSync( VidStream* vid_stream ); - - /* Yes, it's a hack.. */ - MPEGaudioaction *TimeSource(void ) { - return time_source; - } - -protected: - MPEGstream *mpeg; - - VidStream* _stream; - SDL_Surface* _dst; - SDL_mutex* _mutex; - SDL_Thread* _thread; - - MPEG_DisplayCallback _callback; - - int _ow; // original width of the movie - int _oh; // original height of the movie - int _w; // mb aligned width of the movie - int _h; // mb aligned height of the movie - SDL_Rect _srcrect; // source area - SDL_Rect _dstrect; // display area - SDL_Overlay *_image;// source image - float _fps; // frames per second - SMPEG_Filter * _filter; // pointer to the current filter used - SDL_mutex* _filter_mutex; // make sure the filter is not changed while being used - - void RewindStream(void); -}; - -#endif /* _MPEGVIDEO_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/smpeg.h b/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/smpeg.h deleted file mode 100644 index 378fbbc0..00000000 --- a/Xcode/Frameworks/smpeg.framework/Versions/A/Headers/smpeg.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - SMPEG - SDL MPEG Player Library - Copyright (C) 1999 Loki Entertainment Software - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/* This is the C interface to the SMPEG library */ - -#ifndef _SMPEG_H_ -#define _SMPEG_H_ - -#include "SDL.h" -#include "SDL_mutex.h" -#include "SDL_audio.h" - -#include "MPEGfilter.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define SMPEG_MAJOR_VERSION 0 -#define SMPEG_MINOR_VERSION 4 -#define SMPEG_PATCHLEVEL 5 - -typedef struct { - Uint8 major; - Uint8 minor; - Uint8 patch; -} SMPEG_version; - -/* This macro can be used to fill a version structure with the compile-time - * version of the SDL library. - */ -#define SMPEG_VERSION(X) \ -{ \ - (X)->major = SMPEG_MAJOR_VERSION; \ - (X)->minor = SMPEG_MINOR_VERSION; \ - (X)->patch = SMPEG_PATCHLEVEL; \ -} - -/* This is the actual SMPEG object */ -typedef struct _SMPEG SMPEG; - -/* Used to get information about the SMPEG object */ -typedef struct _SMPEG_Info { - int has_audio; - int has_video; - int width; - int height; - int current_frame; - double current_fps; - char audio_string[80]; - int audio_current_frame; - Uint32 current_offset; - Uint32 total_size; - double current_time; - double total_time; -} SMPEG_Info; - -/* Possible MPEG status codes */ -typedef enum { - SMPEG_ERROR = -1, - SMPEG_STOPPED, - SMPEG_PLAYING -} SMPEGstatus; - - -/* Matches the declaration of SDL_UpdateRect() */ -typedef void(*SMPEG_DisplayCallback)(SDL_Surface* dst, int x, int y, - unsigned int w, unsigned int h); - -/* Create a new SMPEG object from an MPEG file. - On return, if 'info' is not NULL, it will be filled with information - about the MPEG object. - This function returns a new SMPEG object. Use SMPEG_error() to find out - whether or not there was a problem building the MPEG stream. - The sdl_audio parameter indicates if SMPEG should initialize the SDL audio - subsystem. If not, you will have to use the SMPEG_playaudio() function below - to extract the decoded data. - */ -extern DECLSPEC SMPEG* SMPEG_new(const char *file, SMPEG_Info* info, int sdl_audio); - -/* The same as above for a file descriptor */ -extern DECLSPEC SMPEG* SMPEG_new_descr(int file, SMPEG_Info* info, int sdl_audio); - -/* - The same as above but for a raw chunk of data. SMPEG makes a copy of the - data, so the application is free to delete after a successful call to this - function. - */ -extern DECLSPEC SMPEG* SMPEG_new_data(void *data, int size, SMPEG_Info* info, int sdl_audio); - -/* The same for a generic SDL_RWops structure. */ -extern DECLSPEC SMPEG* SMPEG_new_rwops(SDL_RWops *src, SMPEG_Info* info, int sdl_audio); - -/* Get current information about an SMPEG object */ -extern DECLSPEC void SMPEG_getinfo( SMPEG* mpeg, SMPEG_Info* info ); - -/* Enable or disable audio playback in MPEG stream */ -extern DECLSPEC void SMPEG_enableaudio( SMPEG* mpeg, int enable ); - -/* Enable or disable video playback in MPEG stream */ -extern DECLSPEC void SMPEG_enablevideo( SMPEG* mpeg, int enable ); - -/* Delete an SMPEG object */ -extern DECLSPEC void SMPEG_delete( SMPEG* mpeg ); - -/* Get the current status of an SMPEG object */ -extern DECLSPEC SMPEGstatus SMPEG_status( SMPEG* mpeg ); - -/* Set the audio volume of an MPEG stream, in the range 0-100 */ -extern DECLSPEC void SMPEG_setvolume( SMPEG* mpeg, int volume ); - -/* Set the destination surface for MPEG video playback - 'surfLock' is a mutex used to synchronize access to 'dst', and can be NULL. - 'callback' is a function called when an area of 'dst' needs to be updated. - If 'callback' is NULL, the default function (SDL_UpdateRect) will be used. -*/ -extern DECLSPEC void SMPEG_setdisplay(SMPEG* mpeg, SDL_Surface* dst, SDL_mutex* surfLock, - SMPEG_DisplayCallback callback); - -/* Set or clear looping play on an SMPEG object */ -extern DECLSPEC void SMPEG_loop( SMPEG* mpeg, int repeat ); - -/* Scale pixel display on an SMPEG object */ -extern DECLSPEC void SMPEG_scaleXY( SMPEG* mpeg, int width, int height ); -extern DECLSPEC void SMPEG_scale( SMPEG* mpeg, int scale ); -/* */ -#define SMPEG_double(mpeg, on) \ - SMPEG_scale(mpeg, (on) ? 2 : 1) - -/* Move the video display area within the destination surface */ -extern DECLSPEC void SMPEG_move( SMPEG* mpeg, int x, int y ); - -/* Set the region of the video to be shown */ -extern DECLSPEC void SMPEG_setdisplayregion(SMPEG* mpeg, int x, int y, int w, int h); - -/* Play an SMPEG object */ -extern DECLSPEC void SMPEG_play( SMPEG* mpeg ); - -/* Pause/Resume playback of an SMPEG object */ -extern DECLSPEC void SMPEG_pause( SMPEG* mpeg ); - -/* Stop playback of an SMPEG object */ -extern DECLSPEC void SMPEG_stop( SMPEG* mpeg ); - -/* Rewind the play position of an SMPEG object to the beginning of the MPEG */ -extern DECLSPEC void SMPEG_rewind( SMPEG* mpeg ); - -/* Seek 'bytes' bytes in the MPEG stream */ -extern DECLSPEC void SMPEG_seek( SMPEG* mpeg, int bytes); - -/* Skip 'seconds' seconds in the MPEG stream */ -extern DECLSPEC void SMPEG_skip( SMPEG* mpeg, float seconds ); - -/* Render a particular frame in the MPEG video - API CHANGE: This function no longer takes a target surface and position. - Use SMPEG_setdisplay() and SMPEG_move() to set this information. -*/ -extern DECLSPEC void SMPEG_renderFrame( SMPEG* mpeg, int framenum ); - -/* Render the last frame of an MPEG video */ -extern DECLSPEC void SMPEG_renderFinal( SMPEG* mpeg, SDL_Surface* dst, int x, int y ); - -/* Set video filter */ -extern DECLSPEC SMPEG_Filter * SMPEG_filter( SMPEG* mpeg, SMPEG_Filter * filter ); - -/* Return NULL if there is no error in the MPEG stream, or an error message - if there was a fatal error in the MPEG stream for the SMPEG object. -*/ -extern DECLSPEC char *SMPEG_error( SMPEG* mpeg ); - -/* Exported callback function for audio playback. - The function takes a buffer and the amount of data to fill, and returns - the amount of data in bytes that was actually written. This will be the - amount requested unless the MPEG audio has finished. -*/ -extern DECLSPEC int SMPEG_playAudio( SMPEG *mpeg, Uint8 *stream, int len ); - -/* Wrapper for SMPEG_playAudio() that can be passed to SDL and SDL_mixer -*/ -extern DECLSPEC void SMPEG_playAudioSDL( void *mpeg, Uint8 *stream, int len ); - -/* Get the best SDL audio spec for the audio stream */ -extern DECLSPEC int SMPEG_wantedSpec( SMPEG *mpeg, SDL_AudioSpec *wanted ); - -/* Inform SMPEG of the actual SDL audio spec used for sound playback */ -extern DECLSPEC void SMPEG_actualSpec( SMPEG *mpeg, SDL_AudioSpec *spec ); - -#ifdef __cplusplus -} -#endif -#endif /* _SMPEG_H_ */ diff --git a/Xcode/Frameworks/smpeg.framework/Versions/A/smpeg b/Xcode/Frameworks/smpeg.framework/Versions/A/smpeg deleted file mode 100755 index 8c2152583b0209ae4ac96c8c7f57082c474ae173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 528360 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

oqR|CHObeCN;aMMNWNiN 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 WpTGZne)H= $min_smpeg_version) - no_smpeg="" - if test "$SMPEG_CONFIG" = "no" ; then - no_smpeg=yes - else - SMPEG_CFLAGS=`$SMPEG_CONFIG $smpegconf_args --cflags` - SMPEG_LIBS=`$SMPEG_CONFIG $smpegconf_args --libs` - - smpeg_major_version=`$SMPEG_CONFIG $smpeg_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - smpeg_minor_version=`$SMPEG_CONFIG $smpeg_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - smpeg_micro_version=`$SMPEG_CONFIG $smpeg_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_smpegtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SMPEG_CFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SMPEG_LIBS $SDL_LIBS" -dnl -dnl Now check if the installed SMPEG is sufficiently new. (Also sanity -dnl checks the results of smpeg-config to some extent -dnl - rm -f conf.smpegtest - AC_TRY_RUN([ -#include -#include -#include -#include "smpeg.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.smpegtest"); - */ - { FILE *fp = fopen("conf.smpegtest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_smpeg_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_smpeg_version"); - exit(1); - } - - if (($smpeg_major_version > major) || - (($smpeg_major_version == major) && ($smpeg_minor_version > minor)) || - (($smpeg_major_version == major) && ($smpeg_minor_version == minor) && ($smpeg_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'smpeg-config --version' returned %d.%d.%d, but the minimum version\n", $smpeg_major_version, $smpeg_minor_version, $smpeg_micro_version); - printf("*** of SMPEG required is %d.%d.%d. If smpeg-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If smpeg-config was wrong, set the environment variable SMPEG_CONFIG\n"); - printf("*** to point to the correct copy of smpeg-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - -],, no_smpeg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_smpeg" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$SMPEG_CONFIG" = "no" ; then - echo "*** The smpeg-config script installed by SMPEG could not be found" - echo "*** If SMPEG was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SMPEG_CONFIG environment variable to the" - echo "*** full path to smpeg-config." - else - if test -f conf.smpegtest ; then - : - else - echo "*** Could not run SMPEG test program, checking why..." - CFLAGS="$CFLAGS $SMPEG_CFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SMPEG_LIBS $SDL_LIBS" - AC_TRY_LINK([ -#include -#include "smpeg.h" -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SMPEG or finding the wrong" - echo "*** version of SMPEG. If it is not finding SMPEG, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SMPEG was incorrectly installed" - echo "*** or that you have moved SMPEG since it was installed. In the latter case, you" - echo "*** may want to edit the smpeg-config script: $SMPEG_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SMPEG_CFLAGS="" - SMPEG_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(SMPEG_CFLAGS) - AC_SUBST(SMPEG_LIBS) - rm -f conf.smpegtest -]) diff --git a/aclocal.m4 b/aclocal.m4 index 45a97952..3feef6ba 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -8177,6 +8177,99 @@ AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) +############################################################################## +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 4 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) ############################################################################## # Helper functions for option handling. -*- Autoconf -*- # @@ -8697,99 +8790,6 @@ _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) -############################################################################## -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 4 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . @@ -9150,174 +9150,3 @@ int main(int argc, char *argv[]) AC_SUBST(SDL_LIBS) rm -f conf.sdltest ]) -############################################################################## -# Configure paths for SMPEG -# Nicolas Vignal 11/19/2000 -# stolen from Sam Lantinga -# stolen from Manish Singh -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -dnl AM_PATH_SMPEG([MINIMUM-VERSION, [ACTION-IF-FOUND [, -ACTION-IF-NOT-FOUND]]]) -dnl Test for SMPEG, and define SMPEG_CFLAGS and SMPEG_LIBS -dnl -AC_DEFUN([AM_PATH_SMPEG], -[dnl -dnl Get the cflags and libraries from the smpeg-config script -dnl -AC_ARG_WITH(smpeg-prefix,[ --with-smpeg-prefix=PFX Prefix where SMPEG is installed (optional)], - smpeg_prefix="$withval", smpeg_prefix="") -AC_ARG_WITH(smpeg-exec-prefix,[ --with-smpeg-exec-prefix=PFX Exec prefix where SMPEG is installed (optional)], - smpeg_exec_prefix="$withval", smpeg_exec_prefix="") -AC_ARG_ENABLE(smpegtest, [ --disable-smpegtest Do not try to compile and run a test SMPEG program], - , enable_smpegtest=yes) - - if test x$smpeg_exec_prefix != x ; then - smpeg_args="$smpeg_args --exec-prefix=$smpeg_exec_prefix" - if test x${SMPEG_CONFIG+set} != xset ; then - SMPEG_CONFIG=$smpeg_exec_prefix/bin/smpeg-config - fi - fi - if test x$smpeg_prefix != x ; then - smpeg_args="$smpeg_args --prefix=$smpeg_prefix" - if test x${SMPEG_CONFIG+set} != xset ; then - SMPEG_CONFIG=$smpeg_prefix/bin/smpeg-config - fi - fi - - AC_PATH_PROG(SMPEG_CONFIG, smpeg-config, no) - min_smpeg_version=ifelse([$1], ,0.2.7,$1) - AC_MSG_CHECKING(for SMPEG - version >= $min_smpeg_version) - no_smpeg="" - if test "$SMPEG_CONFIG" = "no" ; then - no_smpeg=yes - else - SMPEG_CFLAGS=`$SMPEG_CONFIG $smpegconf_args --cflags` - SMPEG_LIBS=`$SMPEG_CONFIG $smpegconf_args --libs` - - smpeg_major_version=`$SMPEG_CONFIG $smpeg_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - smpeg_minor_version=`$SMPEG_CONFIG $smpeg_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - smpeg_micro_version=`$SMPEG_CONFIG $smpeg_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_smpegtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SMPEG_CFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SMPEG_LIBS $SDL_LIBS" -dnl -dnl Now check if the installed SMPEG is sufficiently new. (Also sanity -dnl checks the results of smpeg-config to some extent -dnl - rm -f conf.smpegtest - AC_TRY_RUN([ -#include -#include -#include -#include "smpeg.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.smpegtest"); - */ - { FILE *fp = fopen("conf.smpegtest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_smpeg_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_smpeg_version"); - exit(1); - } - - if (($smpeg_major_version > major) || - (($smpeg_major_version == major) && ($smpeg_minor_version > minor)) || - (($smpeg_major_version == major) && ($smpeg_minor_version == minor) && ($smpeg_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'smpeg-config --version' returned %d.%d.%d, but the minimum version\n", $smpeg_major_version, $smpeg_minor_version, $smpeg_micro_version); - printf("*** of SMPEG required is %d.%d.%d. If smpeg-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If smpeg-config was wrong, set the environment variable SMPEG_CONFIG\n"); - printf("*** to point to the correct copy of smpeg-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - -],, no_smpeg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_smpeg" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$SMPEG_CONFIG" = "no" ; then - echo "*** The smpeg-config script installed by SMPEG could not be found" - echo "*** If SMPEG was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SMPEG_CONFIG environment variable to the" - echo "*** full path to smpeg-config." - else - if test -f conf.smpegtest ; then - : - else - echo "*** Could not run SMPEG test program, checking why..." - CFLAGS="$CFLAGS $SMPEG_CFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SMPEG_LIBS $SDL_LIBS" - AC_TRY_LINK([ -#include -#include "smpeg.h" -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SMPEG or finding the wrong" - echo "*** version of SMPEG. If it is not finding SMPEG, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SMPEG was incorrectly installed" - echo "*** or that you have moved SMPEG since it was installed. In the latter case, you" - echo "*** may want to edit the smpeg-config script: $SMPEG_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SMPEG_CFLAGS="" - SMPEG_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(SMPEG_CFLAGS) - AC_SUBST(SMPEG_LIBS) - rm -f conf.smpegtest -]) diff --git a/configure b/configure index 5ce793f3..db10c73f 100755 --- a/configure +++ b/configure @@ -797,9 +797,6 @@ PLAYWAVE_OBJECTS VERSION_OBJECTS OBJECTS ac_aux_dir -SMPEG_LIBS -SMPEG_CFLAGS -SMPEG_CONFIG MODPLUG_LIBS MODPLUG_CFLAGS LIBMIKMOD_CONFIG @@ -927,9 +924,6 @@ enable_music_flac enable_music_flac_shared enable_music_mp3 enable_music_mp3_shared -with_smpeg_prefix -with_smpeg_exec_prefix -enable_smpegtest enable_music_mp3_mad_gpl ' ac_precious_vars='build_alias @@ -1601,10 +1595,9 @@ Optional Features: --enable-music-flac enable FLAC music [default=yes] --enable-music-flac-shared dynamically load FLAC support [default=yes] - --enable-music-mp3 enable MP3 music via smpeg [default=yes] + --enable-music-mp3 enable MP3 music via libmpg123 [default=yes] --enable-music-mp3-shared dynamically load MP3 support [default=yes] - --disable-smpegtest Do not try to compile and run a test SMPEG program --enable-music-mp3-mad-gpl enable MP3 music via libmad GPL code [default=no] @@ -1616,8 +1609,6 @@ Optional Packages: --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sdl-prefix=PFX Prefix where SDL is installed (optional) --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) - --with-smpeg-prefix=PFX Prefix where SMPEG is installed (optional) - --with-smpeg-exec-prefix=PFX Exec prefix where SMPEG is installed (optional) Some influential environment variables: CC C compiler command @@ -3766,13 +3757,13 @@ if test "${lt_cv_nm_interface+set}" = set; then else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:3769: $ac_compile\"" >&5) + (eval echo "\"\$as_me:3760: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:3772: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:3763: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:3775: output\"" >&5) + (eval echo "\"\$as_me:3766: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -4983,7 +4974,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4986 "configure"' > conftest.$ac_ext + echo '#line 4977 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7141,11 +7132,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7144: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7135: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7148: \$? = $ac_status" >&5 + echo "$as_me:7139: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7480,11 +7471,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7483: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7474: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7487: \$? = $ac_status" >&5 + echo "$as_me:7478: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7585,11 +7576,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7588: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7579: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7592: \$? = $ac_status" >&5 + echo "$as_me:7583: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -7640,11 +7631,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7643: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7634: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7647: \$? = $ac_status" >&5 + echo "$as_me:7638: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10442,7 +10433,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10445 "configure" +#line 10436 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10538,7 +10529,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10541 "configure" +#line 10532 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14537,248 +14528,163 @@ else fi if test x$enable_music_mp3 = xyes; then - SMPEG_VERSION=0.4.3 - -# Check whether --with-smpeg-prefix was given. -if test "${with_smpeg_prefix+set}" = set; then - withval=$with_smpeg_prefix; smpeg_prefix="$withval" -else - smpeg_prefix="" -fi - - -# Check whether --with-smpeg-exec-prefix was given. -if test "${with_smpeg_exec_prefix+set}" = set; then - withval=$with_smpeg_exec_prefix; smpeg_exec_prefix="$withval" -else - smpeg_exec_prefix="" -fi - -# Check whether --enable-smpegtest was given. -if test "${enable_smpegtest+set}" = set; then - enableval=$enable_smpegtest; -else - enable_smpegtest=yes -fi - - - if test x$smpeg_exec_prefix != x ; then - smpeg_args="$smpeg_args --exec-prefix=$smpeg_exec_prefix" - if test x${SMPEG_CONFIG+set} != xset ; then - SMPEG_CONFIG=$smpeg_exec_prefix/bin/smpeg-config - fi - fi - if test x$smpeg_prefix != x ; then - smpeg_args="$smpeg_args --prefix=$smpeg_prefix" - if test x${SMPEG_CONFIG+set} != xset ; then - SMPEG_CONFIG=$smpeg_prefix/bin/smpeg-config - fi - fi - - # Extract the first word of "smpeg-config", so it can be a program name with args. -set dummy smpeg-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SMPEG_CONFIG+set}" = set; then + if test "${ac_cv_header_mpg123_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for mpg123.h" >&5 +$as_echo_n "checking for mpg123.h... " >&6; } +if test "${ac_cv_header_mpg123_h+set}" = set; then $as_echo_n "(cached) " >&6 -else - case $SMPEG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_SMPEG_CONFIG="$SMPEG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_SMPEG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SMPEG_CONFIG" && ac_cv_path_SMPEG_CONFIG="no" - ;; -esac -fi -SMPEG_CONFIG=$ac_cv_path_SMPEG_CONFIG -if test -n "$SMPEG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $SMPEG_CONFIG" >&5 -$as_echo "$SMPEG_CONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } fi - - - min_smpeg_version=$SMPEG_VERSION - { $as_echo "$as_me:$LINENO: checking for SMPEG - version >= $min_smpeg_version" >&5 -$as_echo_n "checking for SMPEG - version >= $min_smpeg_version... " >&6; } - no_smpeg="" - if test "$SMPEG_CONFIG" = "no" ; then - no_smpeg=yes - else - SMPEG_CFLAGS=`$SMPEG_CONFIG $smpegconf_args --cflags` - SMPEG_LIBS=`$SMPEG_CONFIG $smpegconf_args --libs` - - smpeg_major_version=`$SMPEG_CONFIG $smpeg_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - smpeg_minor_version=`$SMPEG_CONFIG $smpeg_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - smpeg_micro_version=`$SMPEG_CONFIG $smpeg_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test "x$enable_smpegtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $SMPEG_CFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SMPEG_LIBS $SDL_LIBS" - rm -f conf.smpegtest - if test "$cross_compiling" = yes; then - echo $ac_n "cross compiling; assumed OK... $ac_c" +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mpg123_h" >&5 +$as_echo "$ac_cv_header_mpg123_h" >&6; } else - cat >conftest.$ac_ext <<_ACEOF + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking mpg123.h usability" >&5 +$as_echo_n "checking mpg123.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -#include -#include -#include -#include "smpeg.h" - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main (int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - - /* This hangs on some systems (?) - system ("touch conf.smpegtest"); - */ - { FILE *fp = fopen("conf.smpegtest", "a"); if ( fp ) fclose(fp); } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_smpeg_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_smpeg_version"); - exit(1); - } - - if (($smpeg_major_version > major) || - (($smpeg_major_version == major) && ($smpeg_minor_version > minor)) || - (($smpeg_major_version == major) && ($smpeg_minor_version == minor) && ($smpeg_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'smpeg-config --version' returned %d.%d.%d, but the minimum version\n", $smpeg_major_version, $smpeg_minor_version, $smpeg_micro_version); - printf("*** of SMPEG required is %d.%d.%d. If smpeg-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If smpeg-config was wrong, set the environment variable SMPEG_CONFIG\n"); - printf("*** to point to the correct copy of smpeg-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - - +$ac_includes_default +#include _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking mpg123.h presence" >&5 +$as_echo_n "checking mpg123.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -no_smpeg=yes + ac_header_preproc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: mpg123.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: mpg123.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: mpg123.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: mpg123.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: mpg123.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: mpg123.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: mpg123.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mpg123.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: mpg123.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for mpg123.h" >&5 +$as_echo_n "checking for mpg123.h... " >&6; } +if test "${ac_cv_header_mpg123_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_mpg123_h=$ac_header_preproc fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mpg123_h" >&5 +$as_echo "$ac_cv_header_mpg123_h" >&6; } +fi +if test "x$ac_cv_header_mpg123_h" = x""yes; then + have_mpg123_hdr=yes +fi - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_smpeg" = x ; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - have_smpeg=yes - else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - if test "$SMPEG_CONFIG" = "no" ; then - echo "*** The smpeg-config script installed by SMPEG could not be found" - echo "*** If SMPEG was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SMPEG_CONFIG environment variable to the" - echo "*** full path to smpeg-config." - else - if test -f conf.smpegtest ; then - : - else - echo "*** Could not run SMPEG test program, checking why..." - CFLAGS="$CFLAGS $SMPEG_CFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SMPEG_LIBS $SDL_LIBS" - cat >conftest.$ac_ext <<_ACEOF + + { $as_echo "$as_me:$LINENO: checking for mpg123_replace_reader_handle in -lmpg123" >&5 +$as_echo_n "checking for mpg123_replace_reader_handle in -lmpg123... " >&6; } +if test "${ac_cv_lib_mpg123_mpg123_replace_reader_handle+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmpg123 $LIBS" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include "smpeg.h" - +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char mpg123_replace_reader_handle (); int main () { - return 0; +return mpg123_replace_reader_handle (); ; return 0; } @@ -14804,66 +14710,52 @@ $as_echo "$ac_try_echo") >&5 test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SMPEG or finding the wrong" - echo "*** version of SMPEG. If it is not finding SMPEG, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + ac_cv_lib_mpg123_mpg123_replace_reader_handle=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SMPEG was incorrectly installed" - echo "*** or that you have moved SMPEG since it was installed. In the latter case, you" - echo "*** may want to edit the smpeg-config script: $SMPEG_CONFIG" + ac_cv_lib_mpg123_mpg123_replace_reader_handle=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - SMPEG_CFLAGS="" - SMPEG_LIBS="" - have_smpeg=no - fi - - - rm -f conf.smpegtest +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpg123_mpg123_replace_reader_handle" >&5 +$as_echo "$ac_cv_lib_mpg123_mpg123_replace_reader_handle" >&6; } +if test "x$ac_cv_lib_mpg123_mpg123_replace_reader_handle" = x""yes; then + have_mpg123_lib=yes +fi - if test x$have_smpeg = xyes; then + if test x$have_mpg123_hdr = xyes -a x$have_mpg123_lib = xyes; then + have_mpg123=yes case "$host" in *-*-darwin*) - smpeg_lib=`find_lib libsmpeg.dylib` + mpg123_lib=`find_lib libmpg123.dylib` ;; *-*-cygwin* | *-*-mingw32*) - smpeg_lib=`find_lib "smpeg*.dll"` + mpg123_lib=`find_lib "libmpg123*.dll"` ;; *) - smpeg_lib=`find_lib "libsmpeg*.so.[0-9]"` - if test x$smpeg_lib = x; then - smpeg_lib=`find_lib "libsmpeg*.so.[0-9]*"` + mpg123_lib=`find_lib "libmpg123*.so.[0-9]"` + if test x$mpg123_lib = x; then + mpg123_lib=`find_lib "libmpg123*.so.[0-9]*"` fi ;; esac - SOURCES="$SOURCES $srcdir/*_mp3.c" - EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC $SMPEG_CFLAGS" - if test x$enable_music_mp3_shared = xyes && test x$smpeg_lib != x; then - echo "-- dynamic libsmpeg -> $smpeg_lib" - EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_DYNAMIC=\\\"$smpeg_lib\\\"" + SOURCES="$SOURCES $srcdir/*_mp3.c $srcdir/*_mpg.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC" + if test x$enable_music_mp3_shared = xyes && test x$mpg123_lib != x; then + echo "-- dynamic libmpg123 -> $mpg123_lib" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DMPG123_DYNAMIC=\\\"$mpg123_lib\\\"" else - EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SMPEG_LIBS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmpg123" fi else - { $as_echo "$as_me:$LINENO: WARNING: *** Unable to find SMPEG library (http://icculus.org/smpeg/)" >&5 -$as_echo "$as_me: WARNING: *** Unable to find SMPEG library (http://icculus.org/smpeg/)" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: *** Unable to find mpg123 library (https://www.mpg123.de)" >&5 +$as_echo "$as_me: WARNING: *** Unable to find mpg123 library (https://www.mpg123.de)" >&2;} fi fi @@ -14937,7 +14829,7 @@ $as_echo "$as_me: WARNING: *** Unable to find MAD library (http://www.underbit.c fi fi -if test x$have_smpeg != xyes -a x$have_libmad != xyes; then +if test x$have_mpg123 != xyes -a x$have_libmad != xyes; then { $as_echo "$as_me:$LINENO: WARNING: MP3 support disabled" >&5 $as_echo "$as_me: WARNING: MP3 support disabled" >&2;} fi diff --git a/configure.in b/configure.in index b5c54458..865d3dde 100644 --- a/configure.in +++ b/configure.in @@ -560,39 +560,40 @@ AC_CHECK_HEADERS([signal.h], [EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_SIGNAL_H"]) AC_CHECK_FUNCS(setbuf, [EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_SETBUF"]) AC_ARG_ENABLE(music-mp3, -AC_HELP_STRING([--enable-music-mp3], [enable MP3 music via smpeg [[default=yes]]]), +AC_HELP_STRING([--enable-music-mp3], [enable MP3 music via libmpg123 [[default=yes]]]), [], enable_music_mp3=yes) AC_ARG_ENABLE([music-mp3-shared], AC_HELP_STRING([--enable-music-mp3-shared], [dynamically load MP3 support [[default=yes]]]), [], [enable_music_mp3_shared=yes]) if test x$enable_music_mp3 = xyes; then - SMPEG_VERSION=0.4.3 - AM_PATH_SMPEG($SMPEG_VERSION, have_smpeg=yes, have_smpeg=no) - if test x$have_smpeg = xyes; then + AC_CHECK_HEADER([mpg123.h], [have_mpg123_hdr=yes]) + AC_CHECK_LIB([mpg123], [mpg123_replace_reader_handle], [have_mpg123_lib=yes]) + if test x$have_mpg123_hdr = xyes -a x$have_mpg123_lib = xyes; then + have_mpg123=yes case "$host" in *-*-darwin*) - smpeg_lib=[`find_lib libsmpeg.dylib`] + mpg123_lib=[`find_lib libmpg123.dylib`] ;; *-*-cygwin* | *-*-mingw32*) - smpeg_lib=[`find_lib "smpeg*.dll"`] + mpg123_lib=[`find_lib "libmpg123*.dll"`] ;; *) - smpeg_lib=[`find_lib "libsmpeg*.so.[0-9]"`] - if test x$smpeg_lib = x; then - smpeg_lib=[`find_lib "libsmpeg*.so.[0-9]*"`] + mpg123_lib=[`find_lib "libmpg123*.so.[0-9]"`] + if test x$mpg123_lib = x; then + mpg123_lib=[`find_lib "libmpg123*.so.[0-9]*"`] fi ;; esac - SOURCES="$SOURCES $srcdir/*_mp3.c" - EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC $SMPEG_CFLAGS" - if test x$enable_music_mp3_shared = xyes && test x$smpeg_lib != x; then - echo "-- dynamic libsmpeg -> $smpeg_lib" - EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_DYNAMIC=\\\"$smpeg_lib\\\"" + SOURCES="$SOURCES $srcdir/*_mp3.c $srcdir/*_mpg.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC" + if test x$enable_music_mp3_shared = xyes && test x$mpg123_lib != x; then + echo "-- dynamic libmpg123 -> $mpg123_lib" + EXTRA_CFLAGS="$EXTRA_CFLAGS -DMPG123_DYNAMIC=\\\"$mpg123_lib\\\"" else - EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SMPEG_LIBS" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmpg123" fi else - AC_MSG_WARN([*** Unable to find SMPEG library (http://icculus.org/smpeg/)]) + AC_MSG_WARN([*** Unable to find mpg123 library (https://www.mpg123.de)]) fi fi @@ -618,7 +619,7 @@ if test x$enable_music_mp3_mad_gpl = xyes; then fi fi -if test x$have_smpeg != xyes -a x$have_libmad != xyes; then +if test x$have_mpg123 != xyes -a x$have_libmad != xyes; then AC_MSG_WARN([MP3 support disabled]) fi diff --git a/dynamic_mp3.c b/dynamic_mp3.c index 83a3e309..42e4ccb2 100644 --- a/dynamic_mp3.c +++ b/dynamic_mp3.c @@ -25,147 +25,64 @@ #include "dynamic_mp3.h" -smpeg_loader smpeg = { +mpg123_loader mpg123 = { 0, NULL }; -#ifdef MP3_DYNAMIC -int Mix_InitMP3() +#ifdef MPG123_DYNAMIC +#define FUNCTION_LOADER(FUNC, SIG) \ + mpg123.FUNC = (SIG) SDL_LoadFunction(mpg123.handle, #FUNC); \ + if (mpg123.FUNC == NULL) { SDL_UnloadObject(mpg123.handle); return -1; } +#else +#define FUNCTION_LOADER(FUNC, SIG) \ + mpg123.FUNC = FUNC; +#endif + +int Mix_InitMP3(void) { - if ( smpeg.loaded == 0 ) { - smpeg.handle = SDL_LoadObject(MP3_DYNAMIC); - if ( smpeg.handle == NULL ) { - return -1; - } - smpeg.SMPEG_actualSpec = - (void (*)( SMPEG *, SDL_AudioSpec * )) - SDL_LoadFunction(smpeg.handle, "SMPEG_actualSpec"); - if ( smpeg.SMPEG_actualSpec == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_delete = - (void (*)( SMPEG* )) - SDL_LoadFunction(smpeg.handle, "SMPEG_delete"); - if ( smpeg.SMPEG_delete == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_enableaudio = - (void (*)( SMPEG*, int )) - SDL_LoadFunction(smpeg.handle, "SMPEG_enableaudio"); - if ( smpeg.SMPEG_enableaudio == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_enablevideo = - (void (*)( SMPEG*, int )) - SDL_LoadFunction(smpeg.handle, "SMPEG_enablevideo"); - if ( smpeg.SMPEG_enablevideo == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_new_rwops = - (SMPEG* (*)(SDL_RWops *, SMPEG_Info*, int)) - SDL_LoadFunction(smpeg.handle, "SMPEG_new_rwops"); - if ( smpeg.SMPEG_new_rwops == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_play = - (void (*)( SMPEG* )) - SDL_LoadFunction(smpeg.handle, "SMPEG_play"); - if ( smpeg.SMPEG_play == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_playAudio = - (int (*)( SMPEG *, Uint8 *, int )) - SDL_LoadFunction(smpeg.handle, "SMPEG_playAudio"); - if ( smpeg.SMPEG_playAudio == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_rewind = - (void (*)( SMPEG* )) - SDL_LoadFunction(smpeg.handle, "SMPEG_rewind"); - if ( smpeg.SMPEG_rewind == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_setvolume = - (void (*)( SMPEG*, int )) - SDL_LoadFunction(smpeg.handle, "SMPEG_setvolume"); - if ( smpeg.SMPEG_setvolume == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_skip = - (void (*)( SMPEG*, float )) - SDL_LoadFunction(smpeg.handle, "SMPEG_skip"); - if ( smpeg.SMPEG_skip == NULL ) { - SDL_UnloadObject(smpeg.handle); + if (mpg123.loaded == 0) { +#ifdef MPG123_DYNAMIC + mpg123.handle = SDL_LoadObject(MPG123_DYNAMIC); + if (mpg123.handle == NULL) { return -1; } - smpeg.SMPEG_status = - (SMPEGstatus (*)( SMPEG* )) - SDL_LoadFunction(smpeg.handle, "SMPEG_status"); - if ( smpeg.SMPEG_status == NULL ) { - SDL_UnloadObject(smpeg.handle); - return -1; - } - smpeg.SMPEG_stop = - (void (*)( SMPEG* )) - SDL_LoadFunction(smpeg.handle, "SMPEG_stop"); - if ( smpeg.SMPEG_stop == NULL ) { - SDL_UnloadObject(smpeg.handle); +#endif + FUNCTION_LOADER(mpg123_close, int (*)(mpg123_handle *mh)) + FUNCTION_LOADER(mpg123_delete, void (*)(mpg123_handle *mh)) + FUNCTION_LOADER(mpg123_exit, void (*)(void)) + FUNCTION_LOADER(mpg123_format, int (*)( mpg123_handle *mh, long rate, int channels, int encodings )) + FUNCTION_LOADER(mpg123_format_none, int (*)(mpg123_handle *mh)) + FUNCTION_LOADER(mpg123_getformat, int (*)( mpg123_handle *mh, long *rate, int *channels, int *encoding )) + FUNCTION_LOADER(mpg123_init, int (*)(void)) + FUNCTION_LOADER(mpg123_new, mpg123_handle *(*)(const char* decoder, int *error)) + FUNCTION_LOADER(mpg123_open_handle, int (*)(mpg123_handle *mh, void *iohandle)) + FUNCTION_LOADER(mpg123_plain_strerror, const char* (*)(int errcode)) + FUNCTION_LOADER(mpg123_rates, void (*)(const long **list, size_t *number)); + FUNCTION_LOADER(mpg123_read, int (*)(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done )) + FUNCTION_LOADER(mpg123_replace_reader_handle, int (*)( mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) )) + FUNCTION_LOADER(mpg123_seek, off_t (*)( mpg123_handle *mh, off_t sampleoff, int whence )) + FUNCTION_LOADER(mpg123_strerror, const char* (*)(mpg123_handle *mh)) + if (mpg123.mpg123_init() != MPG123_OK) { return -1; } } - ++smpeg.loaded; + ++mpg123.loaded; return 0; } -void Mix_QuitMP3() -{ - if ( smpeg.loaded == 0 ) { - return; - } - if ( smpeg.loaded == 1 ) { - SDL_UnloadObject(smpeg.handle); - } - --smpeg.loaded; -} -#else -int Mix_InitMP3() -{ - if ( smpeg.loaded == 0 ) { - smpeg.SMPEG_actualSpec = SMPEG_actualSpec; - smpeg.SMPEG_delete = SMPEG_delete; - smpeg.SMPEG_enableaudio = SMPEG_enableaudio; - smpeg.SMPEG_enablevideo = SMPEG_enablevideo; - smpeg.SMPEG_new_rwops = SMPEG_new_rwops; - smpeg.SMPEG_play = SMPEG_play; - smpeg.SMPEG_playAudio = SMPEG_playAudio; - smpeg.SMPEG_rewind = SMPEG_rewind; - smpeg.SMPEG_setvolume = SMPEG_setvolume; - smpeg.SMPEG_skip = SMPEG_skip; - smpeg.SMPEG_status = SMPEG_status; - smpeg.SMPEG_stop = SMPEG_stop; - } - ++smpeg.loaded; - return 0; -} -void Mix_QuitMP3() +void Mix_QuitMP3(void) { - if ( smpeg.loaded == 0 ) { + if (mpg123.loaded == 0) { return; } - if ( smpeg.loaded == 1 ) { + if (mpg123.loaded == 1) { + mpg123.mpg123_exit(); +#ifdef MPG123_DYNAMIC + SDL_UnloadObject(mpg123.handle); +#endif } - --smpeg.loaded; + --mpg123.loaded; } -#endif /* MP3_DYNAMIC */ #endif /* MP3_MUSIC */ diff --git a/dynamic_mp3.h b/dynamic_mp3.h index 03cbbbf9..f1711f98 100644 --- a/dynamic_mp3.h +++ b/dynamic_mp3.h @@ -20,28 +20,33 @@ */ #ifdef MP3_MUSIC -#include "smpeg.h" + +#include typedef struct { int loaded; void *handle; - void (*SMPEG_actualSpec)( SMPEG *mpeg, SDL_AudioSpec *spec ); - void (*SMPEG_delete)( SMPEG* mpeg ); - void (*SMPEG_enableaudio)( SMPEG* mpeg, int enable ); - void (*SMPEG_enablevideo)( SMPEG* mpeg, int enable ); - SMPEG* (*SMPEG_new_rwops)(SDL_RWops *src, SMPEG_Info* info, int sdl_audio); - void (*SMPEG_play)( SMPEG* mpeg ); - int (*SMPEG_playAudio)( SMPEG *mpeg, Uint8 *stream, int len ); - void (*SMPEG_rewind)( SMPEG* mpeg ); - void (*SMPEG_setvolume)( SMPEG* mpeg, int volume ); - void (*SMPEG_skip)( SMPEG* mpeg, float seconds ); - SMPEGstatus (*SMPEG_status)( SMPEG* mpeg ); - void (*SMPEG_stop)( SMPEG* mpeg ); -} smpeg_loader; - -extern smpeg_loader smpeg; -#endif /* MUSIC_MP3 */ + int (*mpg123_close)(mpg123_handle *mh); + void (*mpg123_delete)(mpg123_handle *mh); + void (*mpg123_exit)(void); + int (*mpg123_format)( mpg123_handle *mh, long rate, int channels, int encodings ); + int (*mpg123_format_none)(mpg123_handle *mh); + int (*mpg123_getformat)( mpg123_handle *mh, long *rate, int *channels, int *encoding ); + int (*mpg123_init)(void); + mpg123_handle *(*mpg123_new)(const char* decoder, int *error); + int (*mpg123_open_handle)(mpg123_handle *mh, void *iohandle); + const char* (*mpg123_plain_strerror)(int errcode); + void (*mpg123_rates)(const long **list, size_t *number); + int (*mpg123_read)(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done ); + int (*mpg123_replace_reader_handle)( mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) ); + off_t (*mpg123_seek)( mpg123_handle *mh, off_t sampleoff, int whence ); + const char* (*mpg123_strerror)(mpg123_handle *mh); +} mpg123_loader; + +extern mpg123_loader mpg123; + +extern int Mix_InitMP3 (void); +extern void Mix_QuitMP3 (void); -extern int Mix_InitMP3(); -extern void Mix_QuitMP3(); +#endif /* MUSIC_MP3 */ diff --git a/mixer.c b/mixer.c index 833a2184..d98308fd 100644 --- a/mixer.c +++ b/mixer.c @@ -180,6 +180,8 @@ int Mix_Init(int flags) if ((initialized & MIX_INIT_MP3) || Mix_InitMP3() == 0) { result |= MIX_INIT_MP3; } +#elif defined(MP3_MAD_MUSIC) + result |= MIX_INIT_MP3; #else Mix_SetError("Mixer not built with MP3 support"); #endif diff --git a/music.c b/music.c index 9895883b..f68f821d 100644 --- a/music.c +++ b/music.c @@ -59,6 +59,7 @@ #endif #ifdef MP3_MUSIC #include "dynamic_mp3.h" +#include "music_mpg.h" #endif #ifdef MP3_MAD_MUSIC #include "music_mad.h" @@ -109,7 +110,7 @@ struct _Mix_Music { OGG_music *ogg; #endif #ifdef MP3_MUSIC - SMPEG *mp3; + mpg_data *mp3_mpg; #endif #ifdef MP3_MAD_MUSIC mad_data *mp3_mad; @@ -322,7 +323,7 @@ void SDLCALL music_mixer(void *udata, Uint8 *stream, int len) #endif #ifdef MP3_MUSIC case MUS_MP3: - left = (len - smpeg.SMPEG_playAudio(music_playing->data.mp3, stream, len)); + left = mpg_get_samples(music_playing->data.mp3_mpg, stream, len); break; #endif #ifdef MP3_MAD_MUSIC @@ -656,14 +657,11 @@ Mix_Music *Mix_LoadMUSType_RW(SDL_RWops *rw, Mix_MusicType type, int freesrc) #ifdef MP3_MUSIC case MUS_MP3: if ( Mix_Init(MIX_INIT_MP3) ) { - SMPEG_Info info; music->type = MUS_MP3; - music->data.mp3 = smpeg.SMPEG_new_rwops(rw, &info, 0); - if ( !info.has_audio ) { - Mix_SetError("MPEG file does not have any audio stream."); + music->data.mp3_mpg = mpg_new_rw(rw, &used_mixer, freesrc); + if (!music->data.mp3_mpg) { + Mix_SetError("Could not initialize MPEG stream."); music->error = 1; - } else { - smpeg.SMPEG_actualSpec(music->data.mp3, &used_mixer); } } else { music->error = 1; @@ -824,7 +822,7 @@ void Mix_FreeMusic(Mix_Music *music) #endif #ifdef MP3_MUSIC case MUS_MP3: - smpeg.SMPEG_delete(music->data.mp3); + mpg_delete(music->data.mp3_mpg); break; #endif #ifdef MP3_MAD_MUSIC @@ -949,9 +947,7 @@ static int music_internal_play(Mix_Music *music, double position) #endif #ifdef MP3_MUSIC case MUS_MP3: - smpeg.SMPEG_enableaudio(music->data.mp3,1); - smpeg.SMPEG_enablevideo(music->data.mp3,0); - smpeg.SMPEG_play(music_playing->data.mp3); + mpg_start(music->data.mp3_mpg); break; #endif #ifdef MP3_MAD_MUSIC @@ -1064,11 +1060,7 @@ int music_internal_position(double position) #endif #ifdef MP3_MUSIC case MUS_MP3: - smpeg.SMPEG_rewind(music_playing->data.mp3); - smpeg.SMPEG_play(music_playing->data.mp3); - if ( position > 0.0 ) { - smpeg.SMPEG_skip(music_playing->data.mp3, (float)position); - } + mpg_seek(music_playing->data.mp3_mpg, position); break; #endif #ifdef MP3_MAD_MUSIC @@ -1170,7 +1162,7 @@ static void music_internal_volume(int volume) #endif #ifdef MP3_MUSIC case MUS_MP3: - smpeg.SMPEG_setvolume(music_playing->data.mp3,(int)(((float)volume/(float)MIX_MAX_VOLUME)*100.0)); + mpg_volume(music_playing->data.mp3_mpg, volume); break; #endif #ifdef MP3_MAD_MUSIC @@ -1261,7 +1253,7 @@ static void music_internal_halt(void) #endif #ifdef MP3_MUSIC case MUS_MP3: - smpeg.SMPEG_stop(music_playing->data.mp3); + mpg_stop(music_playing->data.mp3_mpg); break; #endif #ifdef MP3_MAD_MUSIC @@ -1446,8 +1438,9 @@ static int music_internal_playing() #endif #ifdef MP3_MUSIC case MUS_MP3: - if ( smpeg.SMPEG_status(music_playing->data.mp3) != SMPEG_PLAYING ) + if (!mpg_playing(music_playing->data.mp3_mpg)) { playing = 0; + } break; #endif #ifdef MP3_MAD_MUSIC diff --git a/music_mpg.c b/music_mpg.c new file mode 100644 index 00000000..8da20dfb --- /dev/null +++ b/music_mpg.c @@ -0,0 +1,383 @@ +/* + SDL_mixer: An audio mixer library based on the SDL library + Copyright (C) 1997-2017 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#ifdef MP3_MUSIC + +#include "SDL_mixer.h" +#include "music_mpg.h" +#include "dynamic_mp3.h" + +static int +snd_format_to_mpg123(uint16_t sdl_fmt) +{ + switch (sdl_fmt) + { + case AUDIO_U8: return MPG123_ENC_UNSIGNED_8; + case AUDIO_U16SYS: return MPG123_ENC_UNSIGNED_16; + case AUDIO_S8: return MPG123_ENC_SIGNED_8; + case AUDIO_S16SYS: return MPG123_ENC_SIGNED_16; + } + return -1; +} + +static Uint16 +mpg123_format_to_sdl(int fmt) +{ + switch (fmt) + { + case MPG123_ENC_UNSIGNED_8: return AUDIO_U8; + case MPG123_ENC_UNSIGNED_16: return AUDIO_U16SYS; + case MPG123_ENC_SIGNED_8: return AUDIO_S8; + case MPG123_ENC_SIGNED_16: return AUDIO_S16SYS; + } + return -1; +} + +static char const* +mpg123_format_str(int fmt) +{ + switch (fmt) + { +#define f(x) case x: return #x; + f(MPG123_ENC_UNSIGNED_8) + f(MPG123_ENC_UNSIGNED_16) + f(MPG123_ENC_SIGNED_8) + f(MPG123_ENC_SIGNED_16) +#undef f + } + return "unknown"; +} + +static char const* +mpg_err(mpg123_handle* mpg, int code) +{ + char const* err = "unknown error"; + + if (mpg && code == MPG123_ERR) { + err = mpg123.mpg123_strerror(mpg); + } else { + err = mpg123.mpg123_plain_strerror(code); + } + + return err; +} + +/* we're gonna override mpg123's I/O with these wrappers for RWops */ +static +ssize_t rwops_read(void* p, void* dst, size_t n) { + return (ssize_t)SDL_RWread((SDL_RWops*)p, dst, 1, n); +} + +static +off_t rwops_seek(void* p, off_t offset, int whence) { + return (off_t)SDL_RWseek((SDL_RWops*)p, (Sint64)offset, whence); +} + +static +void rwops_cleanup(void* p) { + (void)p; + /* do nothing, we will free the file later */ +} + +static int getsome(mpg_data* m); + +mpg_data* +mpg_new_rw(SDL_RWops *src, SDL_AudioSpec* mixer, int freesrc) +{ + int fmt, result; + mpg_data* m = NULL; + + if (!Mix_Init(MIX_INIT_MP3)) { + goto fail; + } + + m = (mpg_data*)SDL_malloc(sizeof(mpg_data)); + if (!m) { + SDL_OutOfMemory(); + goto fail; + } + + SDL_memset(m, 0, sizeof(mpg_data)); + + m->src = src; + m->freesrc = freesrc; + + m->handle = mpg123.mpg123_new(0, &result); + if (result != MPG123_OK) { + goto fail; + } + + result = mpg123.mpg123_replace_reader_handle( + m->handle, + rwops_read, rwops_seek, rwops_cleanup + ); + if (result != MPG123_OK) { + goto fail; + } + + result = mpg123.mpg123_format_none(m->handle); + if (result != MPG123_OK) { + goto fail; + } + + fmt = snd_format_to_mpg123(mixer->format); + if (fmt == -1) { + goto fail; + } + + result = mpg123.mpg123_format(m->handle, mixer->freq, mixer->channels, fmt); + if (result != MPG123_OK) { + goto fail; + } + + result = mpg123.mpg123_open_handle(m->handle, m->src); + if (result != MPG123_OK) { + goto fail; + } + + m->volume = MIX_MAX_VOLUME; + m->mixer = *mixer; + + /* hacky: read until we can figure out the format then rewind */ + while (!m->gotformat) + { + if (!getsome(m)) { + goto fail; + } + } + + /* rewind */ + mpg123.mpg123_seek(m->handle, 0, SEEK_SET); + + m->len_available = 0; + m->snd_available = m->cvt.buf; + + return m; + + fail: + if (!m && freesrc) { + SDL_RWclose(src); + } + mpg_delete(m); + return NULL; +} + +void +mpg_delete(mpg_data* m) +{ + if (!m) { + return; + } + + if (m->freesrc) { + SDL_RWclose(m->src); + } + + if (m->cvt.buf) { + SDL_free(m->cvt.buf); + } + + mpg123.mpg123_close(m->handle); + mpg123.mpg123_delete(m->handle); + SDL_free(m); +} + +void +mpg_start(mpg_data* m) { + m->playing = 1; +} + +void +mpg_stop(mpg_data* m) { + m->playing = 0; +} + +int +mpg_playing(mpg_data* m) { + return m->playing; +} + +/* + updates the convert struct and buffer to match the format queried from + mpg123. +*/ +static int +update_format(mpg_data* m) +{ + int code; + long rate; + int channels, encoding; + Uint16 sdlfmt; + size_t bufsize; + + m->gotformat = 1; + + code = + mpg123.mpg123_getformat( + m->handle, + &rate, &channels, &encoding + ); + + if (code != MPG123_OK) { + Mix_SetError("mpg123_getformat: %s", mpg_err(m->handle, code)); + return 0; + } + + sdlfmt = mpg123_format_to_sdl(encoding); + if (sdlfmt == (Uint16)-1) + { + Mix_SetError( + "Format %s is not supported by SDL", + mpg123_format_str(encoding) + ); + return 0; + } + + SDL_BuildAudioCVT( + &m->cvt, + sdlfmt, channels, rate, + m->mixer.format, + m->mixer.channels, + m->mixer.freq + ); + + if (m->cvt.buf) { + SDL_free(m->cvt.buf); + } + + bufsize = sizeof(m->buf) * m->cvt.len_mult; + m->cvt.buf = SDL_malloc(bufsize); + + if (!m->cvt.buf) + { + Mix_SetError("Out of memory"); + mpg_stop(m); + return 0; + } + + return 1; +} + +/* read some mp3 stream data and convert it for output */ +static int +getsome(mpg_data* m) +{ + int code; + size_t len = 0; + Uint8* data = m->buf; + const size_t cbdata = sizeof(m->buf); + SDL_AudioCVT* cvt = &m->cvt; + + code = mpg123.mpg123_read(m->handle, data, cbdata, &len); + switch (code) + { + case MPG123_NEW_FORMAT: + if (!update_format(m)) { + return 0; + } + break; + + case MPG123_DONE: + mpg_stop(m); + case MPG123_OK: + break; + + default: + Mix_SetError("mpg123_read: %s", mpg_err(m->handle, code)); + return 0; + } + + SDL_memcpy(cvt->buf, data, cbdata); + + if (cvt->needed) { + /* we need to convert the audio to SDL's format */ + cvt->len = len; + SDL_ConvertAudio(cvt); + } + else { + /* no conversion needed, just copy */ + cvt->len_cvt = len; + } + + m->len_available = cvt->len_cvt; + m->snd_available = cvt->buf; + + return 1; +} + +int +mpg_get_samples(mpg_data* m, Uint8 *stream, int len) +{ + int mixable; + + while (len > 0 && m->playing) + { + if (!m->len_available) + { + if (!getsome(m)) { + m->playing = 0; + return len; + } + } + + mixable = len; + + if (mixable > m->len_available) { + mixable = m->len_available; + } + + if (m->volume == MIX_MAX_VOLUME) { + SDL_memcpy(stream, m->snd_available, mixable); + } + else { + SDL_MixAudio( + stream, + m->snd_available, + mixable, + m->volume + ); + } + + m->len_available -= mixable; + m->snd_available += mixable; + len -= mixable; + stream += mixable; + } + + return len; +} + +void +mpg_seek(mpg_data* m, double secs) +{ + off_t offset = m->mixer.freq * secs; + + if ((offset = mpg123.mpg123_seek(m->handle, offset, SEEK_SET)) < 0) { + Mix_SetError("mpg123_seek: %s", mpg_err(m->handle, -offset)); + } +} + +void +mpg_volume(mpg_data* m, int volume) { + m->volume = volume; +} + +#endif /* MP3_MUSIC */ diff --git a/music_mpg.h b/music_mpg.h new file mode 100644 index 00000000..0b1eda07 --- /dev/null +++ b/music_mpg.h @@ -0,0 +1,58 @@ +/* + SDL_mixer: An audio mixer library based on the SDL library + Copyright (C) 1997-2017 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#ifdef MP3_MUSIC + +#include + +typedef struct +{ + SDL_RWops* src; + int freesrc; + + SDL_AudioSpec mixer; + + int playing; + int volume; + + mpg123_handle* handle; + + int gotformat; + SDL_AudioCVT cvt; + Uint8 buf[8192]; + size_t len_available; + Uint8* snd_available; +} +mpg_data; + +mpg_data* mpg_new_rw(SDL_RWops *src, SDL_AudioSpec* mixer, int freesrc); +void mpg_delete(mpg_data* m); + +void mpg_start(mpg_data* m); +void mpg_stop(mpg_data* m); +int mpg_playing(mpg_data* m); + +int mpg_get_samples(mpg_data* m, Uint8* stream, int len); +void mpg_seek(mpg_data* m, double seconds); +void mpg_volume(mpg_data* m, int volume); + +#endif +