PageRenderTime 111ms CodeModel.GetById 50ms app.highlight 2ms RepoModel.GetById 58ms app.codeStats 0ms

/thirdparty/liblastfm2/src/fingerprint/contrib/AacSource.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 46 lines | 21 code | 6 blank | 19 comment | 0 complexity | d85883fc6497a5c8aaec0a01d9c97d81 MD5 | raw file
 1/*
 2   Copyright 2009 Last.fm Ltd. 
 3   Copyright 2009 John Stamp <jstamp@users.sourceforge.net>
 4
 5   This file is part of liblastfm.
 6
 7   liblastfm is free software: you can redistribute it and/or modify
 8   it under the terms of the GNU General Public License as published by
 9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11
12   liblastfm is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with liblastfm.  If not, see <http://www.gnu.org/licenses/>.
19*/
20#ifndef __AAC_SOURCE_H__
21#define __AAC_SOURCE_H__
22
23#include <lastfm/FingerprintableSource>
24
25class AacSource : public lastfm::FingerprintableSource
26{
27public:
28    AacSource();
29    ~AacSource();
30
31    virtual void getInfo(int& lengthSecs, int& samplerate, int& bitrate, int& nchannels);
32    virtual void init(const QString& fileName);
33    virtual int updateBuffer(signed short* pBuffer, size_t bufferSize);
34    virtual void skip(const int mSecs);
35    virtual void skipSilence(double silenceThreshold = 0.0001);
36    virtual bool eof() const { return m_eof; }
37
38private:
39    int checkHeader();
40    QString m_fileName;
41    bool m_eof;
42    class AAC_File *m_aacFile;
43};
44
45#endif
46