Pro side of HLS buffer size optimizes.
This commit is contained in:
		
							parent
							
								
									8c8e47ad20
								
							
						
					
					
						commit
						42e0b4b8ef
					
				
					 1 changed files with 2 additions and 15 deletions
				
			
		|  | @ -95,22 +95,9 @@ namespace Mist { | ||||||
| 
 | 
 | ||||||
|   std::string OutHLS::pushLiveIndex(int tid, unsigned long bTime, unsigned long eTime){ |   std::string OutHLS::pushLiveIndex(int tid, unsigned long bTime, unsigned long eTime){ | ||||||
|     updateMeta(); |     updateMeta(); | ||||||
|     if (!myMeta.tracks[tid].fragments.size()) { |  | ||||||
|       INFO_MSG("liveIndex called with track %d, which has no fragments!", tid); |  | ||||||
|       return ""; |  | ||||||
|     } |  | ||||||
|     std::stringstream result; |     std::stringstream result; | ||||||
|     //parse single track
 |     //parse single track
 | ||||||
|     int longestFragment = 0; |     result << "#EXTM3U\r\n#EXT-X-TARGETDURATION:" << (myMeta.tracks[tid].biggestFragment() / 1000) + 1 << "\r\n"; | ||||||
|     for (std::deque<DTSC::Fragment>::iterator it = myMeta.tracks[tid].fragments.begin(); (it + 1) != myMeta.tracks[tid].fragments.end(); it++) { |  | ||||||
|       if (it->getDuration() > longestFragment) { |  | ||||||
|         longestFragment = it->getDuration(); |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     if ((myMeta.tracks[tid].lastms - myMeta.tracks[tid].firstms) / myMeta.tracks[tid].fragments.size() > longestFragment) { |  | ||||||
|       longestFragment = (myMeta.tracks[tid].lastms - myMeta.tracks[tid].firstms) / myMeta.tracks[tid].fragments.size(); |  | ||||||
|     } |  | ||||||
|     result << "#EXTM3U\r\n#EXT-X-TARGETDURATION:" << (longestFragment / 1000) + 1 << "\r\n"; |  | ||||||
| 
 | 
 | ||||||
|     std::deque<std::string> lines; |     std::deque<std::string> lines; | ||||||
|     unsigned int skippedLines = 0; |     unsigned int skippedLines = 0; | ||||||
|  | @ -183,7 +170,7 @@ namespace Mist { | ||||||
|       lines.pop_back(); |       lines.pop_back(); | ||||||
|       /*LTS-START*/ |       /*LTS-START*/ | ||||||
|       unsigned int skip = (( myMeta.tracks[tid].fragments.size()-1) * config->getInteger("startpos")) / 1000u; |       unsigned int skip = (( myMeta.tracks[tid].fragments.size()-1) * config->getInteger("startpos")) / 1000u; | ||||||
|       while (skippedLines < skip && lines.size() > 3){ |       while (skippedLines < skip && lines.size() > 4){ | ||||||
|         lines.pop_front(); |         lines.pop_front(); | ||||||
|         skippedLines++; |         skippedLines++; | ||||||
|       } |       } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Thulinma
						Thulinma