[STABLE] MP4 boxes finished, started on the interface, big part of the constructor and destructer are finished
This commit is contained in:
		
							parent
							
								
									c633734d07
								
							
						
					
					
						commit
						86fd8c59e8
					
				
					 7 changed files with 153 additions and 18 deletions
				
			
		|  | @ -1,4 +1,4 @@ | |||
| SRC = box_avcC.cpp box.cpp box_dinf.cpp box_dref.cpp box_esds.cpp box_ftyp.cpp box_hdlr.cpp box_hmhd.cpp box_mdhd.cpp box_mdia.cpp box_minf.cpp box_moov.cpp box_mvhd.cpp box_nmhd.cpp box_smhd.cpp box_stbl.cpp box_stco.cpp box_stsc.cpp box_stsd.cpp box_stts.cpp box_tkhd.cpp box_trak.cpp box_url.cpp box_vmhd.cpp main.cpp | ||||
| SRC = box_avcC.cpp box.cpp box_dinf.cpp box_dref.cpp box_esds.cpp box_ftyp.cpp box_hdlr.cpp box_hmhd.cpp box_mdhd.cpp box_mdia.cpp box_minf.cpp box_moov.cpp box_mvhd.cpp box_nmhd.cpp box_smhd.cpp box_stbl.cpp box_stco.cpp box_stsc.cpp box_stsd.cpp box_stts.cpp box_tkhd.cpp box_trak.cpp box_url.cpp box_vmhd.cpp main.cpp interface.cpp | ||||
| OBJ = $(SRC:.cpp=.o) | ||||
| OUT = Boxtest | ||||
| INCLUDES =  | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ Box * Box_dinf::GetBox() { | |||
|   return Container; | ||||
| } | ||||
| 
 | ||||
