Commit Graph

112 Commits

Author SHA1 Message Date
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