Commit Graph

215 Commits

Author SHA1 Message Date
Martin Storsjö db76ca7f35 Use rt->control_uri consequently instead of s->filename in all RTSP commands
Originally committed as revision 22403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 16:04:41 +00:00
Martin Storsjö 03f8fc0897 RTSP: Resolve and use the actual IP address of the peer we're connected to,
instead of using the original host name, since the RTP (and UDP) protocols
may choose another IP address if the host name resolves into several different
addresses.

Originally committed as revision 22398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:59:40 +00:00
Martin Storsjö f984dcf6dd Reindent
Originally committed as revision 22322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:05:03 +00:00
Martin Storsjö c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
David Conrad ac11d562e5 Localize the #define _SVID_SOURCE needed for inet_aton() to os_support.c
Originally committed as revision 22284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:48:59 +00:00
Martin Storsjö 57b5555c91 Use ff_url_join for assembling URLs, instead of snprintf
This ensures proper escaping of numerical IPv6 addresses.

The RTSP (de)muxer needs its own network initialization, since it isn't
a protocol and url_open hasn't been called yet.

Originally committed as revision 22226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:35:21 +00:00
Martin Storsjö f65919af7e Rename RTP depacketizer files from rtp_* to rtpdec_*
Originally committed as revision 22109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 11:03:14 +00:00
Martin Storsjö 9399393333 Cosmetics: reindent
Originally committed as revision 21995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 11:05:36 +00:00
Ronald S. Bultje 3307e6ea86 Prefix non-static RTSP functions with ff_.
Originally committed as revision 21974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 00:35:50 +00:00
Martin Storsjö 6f5a3d0a7b Add an RTSP muxer
Originally committed as revision 21971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 21:28:19 +00:00
Martin Storsjö f86f665623 Free metadata in chained RTP muxers in the RTSP muxer
This fixes a minor memory leak

Originally committed as revision 21970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 21:20:30 +00:00
Martin Storsjö af037f8098 Cosmetics: reindent
Originally committed as revision 21969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 19:47:22 +00:00
Martin Storsjö 15ba23150e Add declarations and doxygen documentation of generic rtsp support functions
to rtsp.h, and make the functions non-static

Originally committed as revision 21968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 19:44:08 +00:00
Martin Storsjö 2efc97c2fe Cosmetics: reindent after applying patches
Originally committed as revision 21967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 16:11:38 +00:00
Martin Storsjö 35cfd6464e Don't follow RTSP redirects when used as a muxer
Originally committed as revision 21966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 15:57:40 +00:00
Martin Storsjö 3e24c7701c Add a function rtsp_setup_output_streams for announcing the SDP
and setting up the internal RTSPStream data structures when using
the RTSP code in muxer mode.

