1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 19 /* 20 This DataReferenceAtom Class contains a table of data references which declare 21 the location of the media data used within the MPEG-4 presentation. 22 */ 23 24 25 #ifndef DATAREFERENCEATOM_H_INCLUDED 26 #define DATAREFERENCEATOM_H_INCLUDED 27 28 #ifndef OSCL_FILE_IO_H_INCLUDED 29 #include "oscl_file_io.h" 30 #endif 31 #ifndef FULLATOM_H_INCLUDED 32 #include "fullatom.h" 33 #endif 34 #ifndef DATAENTRYATOM_H_INCLUDED 35 #include "dataentryatom.h" 36 #endif 37 #ifndef DATAENTRYURLATOM_H_INCLUDED 38 #include "dataentryurlatom.h" 39 #endif 40 #ifndef OSCL_VECTOR_H_INCLUDED 41 #include "oscl_vector.h" 42 #endif 43 44 class DataReferenceAtom : public FullAtom 45 { 46 47 public: 48 DataReferenceAtom(MP4_FF_FILE *fp, uint32 size, uint32 type); 49 virtual ~DataReferenceAtom(); 50 51 // Member gets and sets getEntryCount()52 uint32 getEntryCount() const 53 { 54 return _entryCount; 55 } 56 DataEntryAtom *getEntryAt(int32 index); 57 58 private: 59 60 uint32 _entryCount; 61 Oscl_Vector<DataEntryUrlAtom*, OsclMemAllocator> *_pdataEntryVec; 62 63 }; 64 65 #endif // DATAREFERENCEATOM_H_INCLUDED 66 67