00001 /***************************************************************** 00002 | 00003 | Melo - ADTS Parser 00004 | 00005 | Copyright 2004-2006 Axiomatic Systems LLC 00006 | 00007 | This file is part of Melo (Melo AAC Decoder). 00008 | 00009 | Unless you have obtained Melo under a difference license, 00010 | this version of Melo is Melo|GPL. 00011 | Melo|GPL is free software; you can redistribute it and/or modify 00012 | it under the terms of the GNU General Public License as published by 00013 | the Free Software Foundation; either version 2, or (at your option) 00014 | any later version. 00015 | 00016 | Melo|GPL is distributed in the hope that it will be useful, 00017 | but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 | GNU General Public License for more details. 00020 | 00021 | You should have received a copy of the GNU General Public License 00022 | along with Melo|GPL; see the file COPYING. If not, write to the 00023 | Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 00024 | 02111-1307, USA. 00025 | 00026 ****************************************************************/ 00031 #ifndef _MLO_ADTS_PARSER_H_ 00032 #define _MLO_ADTS_PARSER_H_ 00033 00034 /*---------------------------------------------------------------------- 00035 | includes 00036 +---------------------------------------------------------------------*/ 00037 #include "MloTypes.h" 00038 00039 /*---------------------------------------------------------------------- 00040 | types 00041 +---------------------------------------------------------------------*/ 00042 typedef struct MLO_AdtsParser MLO_AdtsParser; 00043 00044 /*---------------------------------------------------------------------- 00045 | function prototypes 00046 +---------------------------------------------------------------------*/ 00047 #ifdef __cplusplus 00048 extern "C" { 00049 #endif /* __cplusplus */ 00050 00051 MLO_Result MLO_AdtsParser_Create(MLO_AdtsParser** parser); 00052 MLO_Result MLO_AdrsParser_Destroy(MLO_AdtsParser* parser); 00053 MLO_Result MLO_AdtsParser_Feed(MLO_AdtsParser* parser, 00054 MLO_ByteBuffer buffer, 00055 MLO_Size* size, 00056 MLO_Flags flags); 00057 MLO_Result MLO_AdtsParser_FindFrame(MLO_AdtsParser* parser, 00058 MLO_FrameData* frame); 00059 MLO_Result MLO_AdtsParser_Skip(MLO_AdtsParser* parser, 00060 MLO_Size bytes); 00061 unsigned int MLO_AdtsParser_GetBytesFree (const MLO_AdtsParser * parser_ptr); 00062 unsigned int MLO_AdtsParser_GetBytesAvailable (const MLO_AdtsParser * parser_ptr); 00063 00064 #ifdef __cplusplus 00065 } 00066 #endif /* __cplusplus */ 00067 00068 #endif /* _MLO_ADTS_PARSER_H_ */