summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.c
Commit message (Collapse)AuthorAge
* Support seeking as defined by the rfcLuca Barbato2009-06-10
| | | | | | | | | | | a PLAY with Range alone while in PLAY status should be interpreted as an enqueue a PAUSE followed by a PLAY with Range is the proper way to ask to seek to a point. See rfc2326 Originally committed as revision 19143 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move function for reading whole specified amount of data from RTSPKostya Shishkov2009-06-04
| | | | | | demuxer into more common place. Originally committed as revision 19087 to svn://svn.ffmpeg.org/ffmpeg/trunk
* fix compilation with DEBUG definedBaptiste Coudurier2009-05-31
| | | | Originally committed as revision 19016 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix crash when receiving from SDPLuca Abeni2009-04-20
| | | | Originally committed as revision 18635 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Send dummy requests over the TCP connection (WMS wants GET_PARAMETER,Ronald S. Bultje2009-04-15
| | | | | | | | Real wants OPTIONS) while the connection is idle, otherwise it will be aborted after a short period (usually a minute). See the thread "[PATCH] rtsp.c: keep-alive" on the mailinglist. Originally committed as revision 18525 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoCRonald S. Bultje2009-04-14
| | | | | | | qualification task, see "RTP/Vorbis payload implementation (GSoC qual task)" thread on mailinglist. Originally committed as revision 18509 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Increase the SDP buffer size (again!) and also increase the temporaryRonald S. Bultje2009-04-14
| | | | | | | | | | | buffer size of the fmtp parameter buffer. For Vorbis RT(S)P, these contain full Vorbis headers, which can be up to 12kb each, formatted in base64, so 16kb total. Patch required for proper Vorbis/RTP playback, submitted as GSoC qualification task in the thread "RTP/Vorbis payload implementation (GSoC qual task)" by Colin McQuillan m.niloc googlemail com. Originally committed as revision 18508 to svn://svn.ffmpeg.org/ffmpeg/trunk
* strchr(string, '\0') returns non-NULL, and is thus not suited for use inRonald S. Bultje2009-03-24
| | | | | | | | | redir_isspace(char) to check if '\0' is a space or not. Therefore, we now use memchr(), since then we can give the length of the string (i.e. the length excluding the terminating '\0'). Fixes issue 919, see also the follow-ups in the "[PATCH] rtsp.c small cleanups" mailinglist thread. Originally committed as revision 18177 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove slash-skipping code because the function called right after thatRonald S. Bultje2009-03-21
| | | | | | | statement (get_word_sep()) already does that all by itself. See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist. Originally committed as revision 18128 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent something where a if () --> { <-- is on a newline rather than on theRonald S. Bultje2009-03-21
| | | | | | | same line as the if. See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist. Originally committed as revision 18127 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Free metadata if already allocated; fixes a memleak if the header occurs twiceRonald S. Bultje2009-03-21
| | | | | | | in a stream (e.g. malicious input, broken file, etc.). See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist. Originally committed as revision 18126 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix silly bug in hex_to_data() where it compares a string pointer for whetherRonald S. Bultje2009-03-21
| | | | | | | | it is '\0' rather than its content (char *p; if (p == '\0') instead of if (*p == '\0')). See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist. Originally committed as revision 18125 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove useless comment about something that is deprecated. See summary inRonald S. Bultje2009-03-21
| | | | | | "[PATCH] rtsp.c small cleanups" thread on mailinglist. Originally committed as revision 18124 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use skip_spaces() in the "redir" demuxer instead of "while (isspace(&p)) p++".Ronald S. Bultje2009-03-21
| | | | | | See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist. Originally committed as revision 18123 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge functional code from get_word() and get_word_sep() into a singleRonald S. Bultje2009-03-21
| | | | | | | | | function, since they both do approximately the same thing. At the same time, remove redir_isspace() altogether since code elsewhere (including get_word_sep()) uses strchr() for the same purpose. See summary in "[PATCH] rtsp.c small cleanups" thread. Originally committed as revision 18122 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Allow (and parse) incoming server messages (notices) interleaved with TCPRonald S. Bultje2009-03-21
| | | | | | | | data packets or in addition to UDP data packets, over the RTSP/TCP connection. See discussion in [PATCH] rtsp.c: read TCP server notifications/messages" thread on mailinglist. Originally committed as revision 18121 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after r18023.Ronald S. Bultje2009-03-17
| | | | Originally committed as revision 18024 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add RTP/ASF header parsing, which is part of the SDP of these streams. SeeRonald S. Bultje2009-03-17
| | | | | | patch discussion in "[PATCH] RTSP-MS 10/15: ASF header parsing" thread. Originally committed as revision 18023 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpmap is case-insensitive, see comment from Luca in "[PATCH] rtsp.c:Ronald S. Bultje2009-03-07
| | | | | | keep-alive" thread. Originally committed as revision 17862 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Oops, very silly typo.Ronald S. Bultje2009-03-06
| | | | Originally committed as revision 17853 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split rtsp_send_cmd() into two functions, one for the actual sending of theRonald S. Bultje2009-03-04
| | | | | | | | | command and a second, new function to read the reply to this command. This will make it possible to read server notices that are not in response to a command in future versions, such as EOS or interrupt notices. See "[PATCH] rtsp.c: split rtsp_send_cmd() in a send- and a receive-function" thread. Originally committed as revision 17797 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename "fd1" variable ro "fd". There were previously two variables (fd1 andRonald S. Bultje2009-03-03
| | | | | | | fd2) and one was just removed, so naming the other "fd1" is counter-intuitive. See "[RFC] rtsp.c EOF support" thread. Originally committed as revision 17780 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add url_get_file_handle(), which is used to get the file descriptorRonald S. Bultje2009-03-03
| | | | | | | | | | | associated with the I/O handle (e.g. the fd returned by open()). See "[RFC] rtsp.c EOF support" thread. There were previously some URI-specific implementations of the same idea, e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are deprecated by this patch and will be removed at the next major API bump. Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after r17777.Ronald S. Bultje2009-03-03
| | | | Originally committed as revision 17778 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make RTSP-MS-over-UDP negotiation work. See "[PATCH] RTSP-MS 8/15: fixRonald S. Bultje2009-03-03
| | | | | | | | | | | RTSP-MS UDP" thread on mailinglist. Basically, UDP setup needs to be done in a particular order (first rtx on two UDP ports (one for RTP, one for RTCP), then the other streams over one, single port for all of them together). Not doing this correctly results in a "461" error (invalid transport) during setup. Originally committed as revision 17777 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Recognize the "application" data type, which is required for WMS/UDPRonald S. Bultje2009-03-03
| | | | | | | | | | | | sessions. This type is used in RTP/ASF (served by WMS servers), and is required to make UDP sessions work, but breaks TCP sessions. Therefore, we disable setup for application streams in TCP/WMS streams. See discussion in "[PATCH] RTSP-MS 8/15: fix RTSP-MS UDP" thread. Originally committed as revision 17776 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename RTSPHeader to RTSPMessageHeader to reflect more clearly what theRonald S. Bultje2009-02-21
| | | | | | | structure is meant to represent. See "[PATCH] rtsp.[ch]: RTSPHeader -> RTSPServerResponse" and "[PATCH] document rtsp.h" threads on ML. Originally committed as revision 17504 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change sizeof(struct_type) to sizeof(variable).Ronald S. Bultje2009-02-21
| | | | Originally committed as revision 17474 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remame rtp_get_codec_info() to ff_rtp_get_codec_info(), as it is notLuca Abeni2009-02-17
| | | | | | a static function Originally committed as revision 17390 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename RTSP_*_LAST to RTSP_*_NB in line with PIX_FMT_* in lavc. See "[PATCH]Ronald S. Bultje2009-02-16
| | | | | | document rtsp.h" mailinglist thread. Originally committed as revision 17381 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split rtp.h in rtp.h, rtpdec.h, and rtpenc.hLuca Abeni2009-02-06
| | | | Originally committed as revision 17016 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename "tx_ctx" and "cur_tx" variables to "transport_priv" andRonald S. Bultje2009-02-05
| | | | | | | "cur_transport_priv", as discussed in the "[PATCH] rtsp.h: rename tx variables" thread. Originally committed as revision 17012 to svn://svn.ffmpeg.org/ffmpeg/trunk
* use new metadata API in rtsp demuxerAurelien Jacobs2009-02-02
| | | | Originally committed as revision 16961 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix the Transport: line in the SETUP request so that it works with WMSRonald S. Bultje2009-02-01
| | | | | | | | | | | | servers when trying to set up a session over TCP: - add the interleave property - add unicast, only for WMS (since it is normally only UDP, but WMS expects it for UDP and TCP) - add mode=play See discussion in "[PATCH] RTSP-MS 9/15: add interleave property to the TCP transport line of the SETUP request" thread on mailinglist. Originally committed as revision 16913 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge rtp_internal.h in rtp.h, and remove rtp_internal.hLuca Abeni2009-01-27
| | | | Originally committed as revision 16817 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Skip m= blocks in the SDP if the media type is unknown. This preventsRonald S. Bultje2009-01-24
| | | | | | | | | subsequent a= lines from the m= block to be applied to the previous m= line, thus breaking otherwise functional RTP streams. See discussion in [PATCH] RTSP-MS 7/15: parse and allow unknown m= line codes" thread on mailinglist. Originally committed as revision 16737 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: Remove pointless period after copyright statement non-sentences.Diego Biurrun2009-01-19
| | | | Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change semantic of CONFIG_*, HAVE_* and ARCH_*.Aurelien Jacobs2009-01-13
| | | | | | They are now always defined to either 0 or 1. Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix build: Add intreadwrite.h and bswap.h #includes where necessary.Diego Biurrun2009-01-11
| | | | Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent to properly fit a 80 chars terminal.Ronald S. Bultje2009-01-09
| | | | Originally committed as revision 16511 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after r16509.Ronald S. Bultje2009-01-09
| | | | Originally committed as revision 16510 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Apply rtpmap: SDP lines to the last m= line only, since they generally justRonald S. Bultje2009-01-09
| | | | | | | come directly after each m= line if required. See "[PATCH] RTSP-MS 5-6/15: parse only the last m= line stream per rtpmap line" thread on ML. Originally committed as revision 16509 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Increase buffer size for RTP packet data because some ASF streams use aRonald S. Bultje2009-01-09
| | | | | | | manual, non-standard blocksize which is bigger than RTP_MAX_PACKET_LENGTH. See "[PATCH] RTSP-MS 4/15: blocksize detection" thread on mailinglist. Originally committed as revision 16502 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use the "server" RTSP field to detect whether the server that we're talkingRonald S. Bultje2009-01-07
| | | | | | | | to is a Microsoft Windows Media Server (the field will be "WMServer/version"). See "[PATCH] RTSP-MS 3/15: Add Windows Media Server type" thread on mailinglist. Originally committed as revision 16472 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Export RTSPState and RTSPStream from rtsp.c into rtsp.h. This allows futureRonald S. Bultje2009-01-07
| | | | | | | | access to these structures in functions that will be located in rtp_asf.c. See "[PATCH] RTSP-MS 2/15: export RTSPState and RTSPStream" mailinglist thread. Originally committed as revision 16471 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Allow subscription to any of the streams, not just the first, available inRonald S. Bultje2009-01-07
| | | | | | | | | this RTSP/RDT session. This basically implies full RDT support, including stream selection in ffmpeg and multi-stream backupping in ffmpeg (by mapping each stream to an output). See "[PATCH] RTSP/RDT: subscriptions" thread on mailinglist. Originally committed as revision 16469 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Parse the OpaqueData field for every AVStream represented by this "set ofRonald S. Bultje2009-01-07
| | | | | | | | | | streams" (a single RTSPStream / RDTDemuxContext can represent several AVStreams, that's just how Real/RDT was designed...). This will fill in most of the AVStream/AVCodecContext header fields, similar to reading a RM file header would. See "[PATCH] multi-stream MDPR parsing" thread on mailinglist. Originally committed as revision 16468 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Parse the ASMRuleBook SDP line to dynamically create one new AVStream forRonald S. Bultje2009-01-07
| | | | | | | | | each "rule" described in the ASMRuleBook. Each rule represents a stream of identical content compared to other streams in the same rulebook, but with a possibly different codec/bitrate/etc. See "[PATCH] rdt.c: ASM rulebook parsing and AVStream creation" thread on mailinglist. Originally committed as revision 16466 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add comment to indicate why the SDP line buffer is as big as it is.Ronald S. Bultje2008-12-14
| | | | Originally committed as revision 16137 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Increase SDP line buffer size because ASF headers in RTSP-MS are very big. ↵Ronald S. Bultje2008-12-14
| | | | | | | | See ML discussion in "rtsp.c: increase SDP line buffer size" thread. Originally committed as revision 16136 to svn://svn.ffmpeg.org/ffmpeg/trunk