mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-27 21:40:34 +00:00
fix rtp 916 issue
Reviewed-by: Luca Abeni <lucabe72@email.it> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e49780f749
commit
b29ec002bb
@ -1103,7 +1103,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
|||||||
int lower_transport, const char *real_challenge)
|
int lower_transport, const char *real_challenge)
|
||||||
{
|
{
|
||||||
RTSPState *rt = s->priv_data;
|
RTSPState *rt = s->priv_data;
|
||||||
int rtx = 0, j, i, err, interleave = 0;
|
int rtx = 0, j, i, err, interleave = 0, port_off;
|
||||||
RTSPStream *rtsp_st;
|
RTSPStream *rtsp_st;
|
||||||
RTSPMessageHeader reply1, *reply = &reply1;
|
RTSPMessageHeader reply1, *reply = &reply1;
|
||||||
char cmd[2048];
|
char cmd[2048];
|
||||||
@ -1120,8 +1120,11 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
|||||||
/* for each stream, make the setup request */
|
/* for each stream, make the setup request */
|
||||||
/* XXX: we assume the same server is used for the control of each
|
/* XXX: we assume the same server is used for the control of each
|
||||||
* RTSP stream */
|
* RTSP stream */
|
||||||
|
port_off = av_get_random_seed() % (RTSP_RTP_PORT_MAX - RTSP_RTP_PORT_MIN);
|
||||||
|
/* even random offset */
|
||||||
|
port_off -= port_off & 0x01;
|
||||||
|
|
||||||
for (j = RTSP_RTP_PORT_MIN, i = 0; i < rt->nb_rtsp_streams; ++i) {
|
for (j = RTSP_RTP_PORT_MIN + port_off, i = 0; i < rt->nb_rtsp_streams; ++i) {
|
||||||
char transport[2048];
|
char transport[2048];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1169,7 +1172,6 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
|||||||
goto rtp_opened;
|
goto rtp_opened;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
av_log(s, AV_LOG_ERROR, "Unable to open an input RTP port\n");
|
av_log(s, AV_LOG_ERROR, "Unable to open an input RTP port\n");
|
||||||
err = AVERROR(EIO);
|
err = AVERROR(EIO);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -70,7 +70,7 @@ enum RTSPControlTransport {
|
|||||||
#define RTSP_DEFAULT_NB_AUDIO_CHANNELS 1
|
#define RTSP_DEFAULT_NB_AUDIO_CHANNELS 1
|
||||||
#define RTSP_DEFAULT_AUDIO_SAMPLERATE 44100
|
#define RTSP_DEFAULT_AUDIO_SAMPLERATE 44100
|
||||||
#define RTSP_RTP_PORT_MIN 5000
|
#define RTSP_RTP_PORT_MIN 5000
|
||||||
#define RTSP_RTP_PORT_MAX 10000
|
#define RTSP_RTP_PORT_MAX 65000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This describes a single item in the "Transport:" line of one stream as
|
* This describes a single item in the "Transport:" line of one stream as
|
||||||
|
Loading…
Reference in New Issue
Block a user