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