diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-02-06 14:31:43 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-02-06 14:31:43 +0000 |
| commit | 02ef6f2f2131d2e75846d937064f4e14ac3b27fd (patch) | |
| tree | b23fa80f7057387f63ad867c2b4bbc607f853f46 /src | |
| parent | 107679c00c1fe0aa0ca278a920bbf7f2ab96f347 (diff) | |
| download | qmmp-02ef6f2f2131d2e75846d937064f4e14ac3b27fd.tar.gz qmmp-02ef6f2f2131d2e75846d937064f4e14ac3b27fd.tar.bz2 qmmp-02ef6f2f2131d2e75846d937064f4e14ac3b27fd.zip | |
aac plugin: debian support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@778 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Input/aac/CMakeLists.txt | 29 | ||||
| -rw-r--r-- | src/plugins/Input/aac/decoder_aac.cpp | 3 | ||||
| -rw-r--r-- | src/plugins/Input/aac/decoder_aac.h | 14 |
3 files changed, 40 insertions, 6 deletions
diff --git a/src/plugins/Input/aac/CMakeLists.txt b/src/plugins/Input/aac/CMakeLists.txt index f8ecdeda6..7102a2000 100644 --- a/src/plugins/Input/aac/CMakeLists.txt +++ b/src/plugins/Input/aac/CMakeLists.txt @@ -1,12 +1,12 @@ project(libaac) +INCLUDE(CheckCXXSourceCompiles) INCLUDE(CheckIncludeFileCXX) cmake_minimum_required(VERSION 2.4.7) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) - # qt plugin ADD_DEFINITIONS( -Wall ) @@ -31,6 +31,33 @@ link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) CHECK_INCLUDE_FILE_CXX(neaacdec.h FAAD_FOUND) +IF(FAAD_FOUND) +SET(CMAKE_REQUIRED_LIBRARIES faad) +CHECK_CXX_SOURCE_COMPILES(" +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <neaacdec.h> + +int main(int argc, char **argv) +{ +#ifdef OLD_FAAD_PROTO +unsigned long int srate; +#else +uint32_t srate; +#endif +uint32_t l; +uint8_t *d; +unsigned char chan; +void *_instance; + NeAACDecInit2(_instance, d,l, &srate,&chan); + return 0; +}" FAAD_MODIFIED) +IF(FAAD_MODIFIED) +ADD_DEFINITIONS(-DFAAD_MODIFIED) +ENDIF(FAAD_MODIFIED) +ENDIF(FAAD_FOUND) + include_directories(${TAGLIB_INCLUDE_DIRS}) link_directories(${TAGLIB_LIBRARY_DIRS}) diff --git a/src/plugins/Input/aac/decoder_aac.cpp b/src/plugins/Input/aac/decoder_aac.cpp index 6953a686c..07f389627 100644 --- a/src/plugins/Input/aac/decoder_aac.cpp +++ b/src/plugins/Input/aac/decoder_aac.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2008 by Ilya Kotov * + * Copyright (C) 2006-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -195,7 +195,6 @@ bool DecoderAAC::initialize() m_input_at -= tag_size; m_input_at += input()->read((char *)(m_input_buf + m_input_at), AAC_BUFFER_SIZE - m_input_at); } - int res = NeAACDecInit (data()->handle, (unsigned char*) m_input_buf, m_input_at, &m_freq, &m_chan); if (res < 0) diff --git a/src/plugins/Input/aac/decoder_aac.h b/src/plugins/Input/aac/decoder_aac.h index 4b8d56982..64b1ec940 100644 --- a/src/plugins/Input/aac/decoder_aac.h +++ b/src/plugins/Input/aac/decoder_aac.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2008 by Ilya Kotov * + * Copyright (C) 2006-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -26,6 +26,7 @@ #include <qmmp/decoder.h> + struct aac_data { NeAACDecHandle handle; @@ -65,10 +66,17 @@ private: void *m_prebuf2; unsigned long m_output_bytes; +#ifdef FAAD_MODIFIED + uint32_t m_freq; + uint8_t m_chan; +#else + unsigned long m_freq; + unsigned char m_chan; +#endif + unsigned int m_bks; bool m_done, m_finish; - unsigned long m_len, m_freq, m_bitrate, m_input_at, m_output_at; - unsigned char m_chan; + unsigned long m_len, m_bitrate, m_input_at, m_output_at; unsigned long m_output_size; double m_frameSize; //frame size in bytes qint64 m_totalTime, m_seekTime; |
