157648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber/* 257648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * Copyright (C) 2010 The Android Open Source Project 357648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * 457648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 557648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * you may not use this file except in compliance with the License. 657648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * You may obtain a copy of the License at 757648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * 857648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 957648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * 1057648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * Unless required by applicable law or agreed to in writing, software 1157648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 1257648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1357648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * See the License for the specific language governing permissions and 1457648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber * limitations under the License. 1557648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber */ 1657648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 1757648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber#ifndef A_AMR_ASSEMBLER_H_ 1857648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 1957648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber#define A_AMR_ASSEMBLER_H_ 2057648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 2157648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber#include "ARTPAssembler.h" 2257648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 2357648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber#include <utils/List.h> 2457648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 2557648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber#include <stdint.h> 2657648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 2757648e4eec7dd2593af467877bc7cce4aa654759Andreas Hubernamespace android { 2857648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 2957648e4eec7dd2593af467877bc7cce4aa654759Andreas Huberstruct AMessage; 3057648e4eec7dd2593af467877bc7cce4aa654759Andreas Huberstruct AString; 3157648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 3257648e4eec7dd2593af467877bc7cce4aa654759Andreas Huberstruct AAMRAssembler : public ARTPAssembler { 3357648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber AAMRAssembler( 3457648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber const sp<AMessage> ¬ify, bool isWide, 3557648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber const AString ¶ms); 3657648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 3757648e4eec7dd2593af467877bc7cce4aa654759Andreas Huberprotected: 3857648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber virtual ~AAMRAssembler(); 3957648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 4057648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber virtual AssemblyStatus assembleMore(const sp<ARTPSource> &source); 4157648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber virtual void onByeReceived(); 4257648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber virtual void packetLost(); 4357648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 4457648e4eec7dd2593af467877bc7cce4aa654759Andreas Huberprivate: 4557648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber bool mIsWide; 4657648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 4757648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber sp<AMessage> mNotifyMsg; 4857648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber bool mNextExpectedSeqNoValid; 4957648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber uint32_t mNextExpectedSeqNo; 5057648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 5157648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber AssemblyStatus addPacket(const sp<ARTPSource> &source); 5257648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 5357648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber DISALLOW_EVIL_CONSTRUCTORS(AAMRAssembler); 5457648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber}; 5557648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 5657648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber} // namespace android 5757648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 5857648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber#endif // A_AMR_ASSEMBLER_H_ 5957648e4eec7dd2593af467877bc7cce4aa654759Andreas Huber 60