avformat/rtsp: punch holes again after pause
When a client behind a NAT issues a pause command, and stay paused for a long time, the router may stop the RTP/RTCP port redirection. Resend the hole punching packets after each PLAY command to cause the router to restart the port redirection in that case. Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
							parent
							
								
									642c49c983
								
							
						
					
					
						commit
						22bb5bd7a3
					
				| @ -542,6 +542,10 @@ static int rtsp_read_play(AVFormatContext *s) | |||||||
|                 AVStream *st = NULL; |                 AVStream *st = NULL; | ||||||
|                 if (!rtpctx || rtsp_st->stream_index < 0) |                 if (!rtpctx || rtsp_st->stream_index < 0) | ||||||
|                     continue; |                     continue; | ||||||
|  |                 if (CONFIG_RTPDEC && | ||||||
|  |                         !(rt->server_type == RTSP_SERVER_WMS && i > 1) && s->iformat) | ||||||
|  |                         ff_rtp_send_punch_packets(rtsp_st->rtp_handle); | ||||||
|  | 
 | ||||||
|                 st = s->streams[rtsp_st->stream_index]; |                 st = s->streams[rtsp_st->stream_index]; | ||||||
|                 rtpctx->range_start_offset = |                 rtpctx->range_start_offset = | ||||||
|                     av_rescale_q(reply->range_start, AV_TIME_BASE_Q, |                     av_rescale_q(reply->range_start, AV_TIME_BASE_Q, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user