17dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang/* 27dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * Copyright (C) 2009 The Android Open Source Project 37dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * 47dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * Licensed under the Apache License, Version 2.0 (the "License"); 57dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * you may not use this file except in compliance with the License. 67dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * You may obtain a copy of the License at 77dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * 87dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * http://www.apache.org/licenses/LICENSE-2.0 97dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * 107dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * Unless required by applicable law or agreed to in writing, software 117dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * distributed under the License is distributed on an "AS IS" BASIS, 127dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * See the License for the specific language governing permissions and 147dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang * limitations under the License. 157dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang */ 167dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 177dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#ifndef META_DATA_H_ 187dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 197dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#define META_DATA_H_ 207dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 217dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#include <sys/types.h> 227dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 237dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#include <stdint.h> 247dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 257dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#include <utils/RefBase.h> 267dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#include <utils/String8.h> 273d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0Marco Nelissen#include <media/stagefright/MetaDataBase.h> 287dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 297dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kangnamespace android { 307dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 313d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0Marco Nelissenclass MetaData final : public MetaDataBase, public RefBase { 327dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kangpublic: 337dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang MetaData(); 347dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang MetaData(const MetaData &from); 353d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0Marco Nelissen MetaData(const MetaDataBase &from); 367dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 377dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kangprotected: 387dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang virtual ~MetaData(); 397dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 407dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kangprivate: 417dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang friend class BnMediaSource; 423d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0Marco Nelissen friend class BpMediaSource; 437dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang friend class BpMediaExtractor; 447dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang static sp<MetaData> createFromParcel(const Parcel &parcel); 457dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang}; 467dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 477dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang} // namespace android 487dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang 497dc218e17800cc3ac95551e3280820f407adf7b5Dongwon Kang#endif // META_DATA_H_ 50