| void Box_dinf::AddContent( Box * newcontent, uint32_t offset ) { | ||||
| void Box_dinf::AddContent( Box * newcontent ) { | ||||
|   if(Content) { | ||||
|     delete Content; | ||||
|     Content = NULL; | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ class Box_dinf { | |||
|     Box_dinf(); | ||||
|     ~Box_dinf(); | ||||
|     Box * GetBox(); | ||||
|     void AddContent( Box * newcontent, uint32_t offset = 0 ); | ||||
|     void AddContent( Box * newcontent ); | ||||
|   private: | ||||
|     Box * Container; | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										23
									
								
								MP4/box_includes.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								MP4/box_includes.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| #include "box_avcC.h" | ||||
| #include "box_dinf.h" | ||||
| #include "box_dref.h" | ||||
| #include "box_esds.h" | ||||
| #include "box_ftyp.h" | ||||
| #include "box_hdlr.h" | ||||
| #include "box_hmhd.h" | ||||
| #include "box_mdhd.h" | ||||
| #include "box_mdia.h" | ||||
| #include "box_minf.h" | ||||
| #include "box_moov.h" | ||||
| #include "box_mvhd.h" | ||||
| #include "box_nmhd.h" | ||||
| #include "box_smhd.h" | ||||
| #include "box_stbl.h" | ||||
| #include "box_stco.h" | ||||
| #include "box_stsc.h" | ||||
| #include "box_stsd.h" | ||||
| #include "box_stts.h" | ||||
| #include "box_tkhd.h" | ||||
| #include "box_trak.h" | ||||
| #include "box_url.h" | ||||
| #include "box_vmhd.h" | ||||
							
								
								
									
										73
									
								
								MP4/interface.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								MP4/interface.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,73 @@ | |||
| #include "interface.h" | ||||
| 
 | ||||
| Interface::Interface() { | ||||
|   ftyp = new Box_ftyp(); | ||||
|   moov = new Box_moov(); | ||||
|   mvhd = new Box_mvhd(); | ||||
|   trak_vide = new Box_trak(); | ||||
|   tkhd_vide = new Box_tkhd(); | ||||
|   mdia_vide = new Box_mdia(); | ||||
|   mdhd_vide = new Box_mdhd(); | ||||
|   hdlr_vide = new Box_hdlr(); | ||||
|   minf_vide = new Box_minf(); | ||||
|   dinf_vide = new Box_dinf(); | ||||
|   dref_vide = new Box_dref(); | ||||
|   url_vide = new Box_url(); | ||||
|   stbl_vide = new Box_stbl(); | ||||
|   stts_vide = new Box_stts(); | ||||
|   stsc_vide = new Box_stsc(); | ||||
|   stco_vide = new Box_stco(); | ||||
|   stsd_vide = new Box_stsd(); | ||||
|   avcC_vide = new Box_avcC(); | ||||
|   trak_soun = new Box_trak(); | ||||
|   tkhd_soun = new Box_tkhd(); | ||||
|   mdia_soun = new Box_mdia(); | ||||
|   mdhd_soun = new Box_mdhd(); | ||||
|   hdlr_soun = new Box_hdlr(); | ||||
|   minf_soun = new Box_minf(); | ||||
|   dinf_soun = new Box_dinf(); | ||||
|   dref_soun = new Box_dref(); | ||||
|   url_soun = new Box_url(); | ||||
|   stbl_soun = new Box_stbl(); | ||||
|   stts_soun = new Box_stts(); | ||||
|   stsc_soun = new Box_stsc(); | ||||
|   stco_soun = new Box_stco(); | ||||
|   stsd_soun = new Box_stsd(); | ||||
|   esds_soun = new Box_esds(); | ||||
| } | ||||
| 
 | ||||
| Interface::~Interface() { | ||||
|   if( esds_soun ) { delete esds_soun; esds_soun = NULL; } | ||||
|   if( stsd_soun ) { delete stsd_soun; stsd_soun = NULL; } | ||||
|   if( stco_soun ) { delete stco_soun; stco_soun = NULL; } | ||||
|   if( stsc_soun ) { delete stsc_soun; stsc_soun = NULL; } | ||||
|   if( stts_soun ) { delete stts_soun; stts_soun = NULL; } | ||||
|   if( stbl_soun ) { delete stbl_soun; stbl_soun = NULL; } | ||||
|   if( url_soun ) { delete url_soun; url_soun = NULL; } | ||||
|   if( dref_soun ) { delete dref_soun; dref_soun = NULL; } | ||||
|   if( dinf_soun ) { delete dinf_soun; dinf_soun = NULL; } | ||||
|   if( minf_soun ) { delete minf_soun; minf_soun = NULL; } | ||||
|   if( hdlr_soun ) { delete hdlr_soun; hdlr_soun = NULL; } | ||||
|   if( mdhd_soun ) { delete mdhd_soun; mdhd_soun = NULL; } | ||||
|   if( mdia_soun ) { delete mdia_soun; mdia_soun = NULL; } | ||||
|   if( tkhd_soun ) { delete tkhd_soun; tkhd_soun = NULL; } | ||||
|   if( trak_soun ) { delete trak_soun; trak_soun = NULL; } | ||||
|   if( avcC_vide ) { delete avcC_vide; avcC_vide = NULL; } | ||||
|   if( stsd_vide ) { delete stsd_vide; stsd_vide = NULL; } | ||||
|   if( stco_vide ) { delete stco_vide; stco_vide = NULL; } | ||||
|   if( stsc_vide ) { delete stsc_vide; stsc_vide = NULL; } | ||||
|   if( stts_vide ) { delete stts_vide; stts_vide = NULL; } | ||||
|   if( stbl_vide ) { delete stbl_vide; stbl_vide = NULL; } | ||||
|   if( url_vide ) { delete url_vide; url_vide = NULL; } | ||||
|   if( dref_vide ) { delete dref_vide; dref_vide = NULL; } | ||||
|   if( dinf_vide ) { delete dinf_vide; dinf_vide = NULL; } | ||||
|   if( minf_vide ) { delete minf_vide; minf_vide = NULL; } | ||||
|   if( hdlr_vide ) { delete hdlr_vide; hdlr_vide = NULL; } | ||||
|   if( mdhd_vide ) { delete mdhd_vide; mdhd_vide = NULL; } | ||||
|   if( mdia_vide ) { delete mdia_vide; mdia_vide = NULL; } | ||||
|   if( tkhd_vide ) { delete tkhd_vide; tkhd_vide = NULL; } | ||||
|   if( trak_vide ) { delete trak_vide; trak_vide = NULL; } | ||||
|   if( mvhd ) { delete mvhd; mvhd = NULL; } | ||||
|   if( moov ) { delete moov; moov = NULL; } | ||||
|   if( ftyp ) { delete ftyp; ftyp = NULL; } | ||||
| } | ||||
							
								
								
									
										47
									
								
								MP4/interface.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								MP4/interface.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,47 @@ | |||
| #include "box_includes.h" | ||||
| 
 | ||||
| class Interface { | ||||
|   public: | ||||
|     Interface(); | ||||
|     ~Interface(); | ||||
|     void link(); | ||||
|   private: | ||||
|     Box_ftyp * ftyp; | ||||
|     Box_moov * moov; | ||||
|     Box_mvhd * mvhd; | ||||
| 
 | ||||
|     Box_trak * trak_vide; | ||||
|     Box_tkhd * tkhd_vide; | ||||
|     Box_mdia * mdia_vide; | ||||
|     Box_mdhd * mdhd_vide; | ||||
|     Box_hdlr * hdlr_vide; | ||||
|     Box_minf * minf_vide; | ||||
|     Box_vmhd * vmhd_vide; | ||||
|     Box_dinf * dinf_vide; | ||||
|     Box_dref * dref_vide; | ||||
|     Box_url * url_vide; | ||||
|     Box_stbl * stbl_vide; | ||||
|     Box_stts * stts_vide; | ||||
|     Box_stsc * stsc_vide; | ||||
|     Box_stco * stco_vide; | ||||
|     Box_stsd * stsd_vide; | ||||
|     Box_avcC * avcC_vide; | ||||
| 
 | ||||
|     Box_trak * trak_soun; | ||||
|     Box_tkhd * tkhd_soun; | ||||
|     Box_mdia * mdia_soun; | ||||
|     Box_mdhd * mdhd_soun; | ||||
|     Box_hdlr * hdlr_soun; | ||||
|     Box_minf * minf_soun; | ||||
|     Box_smhd * smhd_soun; | ||||
|     Box_dinf * dinf_soun; | ||||
|     Box_dref * dref_soun; | ||||
|     Box_url * url_soun; | ||||
|     Box_stbl * stbl_soun; | ||||
|     Box_stts * stts_soun; | ||||
|     Box_stsc * stsc_soun; | ||||
|     Box_stco * stco_soun; | ||||
|     Box_stsd * stsd_soun; | ||||
|     Box_esds * esds_soun; | ||||
| };//Interface class
 | ||||
| 
 | ||||
							
								
								
									
										22
									
								
								MP4/main.cpp
									
										
									
									
									
								
							
							
						
						
									
										22
									
								
								MP4/main.cpp
									
										
									
									
									
								
							|  | @ -1,19 +1,11 @@ | |||
| #include <iostream> | ||||
| #include "box_avcC.h" | ||||
| #include "box_stsd.h" | ||||
| #include <string> | ||||
| #include "interface.h" | ||||
| 
 | ||||
| int main() { | ||||
|   Box_avcC * Testing = new Box_avcC(); | ||||
|   Testing->SetCompressorName( "Test123" ); | ||||
|   std::cout << "H264::Size: " << Testing->GetBox()->GetHeader().TotalSize << "\n"; | ||||
|   Box_stsd * Testsample = new Box_stsd(); | ||||
|   std::cout << "STSD::Before Content: " << Testsample->GetBox()->GetHeader().TotalSize << "\n"; | ||||
|   Testsample->AddContent( Testing->GetBox() ); | ||||
|   std::cout << "STSD::After 1 Content: " << Testsample->GetBox()->GetHeader().TotalSize << "\n"; | ||||
|   Testsample->AddContent( Testing->GetBox(), 1 ); | ||||
|   std::cout << "STSD::After 2 Content: " << Testsample->GetBox()->GetHeader().TotalSize << "\n"; | ||||
|   delete Testsample; | ||||
|   delete Testing; | ||||
| int main( ) { | ||||
|   std::cout << "Creating Interface\n"; | ||||
|   Interface * file = new Interface(); | ||||
|   std::cout << "Interface created, deleting it again\n"; | ||||
|   delete file; | ||||
|   std::cout << "Interface deleted\n"; | ||||
|   return 0; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Erik Zandvliet
						Erik Zandvliet