Implemented RTP HEVC Aggregation Packets
This commit is contained in:
		
							parent
							
								
									218e1e70a6
								
							
						
					
					
						commit
						6d3eb861b8
					
				
					 2 changed files with 13 additions and 2 deletions
				
			
		
							
								
								
									
										13
									
								
								lib/rtp.cpp
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								lib/rtp.cpp
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -703,7 +703,18 @@ namespace RTP{
 | 
			
		|||
    }
 | 
			
		||||
    uint8_t nalType = (pl[0] & 0x7E) >> 1;
 | 
			
		||||
    if (nalType == 48){
 | 
			
		||||
      ERROR_MSG("AP not supported yet");
 | 
			
		||||
      unsigned int pos = 2;
 | 
			
		||||
      while (pos + 2 < plSize){
 | 
			
		||||
        unsigned int pLen = Bit::btohs(pl + pos);
 | 
			
		||||
        VERYHIGH_MSG("AP Packet of %ub and type %s", pLen, h265::typeToStr((pl[pos+2]&0x7E) >> 1));
 | 
			
		||||
        if (packBuffer.allocate(4 + pLen)){
 | 
			
		||||
          Bit::htobl(packBuffer, pLen); // size-prepend
 | 
			
		||||
          memcpy(packBuffer + 4, pl + pos + 2, pLen);
 | 
			
		||||
          handleHEVCSingle(msTime, packBuffer, pLen + 4, h265::isKeyframe(pl + pos + 2, pLen));
 | 
			
		||||
        }
 | 
			
		||||
        pos += 2 + pLen;
 | 
			
		||||
      }
 | 
			
		||||
      return;
 | 
			
		||||
    }else if (nalType == 49){
 | 
			
		||||
      DONTEVEN_MSG("H265 Fragmentation Unit");
 | 
			
		||||
      // No length yet? Check for start bit. Ignore rest.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -384,7 +384,7 @@ namespace Mist{
 | 
			
		|||
        HTTP_R.Clean();
 | 
			
		||||
        continue;
 | 
			
		||||
      }
 | 
			
		||||
      WARN_MSG("Unhandled command %s:\n%s", HTTP_R.method.c_str(), HTTP_R.BuildRequest().c_str());
 | 
			
		||||
      WARN_MSG("Unhandled command received (protocol corruption?)");
 | 
			
		||||
      HTTP_R.Clean();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue