New submission from PeterKim <[email protected]>:

RTSP of ffserver doesn't make RTP-info.

It made android doesn't work with ffserver.


So please update ffserver code.



static void rtsp_cmd_play(HTTPContext *c, const char *url, 
RTSPMessageHeader *h)
{
    HTTPContext *rtp_c;

        // RTSP RTP-info 
        AVFormatContext *ctx;
        int i;
        RTPMuxContext *rptmuxctx;
        /////////////////////////////////////////

    rtp_c = find_rtp_session_with_url(url, h->session_id);
    if (!rtp_c) {
        rtsp_reply_error(c, RTSP_STATUS_SESSION);
        return;
    }

    if (rtp_c->state != HTTPSTATE_SEND_DATA &&
        rtp_c->state != HTTPSTATE_WAIT_FEED &&
        rtp_c->state != HTTPSTATE_READY) {
        rtsp_reply_error(c, RTSP_STATUS_STATE);
        return;
    }

    rtp_c->state = HTTPSTATE_SEND_DATA;

    /* now everything is OK, so we can send the connection parameters */
    rtsp_reply_header(c, RTSP_STATUS_OK);

        // RTSP RTP-info append.
        url_fprintf(c->pb, "RTP-Info: " );
        for(i=0;i< rtp_c->stream->nb_streams;i++) {
                ctx = rtp_c->rtp_ctx[i];
                rptmuxctx = ctx->priv_data;
                url_fprintf(c->pb, "url=%sstreamid=%d;seq=%u;rtptime=%u, 
", url, i, rptmuxctx->seq, rptmuxctx->timestamp );
        }
        url_fprintf(c->pb, "\r\n");
        ////////////////////////////////////////////////////////////

    /* session ID */
    url_fprintf(c->pb, "Session: %s\r\n", rtp_c->session_id);
    url_fprintf(c->pb, "\r\n");
}

----------
messages: 11458
priority: normal
status: new
substatus: new
title: ffserver SDP support RTP-INFO
type: patch

________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2134>
________________________________________________

Reply via email to