Ticket #16: rtsp.c.patch

File rtsp.c.patch, 1.5 KB (added by il--ya, 6 years ago)

patch

  • \libavformat\rtsp.c

    old new static void handle_rtp_info(RTSPState *r 
    706706 
    707707static void rtsp_parse_rtp_info(RTSPState *rt, const char *p) 
    708708{ 
    709709    int read = 0; 
    710710    char key[20], value[1024], url[1024] = ""; 
    711711    uint32_t seq = 0, rtptime = 0; 
    712712 
    713713    for (;;) { 
    714714        p += strspn(p, SPACE_CHARS); 
    715715        if (!*p) 
    716716            break; 
    717717        get_word_sep(key, sizeof(key), "=", &p); 
    718718        if (*p != '=') 
    719719            break; 
    720720        p++; 
    721721        get_word_sep(value, sizeof(value), ";, ", &p); 
    722722        read++; 
    723723        if (!strcmp(key, "url")) 
    724724            av_strlcpy(url, value, sizeof(url)); 
    725725        else if (!strcmp(key, "seq")) 
    726             seq = strtol(value, NULL, 10); 
     726            seq = strtoul(value, NULL, 10); 
    727727        else if (!strcmp(key, "rtptime")) 
    728             rtptime = strtol(value, NULL, 10); 
     728            rtptime = strtoul(value, NULL, 10); 
    729729        if (*p == ',') { 
    730730            handle_rtp_info(rt, url, seq, rtptime); 
    731731            url[0] = '\0'; 
    732732            seq = rtptime = 0; 
    733733            read = 0; 
    734734        } 
    735735        if (*p) 
    736736            p++; 
    737737    } 
    738738    if (read > 0) 
    739739        handle_rtp_info(rt, url, seq, rtptime); 
    740740} 
    741741 
    742742void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf, 
    743743                        RTSPState *rt, const char *method) 
    744744{ 
    745745    const char *p; 
    746746 
    747747    /* NOTE: we do case independent match for broken servers */ 
    748748    p = buf;