Imported Upstream version 2.0.0
[platform/upstream/libmp4v2.git] / src / qosqualifiers.h
1 /*
2  * The contents of this file are subject to the Mozilla Public
3  * License Version 1.1 (the "License"); you may not use this file
4  * except in compliance with the License. You may obtain a copy of
5  * the License at http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS
8  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9  * implied. See the License for the specific language governing
10  * rights and limitations under the License.
11  *
12  * The Original Code is MPEG4IP.
13  *
14  * The Initial Developer of the Original Code is Cisco Systems Inc.
15  * Portions created by Cisco Systems Inc. are
16  * Copyright (C) Cisco Systems Inc. 2001.  All Rights Reserved.
17  *
18  * Contributor(s):
19  *      Dave Mackie     dmackie@cisco.com
20  */
21
22 #ifndef MP4V2_IMPL_QOSQUALIFIERS_H
23 #define MP4V2_IMPL_QOSQUALIFIERS_H
24
25 namespace mp4v2 {
26 namespace impl {
27
28 ///////////////////////////////////////////////////////////////////////////////
29
30 const uint8_t MP4QosDescrTag                = 0x0C;
31 const uint8_t MP4QosTagsStart               = 0x01;
32 const uint8_t MP4MaxDelayQosTag         = 0x01;
33 const uint8_t MP4PrefMaxDelayQosTag     = 0x02;
34 const uint8_t MP4LossProbQosTag         = 0x03;
35 const uint8_t MP4MaxGapLossQosTag           = 0x04;
36 const uint8_t MP4MaxAUSizeQosTag            = 0x41;
37 const uint8_t MP4AvgAUSizeQosTag            = 0x42;
38 const uint8_t MP4MaxAURateQosTag            = 0x43;
39 const uint8_t MP4QosTagsEnd             = 0xFF;
40
41 class MP4QosDescriptorBase : public MP4Descriptor {
42 public:
43     MP4QosDescriptorBase(MP4Atom &parentAtom, uint8_t tag);
44 private:
45     MP4QosDescriptorBase();
46     MP4QosDescriptorBase ( const MP4QosDescriptorBase &src );
47     MP4QosDescriptorBase &operator= ( const MP4QosDescriptorBase &src );
48 };
49
50 class MP4UnknownQosQualifier : public MP4Descriptor {
51 public:
52     MP4UnknownQosQualifier(MP4Atom &parentAtom);
53     void Read(MP4File& file);
54 private:
55     MP4UnknownQosQualifier();
56     MP4UnknownQosQualifier ( const MP4UnknownQosQualifier &src );
57     MP4UnknownQosQualifier &operator= ( const MP4UnknownQosQualifier &src );
58 };
59
60 ///////////////////////////////////////////////////////////////////////////////
61
62 }
63 } // namespace mp4v2::impl
64
65 #endif // MP4V2_IMPL_QOSQUALIFIERS_H