Merge branch 'development' into LTS_development
# Conflicts: # src/output/output_hls.cpp
This commit is contained in:
		
						commit
						b7e6cbbf89
					
				
					 3 changed files with 9 additions and 11 deletions
				
			
		|  | @ -383,8 +383,6 @@ namespace Mist { | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     appleCompat = (H.GetHeader("User-Agent").find("iPad") != std::string::npos) || (H.GetHeader("User-Agent").find("iPod") != std::string::npos) || (H.GetHeader("User-Agent").find("iPhone") != std::string::npos); |  | ||||||
|     bool VLCworkaround = false; |     bool VLCworkaround = false; | ||||||
|     if (H.GetHeader("User-Agent").substr(0, 3) == "VLC") { |     if (H.GetHeader("User-Agent").substr(0, 3) == "VLC") { | ||||||
|       std::string vlcver = H.GetHeader("User-Agent").substr(4); |       std::string vlcver = H.GetHeader("User-Agent").substr(4); | ||||||
|  |  | ||||||
|  | @ -7,7 +7,6 @@ namespace Mist { | ||||||
|     ts_from = 0; |     ts_from = 0; | ||||||
|     setBlocking(true); |     setBlocking(true); | ||||||
|     sendRepeatingHeaders = 0; |     sendRepeatingHeaders = 0; | ||||||
|     appleCompat=false; |  | ||||||
|     lastHeaderTime = 0; |     lastHeaderTime = 0; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -70,13 +69,6 @@ namespace Mist { | ||||||
|     size_t tmpDataLen = 0; |     size_t tmpDataLen = 0; | ||||||
|     thisPacket.getString("data", dataPointer, tmpDataLen); //data
 |     thisPacket.getString("data", dataPointer, tmpDataLen); //data
 | ||||||
|     uint64_t dataLen = tmpDataLen; |     uint64_t dataLen = tmpDataLen; | ||||||
|     //apple compatibility timestamp correction
 |  | ||||||
|     if (appleCompat){ |  | ||||||
|       packTime -= ts_from; |  | ||||||
|       if (Trk.type == "audio"){ |  | ||||||
|         packTime = 0; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     packTime *= 90; |     packTime *= 90; | ||||||
|     std::string bs; |     std::string bs; | ||||||
|     //prepare bufferstring    
 |     //prepare bufferstring    
 | ||||||
|  | @ -196,6 +188,15 @@ namespace Mist { | ||||||
|       long unsigned int tempLen = dataLen; |       long unsigned int tempLen = dataLen; | ||||||
|       if (Trk.codec == "AAC"){ |       if (Trk.codec == "AAC"){ | ||||||
|         tempLen += 7; |         tempLen += 7; | ||||||
|  |         //Make sure TS timestamp is sample-aligned, if possible
 | ||||||
|  |         uint32_t freq = Trk.rate; | ||||||
|  |         uint64_t aacSamples = (packTime/90) * freq / 1000; | ||||||
|  |         //round to nearest packet, assuming all 1024 samples (probably wrong, but meh)
 | ||||||
|  |         aacSamples += 512; | ||||||
|  |         aacSamples /= 1024; | ||||||
|  |         aacSamples *= 1024; | ||||||
|  |         //Get closest 90kHz clock time to perfect sample alignment
 | ||||||
|  |         packTime = aacSamples * 90000 / freq; | ||||||
|       } |       } | ||||||
|       bs = TS::Packet::getPESAudioLeadIn(tempLen, packTime, Trk.bps); |       bs = TS::Packet::getPESAudioLeadIn(tempLen, packTime, Trk.bps); | ||||||
|       fillPacket(bs.data(), bs.size(), firstPack, video, keyframe, pkgPid, contPkg); |       fillPacket(bs.data(), bs.size(), firstPack, video, keyframe, pkgPid, contPkg); | ||||||
|  |  | ||||||
|  | @ -30,7 +30,6 @@ namespace Mist { | ||||||
|       int contSDT; |       int contSDT; | ||||||
|       unsigned int packCounter; |       unsigned int packCounter; | ||||||
|       TS::Packet packData; |       TS::Packet packData; | ||||||
|       bool appleCompat; |  | ||||||
|       uint64_t sendRepeatingHeaders; ///< Amount of ms between PAT/PMT. Zero means do not repeat.
 |       uint64_t sendRepeatingHeaders; ///< Amount of ms between PAT/PMT. Zero means do not repeat.
 | ||||||
|       uint64_t lastHeaderTime; ///< Timestamp last PAT/PMT were sent.
 |       uint64_t lastHeaderTime; ///< Timestamp last PAT/PMT were sent.
 | ||||||
|       uint64_t ts_from; ///< Starting time to subtract from timestamps
 |       uint64_t ts_from; ///< Starting time to subtract from timestamps
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Thulinma
						Thulinma