mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
rtsp: Add a method parameter to ff_rtsp_read_reply
Originally committed as revision 26189 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7f8ffc4efd
commit
3df54c6bf2
@ -758,7 +758,7 @@ void ff_rtsp_skip_packet(AVFormatContext *s)
|
||||
|
||||
int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
|
||||
unsigned char **content_ptr,
|
||||
int return_on_interleaved_data)
|
||||
int return_on_interleaved_data, const char *method)
|
||||
{
|
||||
RTSPState *rt = s->priv_data;
|
||||
char buf[4096], buf1[1024], *q;
|
||||
@ -936,7 +936,7 @@ retry:
|
||||
send_content_length)))
|
||||
return ret;
|
||||
|
||||
if ((ret = ff_rtsp_read_reply(s, reply, content_ptr, 0) ) < 0)
|
||||
if ((ret = ff_rtsp_read_reply(s, reply, content_ptr, 0, method) ) < 0)
|
||||
return ret;
|
||||
|
||||
if (reply->status_code == 401 && cur_auth_type == HTTP_AUTH_NONE &&
|
||||
@ -1512,7 +1512,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
|
||||
if (tcp_fd != -1 && FD_ISSET(tcp_fd, &rfds)) {
|
||||
RTSPMessageHeader reply;
|
||||
|
||||
ret = ff_rtsp_read_reply(s, &reply, NULL, 0);
|
||||
ret = ff_rtsp_read_reply(s, &reply, NULL, 0, NULL);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
/* XXX: parse message */
|
||||
|
@ -434,13 +434,15 @@ int ff_rtsp_send_cmd(AVFormatContext *s, const char *method,
|
||||
* data packets (if they are encountered), until a reply
|
||||
* has been fully parsed. If no more data is available
|
||||
* without parsing a reply, it will return an error.
|
||||
* @param method the RTSP method this is a reply to. This affects how
|
||||
* some response headers are acted upon. May be NULL.
|
||||
*
|
||||
* @return 1 if a data packets is ready to be received, -1 on error,
|
||||
* and 0 on success.
|
||||
*/
|
||||
int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply,
|
||||
unsigned char **content_ptr,
|
||||
int return_on_interleaved_data);
|
||||
int return_on_interleaved_data, const char *method);
|
||||
|
||||
/**
|
||||
* Skip a RTP/TCP interleaved packet.
|
||||
|
@ -170,7 +170,7 @@ redo:
|
||||
for (;;) {
|
||||
RTSPMessageHeader reply;
|
||||
|
||||
ret = ff_rtsp_read_reply(s, &reply, NULL, 1);
|
||||
ret = ff_rtsp_read_reply(s, &reply, NULL, 1, NULL);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (ret == 1) /* received '$' */
|
||||
|
@ -195,7 +195,7 @@ static int rtsp_write_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
* since it would block and wait for an RTSP reply on the socket
|
||||
* (which may not be coming any time soon) if it handles
|
||||
* interleaved packets internally. */
|
||||
ret = ff_rtsp_read_reply(s, &reply, NULL, 1);
|
||||
ret = ff_rtsp_read_reply(s, &reply, NULL, 1, NULL);
|
||||
if (ret < 0)
|
||||
return AVERROR(EPIPE);
|
||||
if (ret == 1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user