Blame src/libmpg123/feature.c

Packit c32a2d
#include "mpg123lib_intern.h"
Packit c32a2d
Packit c32a2d
int mpg123_feature(const enum mpg123_feature_set key)
Packit c32a2d
{
Packit c32a2d
	switch(key)
Packit c32a2d
	{
Packit c32a2d
		case MPG123_FEATURE_ABI_UTF8OPEN:
Packit c32a2d
#ifdef WANT_WIN32_UNICODE
Packit c32a2d
		return 1;
Packit c32a2d
#else
Packit c32a2d
		return 0;
Packit c32a2d
#endif /* WANT_WIN32_UNICODE */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_OUTPUT_8BIT:
Packit c32a2d
#ifdef NO_8BIT
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* mpg123_output_8bit */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_OUTPUT_16BIT:
Packit c32a2d
#ifdef NO_16BIT
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* mpg123_output_16bit */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_OUTPUT_32BIT:
Packit c32a2d
#ifdef NO_32BIT
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* mpg123_output_32bit */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_PARSE_ID3V2:
Packit c32a2d
#ifdef NO_ID3V2
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_ID3V2 */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_DECODE_LAYER1:
Packit c32a2d
#ifdef NO_LAYER1
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_LAYER1 */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_DECODE_LAYER2:
Packit c32a2d
#ifdef NO_LAYER2
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_LAYER2 */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_DECODE_LAYER3:
Packit c32a2d
#ifdef NO_LAYER3
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_LAYER3 */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_DECODE_ACCURATE:
Packit c32a2d
#ifdef ACCURATE_ROUNDING
Packit c32a2d
		return 1;
Packit c32a2d
#else
Packit c32a2d
		return 0;
Packit c32a2d
#endif /* ACCURATE_ROUNDING */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_DECODE_DOWNSAMPLE:
Packit c32a2d
#ifdef NO_DOWNSAMPLE
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_DOWNSAMPLE */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_DECODE_NTOM:
Packit c32a2d
#ifdef NO_NTOM
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_NTOM */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_PARSE_ICY:
Packit c32a2d
#ifdef NO_ICY
Packit c32a2d
		return 0;
Packit c32a2d
#else
Packit c32a2d
		return 1;
Packit c32a2d
#endif /* NO_ICY */
Packit c32a2d
Packit c32a2d
		case MPG123_FEATURE_INDEX:
Packit c32a2d
#ifdef FRAME_INDEX
Packit c32a2d
		return 1;
Packit c32a2d
#else
Packit c32a2d
		return 0;
Packit c32a2d
#endif /* FRAME_INDEX */
Packit c32a2d
		case MPG123_FEATURE_TIMEOUT_READ:
Packit c32a2d
#ifdef TIMEOUT_READ
Packit c32a2d
		return 1;
Packit c32a2d
#else
Packit c32a2d
		return 0;
Packit c32a2d
#endif
Packit c32a2d
		case MPG123_FEATURE_EQUALIZER:
Packit c32a2d
#ifndef NO_EQUALIZER
Packit c32a2d
		return 1;
Packit c32a2d
#else
Packit c32a2d
		return 0;
Packit c32a2d
#endif
Packit c32a2d
Packit c32a2d
		default: return 0;
Packit c32a2d
	}
Packit c32a2d
}