MP4 speed optimize
This commit is contained in:
		
							parent
							
								
									ba5cbcb05f
								
							
						
					
					
						commit
						6b03fe9f40
					
				
					 1 changed files with 10 additions and 6 deletions
				
			
		|  | @ -630,12 +630,15 @@ namespace Mist { | ||||||
|     //Update the trun data offsets with their correct values
 |     //Update the trun data offsets with their correct values
 | ||||||
|     MP4::TRAF loopTrafBox; |     MP4::TRAF loopTrafBox; | ||||||
|     MP4::TRUN fixTrunBox; |     MP4::TRUN fixTrunBox; | ||||||
|     for (unsigned int i = 0; i < moofBox.getContentCount(); i++) { |     uint32_t moofCount = moofBox.getContentCount(); | ||||||
|  |     for (unsigned int i = 0; i < moofCount; i++) { | ||||||
|       if (moofBox.getContent(i).isType("traf")) { |       if (moofBox.getContent(i).isType("traf")) { | ||||||
|         loopTrafBox = ((MP4::TRAF &)moofBox.getContent(i)); |         loopTrafBox = ((MP4::TRAF &)moofBox.getContent(i, true)); | ||||||
|         for (unsigned int j = 0; j < loopTrafBox.getContentCount(); j++) { |         uint32_t trafCount = loopTrafBox.getContentCount(); | ||||||
|           if (loopTrafBox.getContent(j).isType("trun")) { |         for (unsigned int j = 0; j < trafCount; j++) { | ||||||
|             fixTrunBox = ((MP4::TRUN &)loopTrafBox.getContent(j)); |           MP4::Box & tmpBox = loopTrafBox.getContent(j, true); | ||||||
|  |           if (tmpBox.isType("trun")) { | ||||||
|  |             fixTrunBox = (MP4::TRUN &)tmpBox; | ||||||
|             fixTrunBox.setDataOffset(fixTrunBox.getDataOffset() + moofBox.boxedSize() + 8); |             fixTrunBox.setDataOffset(fixTrunBox.getDataOffset() + moofBox.boxedSize() + 8); | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  | @ -807,7 +810,8 @@ namespace Mist { | ||||||
|         unsigned int curMS = thisRange.firstTime; |         unsigned int curMS = thisRange.firstTime; | ||||||
|         unsigned int nextMS = thisRange.firstTime; |         unsigned int nextMS = thisRange.firstTime; | ||||||
|         bool first = true; |         bool first = true; | ||||||
|         for (int i = thisRange.firstPart; i < thisTrack.parts.size(); i++) { |         size_t maxParts = thisTrack.parts.size();  | ||||||
|  |         for (size_t i = thisRange.firstPart; i < maxParts; i++) { | ||||||
|           if (first && curMS >= startms) { |           if (first && curMS >= startms) { | ||||||
|             thisRange.firstPart = i; |             thisRange.firstPart = i; | ||||||
|             thisRange.firstTime = curMS; |             thisRange.firstTime = curMS; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Thulinma
						Thulinma