aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/mp3/include/xinglmc.h
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-11-04 02:40:09 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-11-04 02:40:09 +0000
commitf8c39a08f6ff651221ff896f8a174abf635f3a0a (patch)
treeac950750c9c1b65bb563df9c6506858c7f8f30c1 /codecs/mp3/include/xinglmc.h
parentad46ab972ccf439d1dd3a533335b54089c53e431 (diff)
Remove really broke MP3 stuff in favor of G.726 in the near future
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1689 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/mp3/include/xinglmc.h')
-rwxr-xr-xcodecs/mp3/include/xinglmc.h166
1 files changed, 0 insertions, 166 deletions
diff --git a/codecs/mp3/include/xinglmc.h b/codecs/mp3/include/xinglmc.h
deleted file mode 100755
index b03caa1e8..000000000
--- a/codecs/mp3/include/xinglmc.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*____________________________________________________________________________
-
- FreeAmp - The Free MP3 Player
- Portions Copyright (C) 1998-1999 EMusic.com
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- $Id$
-
-____________________________________________________________________________*/
-
-#ifndef INCLUDED_XINGLMC_H_
-#define INCLUDED_XINGLMC_H_
-
-/* system headers */
-#include <stdlib.h>
-#include <time.h>
-
-/* project headers */
-#include "config.h"
-
-#include "pmi.h"
-#include "pmo.h"
-#include "mutex.h"
-#include "event.h"
-#include "lmc.h"
-#include "thread.h"
-#include "mutex.h"
-#include "queue.h"
-#include "semaphore.h"
-
-extern "C"
-{
-#include "mhead.h"
-#include "port.h"
-}
-
-#define BS_BUFBYTES 60000U
-#define PCM_BUFBYTES 60000U
-
-typedef struct
-{
- int (*decode_init) (MPEG_HEAD * h, int framebytes_arg,
- int reduction_code, int transform_code,
- int convert_code, int freq_limit);
- void (*decode_info) (DEC_INFO * info);
- IN_OUT(*decode) (unsigned char *bs, short *pcm);
-}
-AUDIO;
-
-#define FRAMES_FLAG 0x0001
-#define BYTES_FLAG 0x0002
-#define TOC_FLAG 0x0004
-#define VBR_SCALE_FLAG 0x0008
-
-#define FRAMES_AND_BYTES (FRAMES_FLAG | BYTES_FLAG)
-
-// structure to receive extracted header
-// toc may be NULL
-typedef struct
-{
- int h_id; // from MPEG header, 0=MPEG2, 1=MPEG1
- int samprate; // determined from MPEG header
- int flags; // from Xing header data
- int frames; // total bit stream frames from Xing header data
- int bytes; // total bit stream bytes from Xing header data
- int vbr_scale; // encoded vbr scale from Xing header data
- unsigned char *toc; // pointer to unsigned char toc_buffer[100]
- // may be NULL if toc not desired
-} XHEADDATA;
-
-enum
-{
- lmcError_MinimumError = 1000,
- lmcError_DecodeFailed,
- lmcError_AudioDecodeInitFailed,
- lmcError_DecoderThreadFailed,
- lmcError_PMIError,
- lmcError_PMOError,
- lmcError_MaximumError
-};
-
-class XingLMC:public LogicalMediaConverter
-{
-
- public:
- XingLMC(FAContext *context);
- virtual ~XingLMC();
-
- virtual uint32 CalculateSongLength(const char *url);
-
- virtual Error ChangePosition(int32 position);
-
- virtual Error CanDecode();
- virtual void Clear();
- virtual Error ExtractMediaInfo();
-
- virtual void SetPMI(PhysicalMediaInput *pmi) { m_pPmi = pmi; };
- virtual void SetPMO(PhysicalMediaOutput *pmo) { m_pPmo = pmo; };
- virtual Error Prepare(PullBuffer *pInputBuffer, PullBuffer *&pOutBuffer);
- virtual Error InitDecoder();
-
- virtual Error SetEQData(float *);
- virtual Error SetEQData(bool);
-
- virtual vector<char *> *GetExtensions(void);
-
- private:
-
- static void DecodeWorkerThreadFunc(void *);
- void DecodeWork();
- Error BeginRead(void *&pBuffer, unsigned int iBytesNeeded,
- bool bBufferUp = true);
- Error BlockingBeginRead(void *&pBuffer,
- unsigned int iBytesNeeded);
- Error EndRead(size_t iBytesUsed);
- Error AdvanceBufferToNextFrame();
- Error GetHeadInfo();
- Error GetBitstreamStats(float &fTotalSeconds, float &fMsPerFrame,
- int &iTotalFrames, int &iSampleRate,
- int &iLayer);
-
- int GetXingHeader(XHEADDATA *X, unsigned char *buf);
- int SeekPoint(unsigned char TOC[100], int file_bytes, float percent);
- int ExtractI4(unsigned char *buf);
-
- PhysicalMediaInput *m_pPmi;
- PhysicalMediaOutput *m_pPmo;
-
- int m_iMaxWriteSize;
- int32 m_frameBytes, m_iBufferUpInterval, m_iBufferSize;
- size_t m_lFileSize;
- MPEG_HEAD m_sMpegHead;
- int32 m_iBitRate;
- bool m_bBufferingUp;
- Thread *m_decoderThread;
-
- int32 m_frameCounter;
- time_t m_iBufferUpdate;
- char *m_szUrl;
- const char *m_szError;
- AUDIO m_audioMethods;
- XHEADDATA *m_pXingHeader;
-
- // These vars are used for a nasty hack.
- FILE *m_fpFile;
- char *m_pLocalReadBuffer;
-};
-
-#endif /* _XINGLMC_H */
-
-
-
-