Commit Graph

106 Commits

Author SHA1 Message Date
Martin Storsjö dbb06b8c0d rtsp: Allow specifying the UDP port range via AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-22 01:10:02 +02:00
Martin Storsjö 1f712e6a05 rtsp: Remove extern declarations for variables that don't exist
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-21 01:12:07 +02:00
Diego Biurrun 58c42af722 doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
John Brooks f011fcd67e rtsp: add allowed_media_types option
Streams from RTSP or SDP that do not match an allowed type will
be skipped entirely, which allows video-only or audio-only
streaming from servers that provide both.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-02 21:37:46 +02:00
Martin Storsjö 9867aea524 rtsp: Remove the separate filter_source variable
Read it as a flag from the flags field instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-17 19:57:49 +03:00
Martin Storsjö eca4850c6d rtsp: Accept options via private avoptions instead of URL options
Eventually, the old way of passing options by adding
stuff to the URL can be dropped.

This avoids having to tamper with the user-specified URL to
pass options on the transport mode. This also works better
with redirects, since the options don't need to be parsed out
from the URL.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-17 19:57:48 +03:00
Martin Storsjö 17fff881e7 rtsp: Merge the AVOption lists
This eases adding options that are common for both. The
AV_OPT_FLAG_EN/DECODING_PARAM still indicates whether they belong
to the muxer or demuxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-17 19:57:45 +03:00
Martin Storsjö 30eae32530 rtsp: Parse the x-Accept-Dynamic-Rate header
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-12 14:48:45 +03:00
Diego Biurrun 76e25dbca6 rtsp: remove disabled code 2011-07-18 18:22:02 +02:00
Diego Biurrun 96c1e6d40d doxygen: Make sure parameter names match between .c and .h files. 2011-07-14 04:09:49 +02:00
Diego Biurrun f75e3da535 RTSP: Doxygen comment cleanup
Do not use Doxygen for comments that apply to specific implementation
details; merge some duplicated Doxygen comment blocks.
2011-07-03 22:33:22 +02:00
Martin Storsjö e2e29c6247 rtspenc: Add RTP muxer options
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:52:22 +03:00
Anton Khirnov 4779f59378 rtspdec: add initial_pause private option.
Deprecate corresponding AVFormatParameters field.
2011-05-27 06:52:52 +02:00
Martin Storsjö 0b4949b518 rtsp: Only do keepalive using GET_PARAMETER if the server supports it
This is more like what VLC does. If the server doesn't mention
supporting GET_PARAMETER in response to an OPTIONS request,
VLC doesn't send any keepalive requests at all. After this patch,
libavformat will still send OPTIONS keepalives if GET_PARAMETER
isn't explicitly said to be supported.

Some RTSP cameras don't support GET_PARAMETER, and will
close the connection if this is sent as keepalive request
(but support OPTIONS just fine, but probably don't need any
keepalive at all). Some other cameras don't support using
OPTIONS as keepalive, but require GET_PARAMETER instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-11 10:42:34 +03:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Luca Barbato a8475bbdb6 os: replace select with poll
Select has limitations on the fd values it could accept and silently
breaks when it is reached.
2011-01-28 15:45:19 +01:00
Diego Elio Pettenò 57c4d01ec9 Make ff_rtsp_send_cmd_with_content_async static to rtsp.c.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-25 22:10:36 +01:00
Martin Storsjö 2762a7a28b rtspdec: Retry with TCP if UDP failed
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:49:36 +01:00
Martin Storsjo 93e7490ee0 rtsp: Split out a function undoing the setup made by ff_rtsp_make_setup_request
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:46:39 +01:00
Martin Storsjo fef5649a82 rtsp: Make make_setup_request a nonstatic function
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 22:46:36 +01:00
Martin Storsjö a92c30d76e rtsp: Allow requesting of filtering of source packets
If filtered, only packets from the right source address and port
are received.

To test, play back e.g. some mpeg4 video RTSP stream (where the
video stream is the first stream in the presentation) over UDP.
While receiving this stream, send another stream to the same port:
ffmpeg -re -i <whatever> -vcodec mpeg4 -an -f rtp
rtp://127.0.0.1:5000?localport=1234
Normally, the RTSP playback reports lots of errors at this point.

If the RTSP stream has the ?filter_src option enabled, these
interferring packets are ignored.

Originally committed as revision 26246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 15:22:58 +00:00
Martin Storsjö d2995eb910 rtsp: Store the Content-Base header value straight to the target
This avoids having a large temporary buffer in the struct used for
storing the rtsp reply headers.

