• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 /*                     MPEG-4 InitialObjectDescriptor Class                      */
21 /*     -------------------------------------------------------------------       */
22 /*********************************************************************************/
23 
24 
25 #ifndef INITIALOBJECTDESCRIPTOR_H_INCLUDED
26 #define INITIALOBJECTDESCRIPTOR_H_INCLUDED
27 
28 #ifndef OSCL_FILE_IO_H_INCLUDED
29 #include "oscl_file_io.h"
30 #endif
31 
32 #ifndef OBJECTDESCRIPTOR_H_INCLUDED
33 #include "objectdescriptor.h"
34 #endif
35 
36 #ifndef ES_ID_INC_H_INCLUDED
37 #include "es_id_inc.h"
38 #endif
39 
40 class InitialObjectDescriptor : public ObjectDescriptor
41 {
42 
43     public:
44         InitialObjectDescriptor(MP4_FF_FILE *fp); // Stream-in Constructor
45         virtual ~InitialObjectDescriptor();
46 
47         // Member gets
getIncludeInlineProfilesFlag()48         bool getIncludeInlineProfilesFlag() const
49         {
50             return _includeInlineProfilesFlag;
51         }
getODProfileLevelIndication()52         uint8 getODProfileLevelIndication()
53         {
54             return _ODProfileLevelIndication;
55         }
getSceneProfileLevelIndication()56         uint8 getSceneProfileLevelIndication()
57         {
58             return _sceneProfileLevelIndication;
59         }
getAudioProfileLevelIndication()60         uint8 getAudioProfileLevelIndication()
61         {
62             return _audioProfileLevelIndication;
63         }
getVisualProfileLevelIndication()64         uint8 getVisualProfileLevelIndication()
65         {
66             return _visualProfileLevelIndication;
67         }
getGraphicsProfileLevelIndication()68         uint8 getGraphicsProfileLevelIndication()
69         {
70             return _graphicsProfileLevelIndication;
71         }
getReadCount()72         uint32 getReadCount()
73         {
74             return _count;
75         }
76 
77     private:
78         // ODID from base clase ObjectDescriptor (10)
79         // urlFlag from base class ObjectDescriptor (1)
80         bool _includeInlineProfilesFlag; // (1)
81         // _reserved from base class - now ONLY (4) instead of (5)
82 
83         uint8 _ODProfileLevelIndication; // (8)
84         uint8 _sceneProfileLevelIndication; // (8)
85         uint8 _audioProfileLevelIndication; // (8)
86         uint8 _visualProfileLevelIndication; // (8)
87         uint8 _graphicsProfileLevelIndication; // (8)
88         uint32 _count;
89 
90         Oscl_Vector<ES_ID_Inc *, OsclMemAllocator> * _pES_ID_Inc;
91 };
92 
93 #endif // INITIALOBJECTDESCRIPTOR_H_INCLUDED
94 
95 
96