正在显示
4 个修改的文件
包含
79 行增加
和
7 行删除
不能预览此文件类型
| @@ -23,23 +23,54 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -23,23 +23,54 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 23 | 23 | ||
| 24 | #include <srs_kernel_mp4.hpp> | 24 | #include <srs_kernel_mp4.hpp> |
| 25 | 25 | ||
| 26 | -SrsMp4Box::SrsMp4Box(uint32_t bt) | 26 | +SrsMp4Box::SrsMp4Box() |
| 27 | { | 27 | { |
| 28 | size = 0; | 28 | size = 0; |
| 29 | - type = bt; | 29 | + type = 0; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | SrsMp4Box::~SrsMp4Box() | 32 | SrsMp4Box::~SrsMp4Box() |
| 33 | { | 33 | { |
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | -SrsMp4FullBox::SrsMp4FullBox(uint32_t bt, uint8_t v, uint32_t f) : SrsMp4Box(bt) | 36 | +SrsMp4FullBox::SrsMp4FullBox() |
| 37 | { | 37 | { |
| 38 | - version = v; | ||
| 39 | - flags = f; | 38 | + version = 0; |
| 39 | + flags = 0; | ||
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | SrsMp4FullBox::~SrsMp4FullBox() | 42 | SrsMp4FullBox::~SrsMp4FullBox() |
| 43 | { | 43 | { |
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | +SrsMp4FileTypeBox::SrsMp4FileTypeBox() | ||
| 47 | +{ | ||
| 48 | + type = 0x66747970; // 'ftyp' | ||
| 49 | + nb_compatible_brands = 0; | ||
| 50 | + compatible_brands = NULL; | ||
| 51 | + major_brand = minor_version = 0; | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +SrsMp4FileTypeBox::~SrsMp4FileTypeBox() | ||
| 55 | +{ | ||
| 56 | + srs_freepa(compatible_brands); | ||
| 57 | +} | ||
| 58 | + | ||
| 59 | +SrsMp4MovieBox::SrsMp4MovieBox() | ||
| 60 | +{ | ||
| 61 | + type = 0x6d6f6f76; // 'moov' | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +SrsMp4MovieBox::~SrsMp4MovieBox() | ||
| 65 | +{ | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +SrsMp4MovieHeaderBox::SrsMp4MovieHeaderBox() | ||
| 69 | +{ | ||
| 70 | + type = 0x6d766864; // 'mvhd' | ||
| 71 | +} | ||
| 72 | + | ||
| 73 | +SrsMp4MovieHeaderBox::~SrsMp4MovieHeaderBox() | ||
| 74 | +{ | ||
| 75 | +} | ||
| 76 | + |
| @@ -42,7 +42,7 @@ public: | @@ -42,7 +42,7 @@ public: | ||
| 42 | uint32_t size; | 42 | uint32_t size; |
| 43 | uint32_t type; | 43 | uint32_t type; |
| 44 | public: | 44 | public: |
| 45 | - SrsMp4Box(uint32_t bt); | 45 | + SrsMp4Box(); |
| 46 | virtual ~SrsMp4Box(); | 46 | virtual ~SrsMp4Box(); |
| 47 | }; | 47 | }; |
| 48 | 48 | ||
| @@ -58,10 +58,51 @@ public: | @@ -58,10 +58,51 @@ public: | ||
| 58 | // a map of flags | 58 | // a map of flags |
| 59 | uint32_t flags; | 59 | uint32_t flags; |
| 60 | public: | 60 | public: |
| 61 | - SrsMp4FullBox(uint32_t bt, uint8_t v, uint32_t f); | 61 | + SrsMp4FullBox(); |
| 62 | virtual ~SrsMp4FullBox(); | 62 | virtual ~SrsMp4FullBox(); |
| 63 | }; | 63 | }; |
| 64 | 64 | ||
| 65 | +/** | ||
| 66 | + * 4.3 File Type Box | ||
| 67 | + * ISO_IEC_14496-12-base-format-2012.pdf, page 17 | ||
| 68 | + */ | ||
| 69 | +class SrsMp4FileTypeBox : public SrsMp4Box | ||
| 70 | +{ | ||
| 71 | +public: | ||
| 72 | + // a brand identifier | ||
| 73 | + uint32_t major_brand; | ||
| 74 | + // an informative integer for the minor version of the major brand | ||
| 75 | + uint32_t minor_version; | ||
| 76 | +private: | ||
| 77 | + // a list, to the end of the box, of brands | ||
| 78 | + int nb_compatible_brands; | ||
| 79 | + uint32_t* compatible_brands; | ||
| 80 | +public: | ||
| 81 | + SrsMp4FileTypeBox(); | ||
| 82 | + virtual ~SrsMp4FileTypeBox(); | ||
| 83 | +}; | ||
| 84 | + | ||
| 85 | +/** | ||
| 86 | + * 8.2.1 Movie Box | ||
| 87 | + * ISO_IEC_14496-12-base-format-2012.pdf, page 31 | ||
| 88 | + */ | ||
| 89 | +class SrsMp4MovieBox : public SrsMp4Box | ||
| 90 | +{ | ||
| 91 | +public: | ||
| 92 | + SrsMp4MovieBox(); | ||
| 93 | + virtual ~SrsMp4MovieBox(); | ||
| 94 | +}; | ||
| 95 | + | ||
| 96 | +/** | ||
| 97 | + * 8.2.2 Movie Header Box | ||
| 98 | + * ISO_IEC_14496-12-base-format-2012.pdf, page 31 | ||
| 99 | + */ | ||
| 100 | +class SrsMp4MovieHeaderBox : public SrsMp4Box | ||
| 101 | +{ | ||
| 102 | +public: | ||
| 103 | + SrsMp4MovieHeaderBox(); | ||
| 104 | + virtual ~SrsMp4MovieHeaderBox(); | ||
| 105 | +}; | ||
| 65 | 106 | ||
| 66 | #endif | 107 | #endif |
| 67 | 108 |
-
请 注册 或 登录 后发表评论