diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 21a5fda8ac..842503b620 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -604,12 +604,17 @@ static void rtsp_parse_transport(RTSPHeader *reply, const char *p) "/", &p); if (*p == '/') p++; + if (!strcasecmp (transport_protocol, "rtp")) { get_word_sep(profile, sizeof(profile), "/;,", &p); lower_transport[0] = '\0'; if (*p == '/') { /* rtp/avp/<protocol> */ p++; get_word_sep(lower_transport, sizeof(lower_transport), ";,", &p); + } + } else if (!strcasecmp (transport_protocol, "x-pn-tng")) { /* x-pn-tng/<protocol> */ + get_word_sep(lower_transport, sizeof(lower_transport), "/;,", &p); + profile[0] = '\0'; } if (!strcasecmp(lower_transport, "TCP")) th->protocol = RTSP_PROTOCOL_RTP_TCP;