[SCM] libav/experimental: rtsp: Add a method parameter to ff_rtsp_read_reply

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:21:15 UTC 2013


The following commit has been merged in the experimental branch:
commit 3df54c6bf2e5bc03b2dedcd60006d8f1df204ea3
Author: Martin Storsjö <martin at martin.st>
Date:   Sun Jan 2 10:06:21 2011 +0000

    rtsp: Add a method parameter to ff_rtsp_read_reply
    
    Originally committed as revision 26189 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index ca84e5d..a87190b 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -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 */
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index ba05260..c0e0251 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -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.
diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c
index ad13b17..2ebc515 100644
--- a/libavformat/rtspdec.c
+++ b/libavformat/rtspdec.c
@@ -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 '$' */
diff --git a/libavformat/rtspenc.c b/libavformat/rtspenc.c
index 007014e..3a0b2c7 100644
--- a/libavformat/rtspenc.c
+++ b/libavformat/rtspenc.c
@@ -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)

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list