Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os-example-mbed5-blinky by
Diff: DuerOS-Light-SDK-v1.1.0/duer-os-light/external/mp3dec/pub/mpadecobjfixpt.h
- Revision:
- 47:9e361da97763
diff -r 183cfc59d4e4 -r 9e361da97763 DuerOS-Light-SDK-v1.1.0/duer-os-light/external/mp3dec/pub/mpadecobjfixpt.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DuerOS-Light-SDK-v1.1.0/duer-os-light/external/mp3dec/pub/mpadecobjfixpt.h Tue Jul 18 16:54:45 2017 +0800
@@ -0,0 +1,108 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: RCSL 1.0/RPSL 1.0
+ *
+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
+ *
+ * The contents of this file, and the files included with this file, are
+ * subject to the current version of the RealNetworks Public Source License
+ * Version 1.0 (the "RPSL") available at
+ * http://www.helixcommunity.org/content/rpsl unless you have licensed
+ * the file under the RealNetworks Community Source License Version 1.0
+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
+ * in which case the RCSL will apply. You may also obtain the license terms
+ * directly from RealNetworks. You may not use this file except in
+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
+ * applicable to this file, the RCSL. Please see the applicable RPSL or
+ * RCSL for the rights, obligations and limitations governing use of the
+ * contents of the file.
+ *
+ * This file is part of the Helix DNA Technology. RealNetworks is the
+ * developer of the Original Code and owns the copyrights in the portions
+ * it created.
+ *
+ * This file, and the files included with this file, is distributed and made
+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ *
+ * Technology Compatibility Kit Test Suite(s) Location:
+ * http://www.helixcommunity.org/content/tck
+ *
+ * Contributor(s):
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#ifndef _MPADECOBJFIXPT_H_
+#define _MPADECOBJFIXPT_H_
+
+#include "mp3dec.h" /* public C API for new MP3 decoder */
+
+class CMpaDecObj
+{
+public:
+ CMpaDecObj();
+ ~CMpaDecObj();
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Function: Init_n
+ // Purpose: Initialize the mp3 decoder.
+ // Parameters: pSync a pointer to a syncword
+ // ulSize the size of the buffer pSync points to
+ // bUseSize this tells the decoder to use the input frame
+ // size on the decode instead of calculating
+ // the frame size. This is necessary when
+ // our formatted mp3 data (main_data_begin always
+ // equal to 0).
+ //
+ // Returns: returns 1 on success, 0 on failure
+ ///////////////////////////////////////////////////////////////////////////
+ int Init_n(unsigned char *pSync,
+ unsigned long ulSize,
+ unsigned char bUseSize=0);
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Function: DecodeFrame_v
+ // Purpose: Decodes one mp3 frame
+ // Parameters: pSource pointer to an mp3 frame (at a syncword)
+ // pulSize size of the buffer pSource points to. It will
+ // contain the number of mp3 bytes decoded upon
+ // return.
+ // pPCM pointer to a buffer to decode into
+ // pulPCMSize size of the PCM buffer. It will contain the
+ // number of PCM bytes prodced upon return.
+ ///////////////////////////////////////////////////////////////////////////
+ void DecodeFrame_v(unsigned char *pSource,
+ unsigned long *pulSize,
+ unsigned char *pPCM,
+ unsigned long *pulPCMSize);
+
+ // overloaded new version that returns error code in errCode
+ void DecodeFrame_v(unsigned char *pSource,
+ unsigned long *pulSize,
+ unsigned char *pPCM,
+ unsigned long *pulPCMSize,
+ int *errCode);
+
+ void GetPCMInfo_v(unsigned long &ulSampRate,
+ int &nChannels,
+ int &nBitsPerSample);
+
+ // return number of samples per frame, PER CHANNEL (renderer multiplies this result by nChannels)
+ int GetSamplesPerFrame_n();
+
+ void SetTrustPackets(unsigned char bTrust) { m_bTrustPackets = bTrust; }
+
+private:
+ void * m_pDec; // generic void ptr
+
+ void * m_pDecL1; // not implemented (could use old Xing mpadecl1.cpp)
+ void * m_pDecL2; // not implemented (could use old Xing mpadecl2.cpp)
+ HMP3Decoder m_pDecL3;
+
+ MP3FrameInfo m_lastMP3FrameInfo;
+ unsigned char m_bUseFrameSize;
+ unsigned char m_bTrustPackets;
+};
+
+#endif /* _MPADECOBJFIXPT_H_ */
