diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index db1573048cf155081a53ef738a4d45b1cb9c81fd..b9c700f73b7c56e089ff0cbf8aee9bea47737909 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -717,6 +717,9 @@ void rtsp_parse_line(RTSPHeader *reply, const char *buf) reply->seq = strtol(p, NULL, 10); } else if (av_stristart(p, "Range:", &p)) { rtsp_parse_range_npt(p, &reply->range_start, &reply->range_end); + } else if (av_stristart(p, "RealChallenge1:", &p)) { + skip_spaces(&p); + av_strlcpy(reply->real_challenge, p, sizeof(reply->real_challenge)); } } diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h index 288f69776ddebe990bb75a03ac0d9520380cd3da..1923acbbc80181802bd119379932ff0170272f85 100644 --- a/libavformat/rtsp.h +++ b/libavformat/rtsp.h @@ -62,6 +62,7 @@ typedef struct RTSPHeader { RTSPTransportField transports[RTSP_MAX_TRANSPORTS]; int seq; /**< sequence number */ char session_id[512]; + char real_challenge[64]; /**< the RealChallenge1 field from the server */ } RTSPHeader; /** the callback can be used to extend the connection setup/teardown step */