Originally committed as revision 26192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:11:12 +00:00
Martin Storsjö 77223c5388 rtsp: Pass the method name to ff_rtsp_parse_line
Originally committed as revision 26191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:10:12 +00:00
Martin Storsjö acc9ed1450 rtsp: Pass RTSPState to ff_rtsp_parse_line, instead of HTTPAuthState
This allows ff_rtsp_parse_line to do more changes directly in RTSPState
when parsing the reply, instead of having to store large amounts of
temporary data in RTSPMessageHeader.

Originally committed as revision 26190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:07:56 +00:00
Martin Storsjö 3df54c6bf2 rtsp: Add a method parameter to ff_rtsp_read_reply
Originally committed as revision 26189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:06:21 +00:00
Martin Storsjö dd22cfb101 rtsp: Parse and use the Content-Base reply header, if present
This fixes playing RTSP urls with query parameters.

Originally committed as revision 25755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-15 15:08:53 +00:00
Martin Storsjö 0526c6f7c7 rtsp: Split out the RTSP demuxer functions to a separate, new file
Originally committed as revision 25601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-29 08:43:57 +00:00
Martin Storsjö c2688f3ac8 rtsp: Move rtsp_setup_output_streams into rtspenc.c
Originally committed as revision 25600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-29 08:41:49 +00:00
Aurelien Jacobs a5cea13202 drop rtsp_default_protocols which is not part of public API and not used anymore
Originally committed as revision 25557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-23 16:22:36 +00:00
Martin Storsjö 9e6acc7884 rtsp: Remove the start_time field from RTSPState, use AVFormatContext->start_time_realtime instead
Originally committed as revision 25408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 08:50:29 +00:00
Martin Storsjö 96a7c9753e rtsp: Use a dynamically allocated receive buffer
Originally committed as revision 25288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 17:41:31 +00:00
John Wimer 619298a84d Send NAT punching messages to the address specified in the Transport:
message, if available (RFC 2326, section 12.39), fixes issue 2212.

Patch by John Wimer <john at god vtic net>.

Originally committed as revision 25032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 19:25:59 +00:00
Josh Allmann b20359f51a rtsp: Return AVERROR_EOF when all streams have received an RTCP BYE packet
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 24965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-29 10:25:16 +00:00
Martin Storsjö 7934b15d5a Handle IPv6 in the RTSP code
Originally committed as revision 24925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 15:32:29 +00:00
Martin Storsjö 3fbd12d109 Handle IPv6 in the SDP demuxer
Originally committed as revision 24924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 15:32:00 +00:00
Aurelien Jacobs be73ba2fa4 get rid of MAX_STREAMS limit in RTSP
Originally committed as revision 24752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 23:00:13 +00:00
Luca Barbato d93fdcbf5c Preserve status reason
It is used to provide meaningful error messages.

Originally committed as revision 24714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 10:26:30 +00:00
Josh Allmann ca937a5508 RTSP, rtpdec: Move RTPPayloadData into rtpdec_mpeg4 and remove all references to rtp_payload_data in rtpdec and rtsp
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 23772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-25 08:02:50 +00:00
Martin Storsjö 48e77473e9 Cosmetics: Change connexion to connection in code comments
Originally committed as revision 23601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-14 09:09:59 +00:00
Josh Allmann f5d33f5241 Add RTSP tunneling over HTTP
Patch by Josh Allmann, joshua dot allmann at gmail dot com

Originally committed as revision 23536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 12:40:34 +00:00
Martin Storsjö fc490fcf71 Cosmetics: Reindent/align/wrap
Originally committed as revision 23498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 19:49:55 +00:00
Josh Allmann d0382374b7 RTSP: Propagate errors up from ff_rtsp_send_cmd*
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 23497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 19:45:46 +00:00
Josh Allmann b8c2c41d66 RTSP: Add a second URLContext for outgoing messages
Done in preparation for RTSP over HTTP.
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 23494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 19:41:43 +00:00
Ronald S. Bultje 03a3fcee99 Change default number of channels (used if unspecified in the format desc)
from 2 to 1, which is the actual value used in the spec. Fixes issue1978.

Path by John Wimer <john at god dot vtic dot net>.

Originally committed as revision 23414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 20:00:26 +00:00
Benoit Fouet 32e543f866 Replace @returns by @return.
Originally committed as revision 22729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 15:50:57 +00:00
Martin Storsjö 2626308abb Actually parse the auth headers in RTSP
Originally committed as revision 22677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:48:58 +00:00
Martin Storsjö aa8bf2fb80 Make RTSP use the generic http authentication code
Still hardcoded to use Basic auth, without parsing the reply headers

Originally committed as revision 22676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:47:33 +00:00
Martin Storsjö b17d11c632 Add separate method/url parameters to the rtsp_send_cmd functions
Originally committed as revision 22675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:46:14 +00:00
Martin Storsjö ec55edba31 Make rtsp_skip_packet non-static, add ff prefix
Originally committed as revision 22547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:31:15 +00:00