17c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* 27c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project 37c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 47c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License"); 57c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * you may not use this file except in compliance with the License. 67c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * You may obtain a copy of the License at 77c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 87c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * http://www.apache.org/licenses/LICENSE-2.0 97c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Unless required by applicable law or agreed to in writing, software 117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS, 127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * See the License for the specific language governing permissions and 147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * limitations under the License. 157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file M4AMRR_CoreReader.h 207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Implementation of AMR parser 217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note This file contains the API def. for AMR Parser. 227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifndef __M4AMR_COREREADER_H__ 257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define __M4AMR_COREREADER_H__ 267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargiextern "C" { 297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif 307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_Types.h" 327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_FileReader.h" 337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4SYS_Stream.h" 347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4SYS_AccessUnit.h" 357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4OSA_Time.h" 367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#include "M4TOOL_VersionInfo.h" 377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * AMR reader Errors & Warnings definition 417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4ERR_AMR_INVALID_FRAME_TYPE M4OSA_ERR_CREATE(M4_ERR,M4AMR_READER, 0x000001) 447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define M4ERR_AMR_NOT_COMPLIANT M4OSA_ERR_CREATE(M4_ERR,M4AMR_READER, 0x000002) 457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * enumeration M4AMRR_State 497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief This enum defines the AMR reader states 507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note These states are used internaly, but can be retrieved from outside the reader. 517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum{ 547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4AMRR_kOpening = 0x0100, 557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4AMRR_kOpened = 0x0101, 567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4AMRR_kReading = 0x0200, 577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4AMRR_kReading_nextAU = 0x0201, 587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4AMRR_kClosed = 0x300 597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi}M4AMRR_State; 607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi******************************************************************************* 637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_openRead (M4OSA_Context* pContext, M4OSA_Void* pFileDescriptor, 647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_FileReaderPointer* pFileFunction); 657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief M4AMRR_OpenRead parses the meta data of the AMR and allocates data structure 667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @note This function opens the file and creates a context for AMR Parser. 677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* - sets context to null if error occured. 687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pContext(OUT) : AMR Reader context allocated in the function 697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pFileDesscriptor(IN): File descriptor of the input file 707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pFileFunction(IN) : pointer to file function for file access 717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : pContext and/or pFileDescriptor is NULL 747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_FILE_NOT_FOUND : file cannot be found 767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4AMRR_ERR_AMR_NOT_COMPLIANT : Tthe input is not a AMR file 777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4OSA_FILE : See OSAL file Spec. for details. 787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi******************************************************************************* 797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_openRead (M4OSA_Context* pContext, M4OSA_Void* pFileDescriptor, 817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4OSA_FileReadPointer* pFileFunction); 827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_getNextStream(M4OSA_Context Context, M4SYS_StreamDescription* pStreamDesc ); 867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief Reads the next available stream in the file 877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @note Get the stream description of the stream. 887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* - This function assumes that there is only one stream in AMR file. 897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN/OUT) : AMR Reader context 907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pStreamDesc(OUT): Description of the next read stream 917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_STATE : this function cannot be called in this state. 977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4AMRR_WAR_NO_MORE_STREAM : There are no more streams in the file. 987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_getNextStream(M4OSA_Context Context, M4SYS_StreamDescription* pStreamDesc ); 1027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_startReading(M4OSA_Context Context, M4SYS_StreamID* pStreamIDs ); 1067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief Prepares the AMR reading of the specified stream Ids 1077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @note This function changes the state of the reader reading. 1087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN/OUT) : AMR Reader context 1097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pStreamIDs(IN) : Array of stream Ids to be prepared. 1107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 1117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 1127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 1137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 1147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 1157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_STATE : this function cannot be called in this state. 1167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. 1177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_startReading(M4OSA_Context Context, M4SYS_StreamID* pStreamIDs ); 1207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_nextAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); 1247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief Reads the access unit into the providing stream 1257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @note This function allocates the memory to dataAddress filed and copied the data. 1267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* -The Application should not free the dataAddress pointer. 1277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN/OUT) : AMR Reader context 1287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param StreamID(IN) : Selects the stream 1297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pAu(IN/OUT) : Access Unit 1307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 1317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 1327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 1337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 1347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 1357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_STATE : this function cannot be called in this state. 1367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. 1377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4WAR_NO_DATA_YET : there is no enough data on the stream for new access unit 1387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4WAR_END_OF_STREAM : There are no more access unit in the stream 1397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4AMRR_ERR_INVALID_FRAME_TYPE : current frame has no valid frame type. 1407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_nextAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); 1437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_freeAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); 1477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief Notify the ARM Reader that application will no longer use "AU" 1487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @note This function frees the memory pointed by pAu->dataAddress pointer 1497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* -Changes the state of the reader back to reading. 1507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN/OUT) : AMR Reader context 1517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param StreamID(IN) : Selects the stream 1527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pAu(IN) : Access Unit 1537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 1547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 1557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 1567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 1577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 1587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_STATE : this function cannot be called in this state. 1597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. 1607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_freeAU(M4OSA_Context Context, M4SYS_StreamID StreamID, M4SYS_AccessUnit* pAu); 1637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_seek(M4OSA_Context Context, M4SYS_StreamID* pStreamID, M4OSA_Time time, 1677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4SYS_seekAccessMode seekMode, M4OSA_Time* pObtainCTS); 1687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief The function seeks the targeted time in the give stream by streamId. 1697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @note Each frame is of 20 ms duration,, builds the seek table and points 1707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* the file pointer to starting for the required AU. 1717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN/OUT) : AMR Reader context 1727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param StreamID(IN) : Array of stream IDs. 1737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param time(IN) : targeted time 1747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param seekMode(IN) : Selects the seek mode 1757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pObtainCTS(OUT) : Returned time nearest to target. 1767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 1777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 1787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 1797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 1807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 1817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_STATE : this function cannot be called in this state. 1827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. 1837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4WAR_INVALID_TIME : time cannot be reached. 1847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 1867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_seek(M4OSA_Context Context, M4SYS_StreamID* pStreamID, M4OSA_Time time, 1877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi M4SYS_SeekAccessMode seekMode, M4OSA_Time* pObtainCTS); 1887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 1907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 1917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_closeRead(M4OSA_Context Context); 1927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief AMR reader closes the file 1937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN?OUT) : AMR Reader context 1947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 1957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 1967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 1977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_ALLOC : Memory allocation failed 1987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_STATE : this function cannot be called in this state. 1997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 2007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_closeRead(M4OSA_Context Context); 2027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 2057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* M4OSA_ERR M4AMRR_getState(M4OSA_Context Context, M4AMRR_State* pState, M4SYS_StreamID streamId); 2067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @brief Gets the current state of the AMR reader 2077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param Context(IN/OUT) : AMR Reader context 2087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param pState(OUT) : Core AMR reader state 2097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @param streamId(IN) : Selects the stream 0 for all 2107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* 2117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4NO_ERROR : There is no error 2127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_PARAMETER : atleast one parament is NULL 2137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_CONTEXT : The provided context is not valid 2147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi* @returns M4ERR_BAD_STREAM_ID : Atleast one of the stream Id. does not exist. 2157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi****************************************************************************** 2167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_getState(M4OSA_Context Context, M4AMRR_State* pState, M4SYS_StreamID streamId); 2187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4AMRR_getVersion (M4_VersionInfo *pVersion) 2237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Gets the current version of the AMR reader 2247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param version(OUT) : the structure that stores the version numbers 2257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @returns M4NO_ERROR : There is no error 2277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @returns M4ERR_PARAMETER : version is NULL 2287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_getVersion (M4_VersionInfo *pVersion); 2317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/** 2337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * M4OSA_ERR M4AMRR_getmaxAUsize (M4OSA_Context Context, M4OSA_UInt32 *pMaxAuSize) 2357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief Computes the maximum access unit size of a stream 2367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param Context (IN) Context of the reader 2387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @param pMaxAuSize (OUT) Maximum Access Unit size in the stream 2397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 2407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4NO_ERROR: No error 2417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @return M4ERR_PARAMETER: One of the input pointer is M4OSA_NULL (Debug only) 2427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ****************************************************************************** 2437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*/ 2447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray KundargiM4OSA_ERR M4AMRR_getmaxAUsize(M4OSA_Context Context, M4OSA_UInt32 *pMaxAuSize); 2457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 2477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 2487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} 2497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __cplusplus*/ 2507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /*__M4AMR_COREREADER_H__*/ 2517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 252