Originally committed as revision 21965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 15:56:18 +00:00
Martin Storsjö fd450a5177 Create AVFormatContext objects as private transport for output RTSP sessions
Originally committed as revision 21964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 15:46:56 +00:00
Martin Storsjö 4280f9bbcd Split rtsp_read_header() into two functions, so that the main part (now also
known as rtsp_connect()) can be used in the RTSP muxer.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:23:40 +00:00
Martin Storsjö e23d195deb Split out input-specific parts of rtsp_read_header() into its own, new,
function (rtsp_setup_input_streams()), as preparation for the upcoming
RTSP muxer.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:21:44 +00:00
Martin Storsjö 30ff7c5cbc Only send out NAT-punching RTP/RTCP packets when we're in demuxer mode, i.e.
don't send them when acting as a RTSP muxer.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:13:21 +00:00
Martin Storsjö 69adcc4ffb Use mode=receive instead of mode=play if in RTSP muxer (instead of demuxer)
mode.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:11:59 +00:00
Martin Storsjö 52aa4338cc Make rtsp_close_streams() take a AVFormatContext instead of a RTSPState
argument, so we can use AVFormatContext->* here in the future.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:10:19 +00:00
Martin Storsjö c02fd3d2e8 Rename RTSP_STATE_PLAYING to _STREAMING, since that better covers the
future use of the rtsp* codebase for RTSP muxing.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 16:26:21 +00:00
Martin Storsjö dfd017bf0a Add functions to send RTSP commands with content attached to them. This will
be used eventually in the RTSP muxer (see thread "[PATCH] RTSP muxer, round
3" on mailinglist).

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 19:24:02 +00:00
Martin Storsjö 9c8fa20d7e When using RTP-over-UDP, send dummy packets during stream setup, similar to
what e.g. RealPlayer does. This allows proper port forwarding setup in NAT-
based environments.

Patch by Martin Storsjö <$firstname at $firstname dot st>.

Originally committed as revision 21856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 22:50:50 +00:00
Ronald S. Bultje 7515ed0c1d Reindent after r21741.
Originally committed as revision 21742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 18:31:47 +00:00
Ronald S. Bultje 170870b77c Don't forget to set known audio parameters (samplerate, etc.) if the codec is
not supported in FFmpeg. This will cause crashes later because the samplerate
is used to initialize the timebase.

Originally committed as revision 21741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 18:30:55 +00:00
Jeremy Morton 2700063655 Don't use tcp_fd if we're not using TCP-based connections (e.g. when
reading direct SDP files to set up UDP-based RTP-streams). Fixes
issue 1713. Patch by Jeremy Morton <ffmpeg game-point net>.

Originally committed as revision 21461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 15:51:54 +00:00
Alan Steremberg 00eb13e05f Use the control URI from the SDP (if present) rather than the input filename,
if present. This fixes playback of a number of MS-RTSP streams, mostly these
for which playback contains a session key in the URI. Fixes issue 1697.
Patch by Alan Steremberg <$firstname dot $lastname () gmail com>.

Originally committed as revision 21381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:04:15 +00:00
Ronald S. Bultje 2e13ecfeca Remove reply and content_ptr arguments from rtsp_send_cmd_async(), since
they are unused.

Originally committed as revision 21371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:04:17 +00:00
Ronald S. Bultje f8c087333d Change on rtsp_send_cmd() to the _async() version since we don't use the
response anyway.

Originally committed as revision 21370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:01:11 +00:00
Ronald S. Bultje 7eaa646fd6 Reindent after r21368.
Originally committed as revision 21369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 19:50:40 +00:00
Ronald S. Bultje 8b9457deab Pretty embarassing bug; we shouldn't use av_strlcatf() on an uninitialized
buffer, that is doomed to not work at some point.

Originally committed as revision 21368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 19:48:30 +00:00
Ronald S. Bultje 9d50d39629 Fix issue1658 (trailing space in rtpmap descriptor).
Originally committed as revision 21187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 15:55:42 +00:00
Ronald S. Bultje 8f3c87f3e2 Add correct log context to av_log() calls in parse_rtpmap().
Originally committed as revision 21072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:44:03 +00:00
Ronald S. Bultje c896580087 Re-indent to more closely follow general coding standards used in other
parts of FFmpeg. Also change a starting condition; while (condition) {
... bla = bla->next; } loop into a proper for() loop.

Originally committed as revision 21071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:41:14 +00:00
Ronald S. Bultje 0e59034ed8 Remove forward declarations.
Originally committed as revision 21020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 19:55:43 +00:00
Stefano Sabatini debe86bfed Fix typo.
Originally committed as revision 20990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:29:22 +00:00
Stefano Sabatini 702d0a9e85 Remove residual use of the doxygen markup which is deprecated,
consistent with r19122.

Originally committed as revision 20989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:28:18 +00:00
Luca Barbato d7250724ef Rename internal function
sdp_read_packet -> rtsp_fetch_packet

This way describes slightly better what it does.

Originally committed as revision 20982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 16:19:28 +00:00
Luca Abeni 103dfbe2c4 Add some "#if"s to avoid compiling the RTSP code when the RTSP demuxer
is disabled, and remove a useless "#if CONFIG_SDP_DEMUXER"

Originally committed as revision 20530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-13 10:19:42 +00:00
Luca Abeni 987131828c Split the sdp_read_packet() function out of rtsp_read_packet().
This allows to avoid compiling RTSP code when not needed.

Originally committed as revision 20526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 15:34:17 +00:00
Luca Abeni 1ced9da357 Move some some functions around, so that splitting the SDP code out of
rtsp_read_packet() is simpler.

Originally committed as revision 20525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 10:31:37 +00:00
Luca Barbato 7549632bda rtsp_close_streams frees the auth_b64 line already
Originally committed as revision 20370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 00:41:10 +00:00
Luca Barbato d243ba30b8 Support 3xx redirection in rtsp
All the error codes 3xx got managed the same way.
After setup/early play redirection will not be managed
REDIRECT method is yet to be supported (if somebody knows a server implementing
it please contact me)

Originally committed as revision 20369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 00:06:31 +00:00
Luca Barbato 921da21745 Just remove params understood by the demuxer
This should unbreak certain urls.

Originally committed as revision 20364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 16:53:06 +00:00
Luca Barbato 7541f32edd Suppress ?params in the rtsp uri
Right now rtsp demuxer receives it's ffmpeg specific params encoded in the url
That made the server receiving requests with the url ending with "?udp",
"?multicast" and "?tcp". That may or may not cause problems to servers with
overly strict or overly simple uri parsers

Patch from Armand Bendanan (name.surnameATfreeDOTfr)

Originally committed as revision 20363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 15:18:21 +00:00
Luca Barbato 224b44957b Use sdp c= line if the rtsp Transport line doesn't have a destination
Transport:destination in rtsp is optional, c= line in sdp is compulsory

Patch from Armand Bendanan (name.surnameATfreeDOTfr)

Originally committed as revision 20362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 15:10:58 +00:00
Diego Biurrun 76e6e9c330 Remove ancient redir demuxer.
HTTP supports redirection just fine without it.

Originally committed as revision 20361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 12:44:27 +00:00
Ronald S. Bultje ba93ea6d3e Unscrewup indentation (pointed out by Diego).
Originally committed as revision 19910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 13:18:47 +00:00