atoms.h
资源名称:NETVIDEO.rar [点击查看]
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:7k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /*
- * The contents of this file are subject to the Mozilla Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is MPEG4IP.
- *
- * The Initial Developer of the Original Code is Cisco Systems Inc.
- * Portions created by Cisco Systems Inc. are
- * Copyright (C) Cisco Systems Inc. 2001. All Rights Reserved.
- *
- * Contributor(s):
- * Dave Mackie dmackie@cisco.com
- */
- #ifndef __MP4_ATOMS_INCLUDED__
- #define __MP4_ATOMS_INCLUDED__
- class MP4RootAtom : public MP4Atom {
- public:
- MP4RootAtom();
- void BeginWrite(bool use64 = false);
- void Write();
- void FinishWrite(bool use64 = false);
- void BeginOptimalWrite();
- void FinishOptimalWrite();
- protected:
- u_int32_t GetLastMdatIndex();
- void WriteAtomType(const char* type, bool onlyOne);
- };
- class MP4FtypAtom : public MP4Atom {
- public:
- MP4FtypAtom();
- void Generate();
- void Read();
- };
- class MP4MdatAtom : public MP4Atom {
- public:
- MP4MdatAtom();
- void Read();
- void Write();
- };
- class MP4MoovAtom : public MP4Atom {
- public:
- MP4MoovAtom();
- };
- class MP4MvhdAtom : public MP4Atom {
- public:
- MP4MvhdAtom();
- void Generate();
- void Read();
- protected:
- void AddProperties(u_int8_t version);
- };
- class MP4IodsAtom : public MP4Atom {
- public:
- MP4IodsAtom();
- };
- class MP4TrakAtom : public MP4Atom {
- public:
- MP4TrakAtom();
- };
- class MP4TkhdAtom : public MP4Atom {
- public:
- MP4TkhdAtom();
- void Generate();
- void Read();
- protected:
- void AddProperties(u_int8_t version);
- };
- class MP4TrefAtom : public MP4Atom {
- public:
- MP4TrefAtom();
- };
- class MP4TrefTypeAtom : public MP4Atom {
- public:
- MP4TrefTypeAtom(const char* type);
- void Read();
- };
- class MP4MdiaAtom : public MP4Atom {
- public:
- MP4MdiaAtom();
- };
- class MP4MdhdAtom : public MP4Atom {
- public:
- MP4MdhdAtom();
- void Generate();
- void Read();
- protected:
- void AddProperties(u_int8_t version);
- };
- class MP4HdlrAtom : public MP4Atom {
- public:
- MP4HdlrAtom();
- void Read();
- };
- class MP4MinfAtom : public MP4Atom {
- public:
- MP4MinfAtom();
- };
- class MP4VmhdAtom : public MP4Atom {
- public:
- MP4VmhdAtom();
- void Generate();
- };
- class MP4SmhdAtom : public MP4Atom {
- public:
- MP4SmhdAtom();
- };
- class MP4HmhdAtom : public MP4Atom {
- public:
- MP4HmhdAtom();
- };
- class MP4NmhdAtom : public MP4Atom {
- public:
- MP4NmhdAtom();
- };
- class MP4DinfAtom : public MP4Atom {
- public:
- MP4DinfAtom();
- };
- class MP4DrefAtom : public MP4Atom {
- public:
- MP4DrefAtom();
- void Read();
- };
- class MP4UrlAtom : public MP4Atom {
- public:
- MP4UrlAtom();
- void Read();
- void Write();
- };
- class MP4UrnAtom : public MP4Atom {
- public:
- MP4UrnAtom();
- void Read();
- };
- class MP4StblAtom : public MP4Atom {
- public:
- MP4StblAtom();
- void Generate();
- };
- class MP4StsdAtom : public MP4Atom {
- public:
- MP4StsdAtom();
- void Read();
- };
- class MP4Mp4aAtom : public MP4Atom {
- public:
- MP4Mp4aAtom();
- void Generate();
- };
- class MP4Mp4sAtom : public MP4Atom {
- public:
- MP4Mp4sAtom();
- void Generate();
- };
- class MP4Mp4vAtom : public MP4Atom {
- public:
- MP4Mp4vAtom();
- void Generate();
- };
- class MP4EsdsAtom : public MP4Atom {
- public:
- MP4EsdsAtom();
- };
- class MP4SttsAtom : public MP4Atom {
- public:
- MP4SttsAtom();
- };
- class MP4CttsAtom : public MP4Atom {
- public:
- MP4CttsAtom();
- };
- class MP4StszAtom : public MP4Atom {
- public:
- MP4StszAtom();
- void Read();
- void Write();
- };
- class MP4StscAtom : public MP4Atom {
- public:
- MP4StscAtom();
- void Read();
- };
- class MP4StcoAtom : public MP4Atom {
- public:
- MP4StcoAtom();
- };
- class MP4Co64Atom : public MP4Atom {
- public:
- MP4Co64Atom();
- };
- class MP4StssAtom : public MP4Atom {
- public:
- MP4StssAtom();
- };
- class MP4StshAtom : public MP4Atom {
- public:
- MP4StshAtom();
- };
- class MP4StdpAtom : public MP4Atom {
- public:
- MP4StdpAtom();
- void Read();
- };
- class MP4EdtsAtom : public MP4Atom {
- public:
- MP4EdtsAtom();
- };
- class MP4ElstAtom : public MP4Atom {
- public:
- MP4ElstAtom();
- void Generate();
- void Read();
- protected:
- void AddProperties(u_int8_t version);
- };
- class MP4UdtaAtom : public MP4Atom {
- public:
- MP4UdtaAtom();
- void Read();
- };
- class MP4CprtAtom : public MP4Atom {
- public:
- MP4CprtAtom();
- };
- class MP4HntiAtom : public MP4Atom {
- public:
- MP4HntiAtom();
- void Read();
- };
- class MP4RtpAtom : public MP4Atom {
- public:
- MP4RtpAtom();
- void Generate();
- void Read();
- void Write();
- protected:
- void AddPropertiesStsdType();
- void AddPropertiesHntiType();
- void GenerateStsdType();
- void GenerateHntiType();
- void ReadStsdType();
- void ReadHntiType();
- void WriteHntiType();
- };
- class MP4TimsAtom : public MP4Atom {
- public:
- MP4TimsAtom();
- };
- class MP4TsroAtom : public MP4Atom {
- public:
- MP4TsroAtom();
- };
- class MP4SnroAtom : public MP4Atom {
- public:
- MP4SnroAtom();
- };
- class MP4SdpAtom : public MP4Atom {
- public:
- MP4SdpAtom();
- void Read();
- void Write();
- };
- class MP4HinfAtom : public MP4Atom {
- public:
- MP4HinfAtom();
- void Generate();
- };
- class MP4TrpyAtom : public MP4Atom {
- public:
- MP4TrpyAtom();
- };
- class MP4NumpAtom : public MP4Atom {
- public:
- MP4NumpAtom();
- };
- class MP4TpylAtom : public MP4Atom {
- public:
- MP4TpylAtom();
- };
- class MP4MaxrAtom : public MP4Atom {
- public:
- MP4MaxrAtom();
- };
- class MP4DmedAtom : public MP4Atom {
- public:
- MP4DmedAtom();
- };
- class MP4DimmAtom : public MP4Atom {
- public:
- MP4DimmAtom();
- };
- class MP4DrepAtom : public MP4Atom {
- public:
- MP4DrepAtom();
- };
- class MP4TminAtom : public MP4Atom {
- public:
- MP4TminAtom();
- };
- class MP4TmaxAtom : public MP4Atom {
- public:
- MP4TmaxAtom();
- };
- class MP4PmaxAtom : public MP4Atom {
- public:
- MP4PmaxAtom();
- };
- class MP4DmaxAtom : public MP4Atom {
- public:
- MP4DmaxAtom();
- };
- class MP4PaytAtom : public MP4Atom {
- public:
- MP4PaytAtom();
- };
- class MP4MvexAtom : public MP4Atom {
- public:
- MP4MvexAtom();
- };
- class MP4TrexAtom : public MP4Atom {
- public:
- MP4TrexAtom();
- };
- class MP4MoofAtom : public MP4Atom {
- public:
- MP4MoofAtom();
- };
- class MP4MfhdAtom : public MP4Atom {
- public:
- MP4MfhdAtom();
- };
- class MP4TrafAtom : public MP4Atom {
- public:
- MP4TrafAtom();
- };
- class MP4TfhdAtom : public MP4Atom {
- public:
- MP4TfhdAtom();
- void Read();
- protected:
- void AddProperties(u_int32_t flags);
- };
- class MP4TrunAtom : public MP4Atom {
- public:
- MP4TrunAtom();
- void Read();
- protected:
- void AddProperties(u_int32_t flags);
- };
- class MP4FreeAtom : public MP4Atom {
- public:
- MP4FreeAtom();
- void Read();
- void Write();
- };
- #endif /* __MP4_ATOMS_INCLUDED__ */