Commit Graph

354 Commits

Author SHA1 Message Date
Ronald S. Bultje
78f731de92 Reindent something where a if () --> { <-- is on a newline rather than on the
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
2009-03-21 21:00:51 +00:00
Ronald S. Bultje
7d09a993d1 Free metadata if already allocated; fixes a memleak if the header occurs twice
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
2009-03-21 20:59:59 +00:00
Ronald S. Bultje
6a8c8b36b9 Fix silly bug in hex_to_data() where it compares a string pointer for whether
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
2009-03-21 20:58:41 +00:00
Ronald S. Bultje
64917dd3df Remove useless comment about something that is deprecated. See summary in
"[PATCH] rtsp.c small cleanups" thread on mailinglist.

Originally committed as revision 18124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:56:57 +00:00
Ronald S. Bultje
36aa7bc27f Use skip_spaces() in the "redir" demuxer instead of "while (isspace(&p)) p++".
See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist.

Originally committed as revision 18123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:55:52 +00:00
Ronald S. Bultje
1ef36a7035 Merge functional code from get_word() and get_word_sep() into a single
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
2009-03-21 20:54:47 +00:00
Ronald S. Bultje
7e726132c2 Allow (and parse) incoming server messages (notices) interleaved with TCP
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
2009-03-21 20:46:36 +00:00
Ronald S. Bultje
c4a3d03299 Reindent after r18023.
Originally committed as revision 18024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 12:35:55 +00:00
Ronald S. Bultje
1a30d5415f Add RTP/ASF header parsing, which is part of the SDP of these streams. See
patch discussion in "[PATCH] RTSP-MS 10/15: ASF header parsing" thread.

Originally committed as revision 18023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 12:34:57 +00:00
Ronald S. Bultje
743b389074 rtpmap is case-insensitive, see comment from Luca in "[PATCH] rtsp.c:
keep-alive" thread.

Originally committed as revision 17862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 15:20:55 +00:00
Ronald S. Bultje
57f94f54c4 Oops, very silly typo.
Originally committed as revision 17853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 03:12:33 +00:00
Ronald S. Bultje
29b9f58b37 Split rtsp_send_cmd() into two functions, one for the actual sending of the
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
2009-03-04 00:57:37 +00:00
Ronald S. Bultje
bc8763cda9 Rename "fd1" variable ro "fd". There were previously two variables (fd1 and
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
2009-03-03 17:06:18 +00:00
Ronald S. Bultje
f0a8039464 Add url_get_file_handle(), which is used to get the file descriptor
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
2009-03-03 17:04:51 +00:00
Ronald S. Bultje
2fea965070 Reindent after r17777.
Originally committed as revision 17778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:53:04 +00:00
Ronald S. Bultje
f830c9a487 Make RTSP-MS-over-UDP negotiation work. See "[PATCH] RTSP-MS 8/15: fix
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
2009-03-03 16:52:35 +00:00
Ronald S. Bultje
090438cc81 Recognize the "application" data type, which is required for WMS/UDP
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
2009-03-03 16:48:56 +00:00
Ronald S. Bultje
a9e534d561 Rename RTSPHeader to RTSPMessageHeader to reflect more clearly what the
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
2009-02-21 22:26:44 +00:00
Ronald S. Bultje
d541a7d2d1 Change sizeof(struct_type) to sizeof(variable).
Originally committed as revision 17474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 14:40:19 +00:00
Luca Abeni
bf6d981806 Remame rtp_get_codec_info() to ff_rtp_get_codec_info(), as it is not
a static function

Originally committed as revision 17390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-17 08:12:51 +00:00
Ronald S. Bultje
2a1d51c573 Rename RTSP_*_LAST to RTSP_*_NB in line with PIX_FMT_* in lavc. See "[PATCH]
document rtsp.h" mailinglist thread.

Originally committed as revision 17381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-16 16:27:35 +00:00
Luca Abeni
302879cb36 Split rtp.h in rtp.h, rtpdec.h, and rtpenc.h
Originally committed as revision 17016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-06 10:35:52 +00:00
Ronald S. Bultje
0a861b6f8b Rename "tx_ctx" and "cur_tx" variables to "transport_priv" and
"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
2009-02-05 22:34:55 +00:00
Aurelien Jacobs
da61e4136a use new metadata API in rtsp demuxer
Originally committed as revision 16961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 23:09:39 +00:00
Ronald S. Bultje
d1c6e47c16 Fix the Transport: line in the SETUP request so that it works with WMS
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
2009-02-01 13:37:45 +00:00
Luca Abeni
20631a9c15 Merge rtp_internal.h in rtp.h, and remove rtp_internal.h
Originally committed as revision 16817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 12:23:16 +00:00
Ronald S. Bultje
cb760a4790 Skip m= blocks in the SDP if the media type is unknown. This prevents
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
2009-01-24 04:56:18 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Ronald S. Bultje
9211bcddb4 Reindent to properly fit a 80 chars terminal.
Originally committed as revision 16511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 23:44:52 +00:00
Ronald S. Bultje
ff16f551cf Reindent after r16509.
Originally committed as revision 16510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 23:36:39 +00:00
Ronald S. Bultje
83d14c85da Apply rtpmap: SDP lines to the last m= line only, since they generally just
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
2009-01-09 23:36:17 +00:00
Ronald S. Bultje
e49906c321 Increase buffer size for RTP packet data because some ASF streams use a
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
2009-01-09 01:30:14 +00:00
Ronald S. Bultje
7a86bafa20 Use the "server" RTSP field to detect whether the server that we're talking
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
2009-01-07 14:55:47 +00:00
Ronald S. Bultje
74272b1c0c Export RTSPState and RTSPStream from rtsp.c into rtsp.h. This allows future
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
2009-01-07 14:53:04 +00:00
Ronald S. Bultje
572c6a3814 Allow subscription to any of the streams, not just the first, available in
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
2009-01-07 14:48:17 +00:00
Ronald S. Bultje
7c68a17754 Parse the OpaqueData field for every AVStream represented by this "set of
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
2009-01-07 14:45:13 +00:00
Ronald S. Bultje
3ca45429fe Parse the ASMRuleBook SDP line to dynamically create one new AVStream for
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
2009-01-07 14:38:44 +00:00
Ronald S. Bultje
b965ff352f Add comment to indicate why the SDP line buffer is as big as it is.
Originally committed as revision 16137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 22:23:59 +00:00
Ronald S. Bultje
e322d3f5be Increase SDP line buffer size because ASF headers in RTSP-MS are very big. See ML discussion
in "rtsp.c: increase SDP line buffer size" thread.

Originally committed as revision 16136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 22:23:14 +00:00
Luca Abeni
be73a544af Rename rtp_payload_data_t to avoid clashes with the POSIX namespace
Originally committed as revision 16115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 23:25:19 +00:00
Luca Barbato
644e7acba4 Rename type to be consistent
Originally committed as revision 16090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 10:45:44 +00:00
Ronald S. Bultje
7b2a070800 Change function prototype of the sdp_parse_a_line in DynamicProtocolHandler.
This function is called in rtsp.c for each a= line in the SDP of the Describe
response after m= RTSP stream descriptors. The function prototype used to
take an AVStream argument. For RDT, however, every RTSPStream represents
a set of streams of identical content, and can thus represent multiple
AVStreams. Therefore, it should not take an AVStream as argument. This
patch modifies it to accept a AVFormatContext (of the RTSP/SDP demuxer)
instead. See discussion in "[PATCH/RFC] change function prototype of
parse_sdp_a_line" thread on ML.

Originally committed as revision 16024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 18:41:17 +00:00
Ronald S. Bultje
e0d1eabf14 Change function prototype from taking an AVStream to taking an index to the
stream itself, plus a name change to signify that there may be multiple
AVStreams per RDT set. See discussion in "[PATCH] RDT/Realmedia patches #2"
thread on ML.

Originally committed as revision 15962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-30 20:39:16 +00:00
Ronald S. Bultje
114732f4c7 Add is_keyframe param to ff_rdt_parse_header(). See ML discussion in
"[PATCH] RDT/Realmedia patches #2" thread.

Originally committed as revision 15833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 20:41:59 +00:00
Ronald S. Bultje
6ff1f61530 Call check_back_and_send_rr() function only in case of RTP as a transport.
Don't call it for RDT, since it is unneeded and it doesn't provide a
RTPDemuxContext, leading to some memory errors. See "[PATCH] fix small
memory error in rtsp.c" thread on ML.

Originally committed as revision 15828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 14:44:48 +00:00
Ronald S. Bultje
5c918b2775 Reindent after r15544.
Originally committed as revision 15545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:19:46 +00:00
Ronald S. Bultje
accc248f28 Implement RDTDemuxContext, which contains RDT-specific data (similar to
RTPDemuxContext for RTP) for these streams where the transport protocol
is RDT (as served by Realmedia servers).

Originally committed as revision 15544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:19:15 +00:00
Ronald S. Bultje
5465b0d474 Make RTPDemuxContext opaque in rtsp.c, renaming it to tx_ctx (tx=transport)
and making its type a void pointer. See discussion in "RDT/Realmedia patches
#2" thread on ML.

Originally committed as revision 15543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:17:59 +00:00
Ronald S. Bultje
99a1d1915e Remove access into RTPDemuxContext in rtsp.c, which allows making it opaque
(and thus preparing for the introduction of RDTDemuxContext) in a next patch.
See discussion in "RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:16:44 +00:00
Ronald S. Bultje
ed0aacc76e Rename RTP payload contexts to PayloadContext, suggested by Luca in
"RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 04:11:12 +00:00
Diego Pettenò
fb65d2ca84 Use enum typers instead of int.
Patch by Diego 'Flameeyes' Pettenò: flameeyes gmail

Originally committed as revision 15517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 16:03:00 +00:00
Reimar Döffinger
9b5ede5b64 Add (additional) const to many global tables.
Originally committed as revision 15515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 15:52:04 +00:00
Ronald S. Bultje
985b05d3c9 This patch refactors RDT packet header parsing so that it can be used in
rtsp.c to detect the ID of the packet source also in case of TCP streams.
This allows proper playback of RDT streams with multiple stream types, e.g.
audio + video. Accepted by LucaB in "RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 12:37:07 +00:00
Ronald S. Bultje
f5f1e97f33 Reindent after previous patches.
Originally committed as revision 15485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 13:27:19 +00:00
Ronald S. Bultje
119b466811 Implement a RTSPTransport field, which allows proper separation of server
types and their non-standard extensions, and the data they serve. Practically,
this patch allows Real servers to serve normal non-RDT (standard RTP) data.
See discussion on ML in "Realmedia patch" thread.

Originally committed as revision 15484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 13:26:20 +00:00
Ronald S. Bultje
ab63fb0360 Remove access to rdt_data struct in functions called outside of the
DynamicProtocol* context. Doing so could lead to problems if we're accessing
Real servers serving non-RDT data (or the other way around). Temporarily,
this patch adds a _subscribe2() function which will soon be removed in one
of the subsequent commits. OK'ed by Luca in "Realmedia patch" thread on ML.

Originally committed as revision 15483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 13:23:33 +00:00
Ronald S. Bultje
eee2cbff77 Send improper UDP SETUP request, which is what Realmedia servers expect.
See discussion on ML in "Realmedia patch" thread.

Originally committed as revision 15482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 13:20:23 +00:00
Ronald S. Bultje
90abbdba1e Rename RTSPProtocol to RTSPLowerTransport, so that its name properly tells us
that it only describes the lower-level transport (TCP vs. UDP) and not the
actual data layout (e.g. RDT vs. RTP). See discussion in "Realmedia patch"
thread on ML.

Originally committed as revision 15481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 13:18:41 +00:00
Baptiste Coudurier
6ad1c9c992 only include sys/select.h if present, fix mingw compilation
Originally committed as revision 15420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-26 02:12:37 +00:00
Baptiste Coudurier
933bd8e291 include sys/select.h instead of unistd.h to get select,
according to posix 2001, fix compilation on freebsd 5.5

Originally committed as revision 15405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-24 22:08:50 +00:00
Ronald S. Bultje
2834c365d2 Reindent after r15317.
Originally committed as revision 15318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-14 13:56:12 +00:00
Ronald S. Bultje
2e889ae4b9 Rename RTSP_SERVER_RDT to RTSP_SERVER_REAL, because RDT (the transport
protocol) is not strictly related to the server type (Real servers can
stream both RDT and RTP).

Originally committed as revision 15317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-14 13:55:21 +00:00
Ronald S. Bultje
a6789dca1b Reindent after r15927, see discussion in "[PATCH] rtsp cleanup part 1:
remove duplicate code" thread on ML.

Originally committed as revision 15298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-11 17:43:44 +00:00
Ronald S. Bultje
ee0cb67fa3 Factorize out common code for opening of the RTP parsing context between
SDP and RTSP into a new function. See discussion on ML in "[PATCH] rtsp
cleanup part 1: remove duplicate code" thread.

Originally committed as revision 15297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-11 17:43:04 +00:00
Ronald S. Bultje
4fce284c08 Implement RDT-specific data parsing routines. After these changes, simple
playback of RTSP/RDT streams should work. See discussion in "Realmedia patch"
thread on ML.

Originally committed as revision 15237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-07 01:25:47 +00:00
Ronald S. Bultje
99b2ac0797 Reindent after previous patch.
Originally committed as revision 15236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-07 01:24:01 +00:00
Ronald S. Bultje
1256d16b6c Implement a RDT-specific SET_PARAMETER command that subscribes to the
first stream in a RTSP/RDT session. See discussion in "Realmedia patch"
thread on ML.

Originally committed as revision 15235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-07 01:22:18 +00:00
Ronald S. Bultje
0ad306bc81 Remove unused code that used to handle protocol concatenation, i.e. trying
multiple protocols at the same time. We now cycle protocols individually
to autodetect, making this code no longer needed, and thus the support code
for it in make_setup_request() can be removed. See "[PATCH] remove transport
concatenation dead code" on mailinglist.

Originally committed as revision 15172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 04:47:44 +00:00
Ronald S. Bultje
e9dea59f16 Implement Realmedia/RTSP-compatible SETUP command. This includes calculation
of the "RealChallenge2" response, which is some sort of authentication. See
discussion in "Realmedia patch" thread on ffmpeg-devel.

Originally committed as revision 15170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 04:44:58 +00:00
Ronald S. Bultje
5f86057ffd Remove useless "else" case in if X { A; return }; else { B }. See discussion
in "Realmedia patch" thread on mailinglist.

Originally committed as revision 15142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-01 13:51:24 +00:00
Ronald S. Bultje
d6bb9ebdc6 Some RTSP streams use SDP lines longer than 1024 bytes, so the SDP line
buffer needs to be increased. See discussion in "Realmedia patch" thread
on mailinglist.

Originally committed as revision 15141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-01 13:47:53 +00:00
Ronald S. Bultje
897ade1ba9 Implement Realmedia-compatible DESCRIBE command.
Originally committed as revision 15140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-01 13:46:50 +00:00
Ronald S. Bultje
1cf151e9ae Send RTSP OPTIONS command to detect server type.
Originally committed as revision 15125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 17:32:58 +00:00
Ronald S. Bultje
30aa6aed4a Read RealChallenge1 field from the server.
Originally committed as revision 15124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 17:32:02 +00:00
Ronald S. Bultje
e077604335 Implement RTSPServerType enum as a way to identify the flavour of RTSP that
the server will send to us (standard-compliant RTP or Realmedia-style RDT).

Originally committed as revision 15123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 17:30:15 +00:00
Ronald S. Bultje
75128a2273 Revert back to old version (r15103).
Originally committed as revision 15122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 17:23:01 +00:00
Ronald S. Bultje
158efd74fe Implement RTSP/Realmedia-compatible OPTIONS command. See "Realmedia patch"
thread on mailinglist for discussion. This patch also implements a
RTSPServerType enum, which allows the RTSP to keep track of what kind of a
stream we're handling: standard-compliant RTP or a proprietary derivative.
This will be used in subsequent patches to implement more Realmedia-specific
extensions required to receive and parse data coming from a Realmedia server.

Originally committed as revision 15104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 03:12:13 +00:00
Ronald S. Bultje
8646b9070b Use RTPDynamicProtocol parse_sdp_a_line() handlers in case of unknown SDP
lines. This allows "private" SDP tags to be forwarded to the specific handler,
allowing protocol-specific handling of SDP data. See mailinglist discussion
in the "Realmedia patch" thread.

Originally committed as revision 14987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 00:33:22 +00:00
Aurelien Jacobs
7246177d80 ensure we get explicit definition of various _XOPEN_SOURCE functions we use
Originally committed as revision 14766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 22:01:59 +00:00
Aurelien Jacobs
ea452b54f0 strcasecmp() requires #include <strings.h>
Originally committed as revision 14728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 17:22:53 +00:00
Luca Abeni
6872368355 Do not free the priv_data field of AVStream on close (it is already
freed by av_close_input_stream())

Originally committed as revision 14006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 11:55:25 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Diego Biurrun
ccd425e799 Remove unnecessary parentheses from return calls.
Originally committed as revision 13069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-06 09:16:36 +00:00
Luca Abeni
d2bf42bef9 Fix receiving from SDP with unicast destinations
Originally committed as revision 12831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 11:28:04 +00:00
Luca Abeni
35b74c3deb Remove the "multicast=" tag from UDP and RTP URLs
Originally committed as revision 12830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 11:23:07 +00:00
Luca Barbato
5ee0e1395d use FF_NETERROR to make winsock happy, patch from prossATxvidDoTorg
Originally committed as revision 12678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-03 22:15:16 +00:00
Ronald S. Bultje
7e6ca34f27 Reindent after rtsp-alternate-protocol* patches.
Originally committed as revision 12506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-19 14:08:16 +00:00
Ronald S. Bultje
8792f52a9b Change protocol_mask into protocol, since we always just try a single one per
iteration in make_setup_request(), and cycling between the different protocols
is now done in the calling function, therefore the need for a mask goes away.
This also makes the function somewhat simpler to read.

Discussed and approved in "[PATCH] RTSP alternate protocol 3/4".

Originally committed as revision 12505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-19 14:07:31 +00:00
Ronald S. Bultje
8a8754d80f Allow cycling between different protocols (TCP, UDP or multicast) so that if
one doesn't work, we can try the next one (i.e. trial-error protocol auto-
probing).

Discussed and approved in "[PATCH] RTSP alternate protocol 2-3/3".

Originally committed as revision 12504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-19 14:05:08 +00:00
Ronald S. Bultje
53620bba51 Split the SETUP request into a separate function, as a prelude into allowing
multiple SETUPs to be send to cycle protocols rather than bailing if one
fails.

Discussed and approved in "[PATCH] RTSP alternate protocol 1/3".

Originally committed as revision 12476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-17 12:16:39 +00:00
Ronald S. Bultje
c482500fa3 Drop RTSP default protocol.
patch by Ronald S. Bultje, rsbultje gmail com

Originally committed as revision 11377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-02 19:40:43 +00:00
Luca Barbato
7ecc634e8a Real RTSP support, from Ronald S. Bultje rsbultje gmail - part 3 Reindent
Originally committed as revision 11341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 11:25:25 +00:00
Luca Barbato
e150211863 Real RTSP support, from Ronald S. Bultje rsbultje gmail - part 2 x-pn-tng support
Originally committed as revision 11340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 11:23:25 +00:00
Luca Barbato
16ed032214 Real RTSP support, from Ronald S. Bultje rsbultje gmail - part 1 Comment
Originally committed as revision 11339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 11:10:17 +00:00
Luca Abeni
e8acf0edea Suppress the "redirector hack" from libavformat/utils.c:av_open_input_stream(),
and implement the redirector format more properly.

Originally committed as revision 11112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-29 08:35:05 +00:00
Luca Barbato
489b0d4d98 Make av_read_frame with rtsp client return EINTR on interrupt
patch from elupusateccedotse (missing hunk from r11072)

Originally committed as revision 11076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-22 14:13:23 +00:00
Luca Barbato
a960a1e041 Make av_read_frame with rtsp client return EINTR on interrupt
patch from elupusateccedotse

Originally committed as revision 11072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 10:26:11 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Luca Abeni
7ed19d7fbf Remove the "AVRtpPayloadTypes[i].pt == i" assumption from RTP and RTSP
code (this is needed for supporting MPEG2 video in the RTP muxer)

Originally committed as revision 11046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-16 07:59:41 +00:00
Ronald S. Bultje
b316aa1a1e Specify the server address when opening an rtp:// URL in rtsp.c, so
that the correct local address can be used for binding the socket.
Fixes rtsp:// URLs in ffplay on MacOS X

Patch by Ronald Bultje (rsbultje at gmail dot com)

Originally committed as revision 10940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-07 14:20:40 +00:00
Luca Abeni
ecdcbbf66a If local port n is not available, try n + 2 instead of continuing to bind
on n (allow to receive 2 rtsp streams simultaneously with libavformat)

Originally committed as revision 10876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-30 08:10:45 +00:00
Luca Abeni
c971ff1977 Remove the inclusion of rtsp.h and rtp.h from avformat.h, and
explicitly include such headers where needed

Originally committed as revision 10871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-29 09:15:35 +00:00
Luca Abeni
50755217f8 Use correct timescale in RTSP seeking
Originally committed as revision 10222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-25 15:12:38 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Panagiotis Issaris
769e10f068 Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
Originally committed as revision 9759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:21:30 +00:00
Alex Beregszaszi
e2e2e7dd70 .memleak fix by Ronald Bultje. OK'd by Luca.
Originally committed as revision 9697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-16 10:56:40 +00:00
Luca Barbato
d02678eccc rtsp multicast fix by Thijs Vermeir $1$2@gmail.com
Originally committed as revision 9611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-12 21:12:33 +00:00
Ronald S. Bultje
80fb82346e Use AV_RB* macros where appropriate.
patch by Ronald S. Bultje, rsbultje gmail com
thread: Re: [FFmpeg-devel] remove int readers
date: Sat, 23 Jun 2007 09:32:12 -0400

Originally committed as revision 9499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 09:32:34 +00:00
Eric Paul
74ef8b434d check udp_read_packet return value not to access uninitialized memory
patch by Eric Paul: [eric paul gmail com]
original thread: [FFmpeg-devel] [PATCH] : libavformat segfault when a
RTSP reading is interrupted
date: 07/05/2007 03:13 PM

Originally committed as revision 9492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 20:58:34 +00:00
Måns Rullgård
f7d78f3654 replace the uses of old string functions that Reimar missed
Originally committed as revision 9406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 11:27:12 +00:00
Måns Rullgård
75e61b0e88 use new string functions
based on patch by Reimar Döffinger

Originally committed as revision 9401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-23 23:10:32 +00:00
Thijs Vermeir
8bd32c0424 Add transport method options
patch by Thijs Vermeir thijs vermeir chez barco com
original thread:
[FFmpeg-devel] [PATCH] Add rtsp options support ( added option)

Originally committed as revision 9099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-22 07:51:39 +00:00
Thijs Vermeir
badc9ae2d5 Add support for options
patch by Thijs Vermeir thijs vermeir chez barco com
original thread:
[FFmpeg-devel] [PATCH] Add rtsp options support ( added option)

Originally committed as revision 9098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-22 07:47:04 +00:00
Alex Beregszaszi
9686292664 Don't compile RTSP_DEMUXER if not requested
Originally committed as revision 8841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 23:41:20 +00:00
Alex Beregszaszi
e7047005cb properly compile code for REDIR_DEMUXER
Originally committed as revision 8840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 23:40:36 +00:00
Alex Beregszaszi
0913873e5b remove unused rtsp_callback
Originally committed as revision 8832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 17:38:30 +00:00
Panagiotis Issaris
0af4407d35 Move unaltered rtsp.c comments to the header file.
Originally committed as revision 8256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-05 13:53:42 +00:00
Marc Hoffman
db0ed93e22 Fix compilation on Mac OS X, patch by Marc Hoffman, mmh pleasantst com.
Originally committed as revision 8067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-22 08:40:33 +00:00
Ramiro Polla
42572ef53f move networking #includes into separate file
patch by Ramiro Polla angustia =a= arrozcru =d= no-ip =d= org

Originally committed as revision 7817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-04 17:05:44 +00:00
François Revol
e9d511dc7e The long awaited BeOS cleanup, phase 1
Originally committed as revision 7581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-18 17:22:30 +00:00
Ryan Martell
1ad20f96f2 remove duplicate code, patch by Ryan Martell rdm4 A martellventures P com
Original thread:
Date: 11/15/2006 05:15 PM
Subject: [Ffmpeg-devel] [PATCH] rtsp.c minor cleanup

Originally committed as revision 7095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-16 08:48:05 +00:00
Baptiste Coudurier
cbee7a6944 get rid of CODEC_ID_MPEG4AAC after next version bump, and change it to CODEC_ID_AAC where used
Originally committed as revision 6954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-09 11:37:30 +00:00
Ryan Martell
31693e00fc Add support for getting duration of a RTP stream (for seeking in stream)
Patch by Ryan Martell % rdm4 A martellventures P com %
Original thread:
Date: Nov 6, 2006 6:39 PM
Subject: [Ffmpeg-devel] [PATCH] RTP/Get Duration of file (for seeking in stream)

Originally committed as revision 6921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-06 21:58:43 +00:00
Ryan Martell
d0deedcb07 fix more dynamic protocol stuff, needed by the forthcoming h264
streaming patch.
(Minor additions to give more information to the dynamic protocol
handlers, and a slight rearrangement of code.)
Patch by Ryan Martell %rdm4 A martellventures P com%
Original thread:
Date: Oct 29, 2006 2:30 AM
Subject: Re: [Ffmpeg-devel] RTP patches & RFC

Originally committed as revision 6831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-29 10:58:51 +00:00
Thijs
dbf30963f3 make ffmpeg able to send back a RTCP receiver report.
Patch by Thijs thijsvermeir A telenet P be
Original thread:
Date: Oct 27, 2006 12:58 PM
Subject: [Ffmpeg-devel] [PATCH proposal] RTCP receiver report

Originally committed as revision 6805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-27 18:19:29 +00:00
Ryan Martell
ed78754216 indentation fix, patch by Ryan Martell % rdm4 A martellventures P com %
Original thread:
Date: Oct 27, 2006 6:17 AM
Subject: Re: [Ffmpeg-devel] RTP patches & RFC

Originally committed as revision 6804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-27 17:51:20 +00:00
Ryan Martell
4934884a13 Add support for H264 over RTP
Patch by Ryan Martell % rdm4 A martellventures P com %
Original thread:
Date: Oct 9, 2006 4:55 PM
Subject: [Ffmpeg-devel] RTP patches & RFC
Actual committed patch:
Date: Oct 26, 2006 4:29 PM

Originally committed as revision 6798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-26 18:36:03 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Måns Rullgård
ff70e60176 allow individual selection of muxers and demuxers
Originally committed as revision 5707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-10 21:14:37 +00:00
Måns Rullgård
d2a067d1d9 give AVInput/OutputFormat structs consistent names
Originally committed as revision 5697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 23:40:53 +00:00
Stefan Huehner
7b49ce2e34 Add const to (mostly) char* and make some functions static, which aren't used
outside their declaring source file and which have no corresponding prototype.
patch by Stefan Huehner stefan^^@^^huehner^^.^^org

Originally committed as revision 5497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-18 11:33:14 +00:00
Michael Niedermayer
c04c3282b4 simplify AVFormatParameters NULL checks
Originally committed as revision 5146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-11 00:22:21 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Michael Niedermayer
01f4895c68 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
Originally committed as revision 4453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-17 22:24:36 +00:00
Romain Degez
d1ccf0e0a6 RTP/RTSP and MPEG4-AAC audio
- preliminary support for mpeg4-aac rtp payload (no interleaving support)
  - use udp transport as default (makes more sense with rtp, doesn't it ?)
  - some code factorization, so adding support for new rtp payload will be easier
  (I hope ;-)
patch by (Romain DEGEZ: romain degez, smartjog com)

Originally committed as revision 4306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-26 07:47:51 +00:00
Michael Niedermayer
0e1ceacde9 buffer overflow in sdp_probe() fix by (Gildas Bazin )gbazin altern org)
Originally committed as revision 4049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-16 19:06:34 +00:00
Michael Niedermayer
3129cd0140 allocate a few bytes more for extradata so the bitstream reader if its used by the codec for parsing extardata, doesnt read over the end
Originally committed as revision 3679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-13 01:27:35 +00:00
Michael Niedermayer
7b3c1382bf 100l (forgoten seeking functions)
Originally committed as revision 3585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-11 23:53:53 +00:00
Petr Doubek
6ba5cbc699 HTTP Authentication Patch by (Petr Doubek <doubek at vision dot ee dot ethz dot ch>)
tested and submitted by (Torsten Spindler <spindler at hbt dot arch dot ethz dot ch>)

Originally committed as revision 3381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-12 00:09:32 +00:00
Leon van Stuivenberg
2a42b5c37f support url_read which reads less then requested patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
this is needed for compatibility with tcp.c 1.10

Originally committed as revision 2911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-20 19:57:28 +00:00
Michel Bardiaux
bc874daea8 av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
Originally committed as revision 2840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-03 15:41:21 +00:00
Fabrice Bellard
ff762d6ed2 initial seek support - more generic play/pause support
Originally committed as revision 2495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-10 18:39:26 +00:00
Fabrice Bellard
8b1ab7bf21 added MPEG2TS support in RTP, SDP and RTSP - replaced fake RTP demux by a specific API
Originally committed as revision 2448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-29 14:25:27 +00:00
Fabrice Bellard
4358d5def3 removed ctype.h header
Originally committed as revision 2225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-08 20:04:44 +00:00
François Revol
438fcb754f OSX and BeOS networking fix (socklen_t)
Originally committed as revision 2077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-24 13:30:27 +00:00
Fabrice Bellard
b7b8fc3406 suppressed RTSP abort hack - added PLAY/PAUSE
Originally committed as revision 2060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-17 10:27:47 +00:00
Fabrice Bellard
b689213642 fixed RTP/TCP client support
Originally committed as revision 2045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-15 16:57:35 +00:00
Zdenek Kabelac
5c91a6755b * static,const,compiler warning cleanup
Originally committed as revision 1567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-10 09:35:32 +00:00
Fabrice Bellard
abac617591 renamed libav to libavformat
Originally committed as revision 1276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-25 19:07:40 +00:00