aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-02-06 14:31:43 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-02-06 14:31:43 +0000
commit02ef6f2f2131d2e75846d937064f4e14ac3b27fd (patch)
treeb23fa80f7057387f63ad867c2b4bbc607f853f46 /src
parent107679c00c1fe0aa0ca278a920bbf7f2ab96f347 (diff)
downloadqmmp-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.txt29
-rw-r--r--src/plugins/Input/aac/decoder_aac.cpp3
-rw-r--r--src/plugins/Input/aac/decoder_aac.h14
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;