Ticket #16: rtsp.c.patch

File rtsp.c.patch, 1.5 KB (added by il--ya, 8 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;