summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.c
Commit message (Collapse)AuthorAge
* avformat/rt*p: Joining a SSM multicast group using an SDP (Issue #2171)Ed Torbett2013-07-18
| | | | | | | | | | | | | | Passes Source-Specific Multicast parameters read from an sdp file through to the UDP socket code, allowing source-specific multicast streams to be correctly received. As an integral part of this change, additional checking (currently only enabled in the case of SSM streams, but probably useful in similar scenarios) has been added to the RTP protocol handler to distinguish UDP packets arriving from multiple sources to the same port and process only the expected packets (those transmitted from the expected UDP source address). This resolves an issue identified when multiple instances of FFmpeg subscribe to different Source-Specific Multicast streams but with each sharing the same destination port. Signed-off-by: Edward Torbett <ed.torbett@simulation-systems.co.uk> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '1dd1b2332ebbac710d8e0214cec7595e118f2105'Michael Niedermayer2013-07-15
|\ | | | | | | | | | | | | * commit '1dd1b2332ebbac710d8e0214cec7595e118f2105': rtsp: Include an User-Agent header field in all requests Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Include an User-Agent header field in all requestsMartin Storsjö2013-07-14
| | | | | | | | | | | | | | | | Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it. Based on a patch by Carl Eugen Hoyos. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Supply a User-Agent header when opening rtsp streams.Carl Eugen Hoyos2013-07-11
| | | | | | | | | | | | Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it. Fixes ticket #2761. Reported, analyzed and tested by trac user imavra.
* | Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'Michael Niedermayer2013-05-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110': vf_aspect: use the name 's' for the pointer to the private context Remove commented-out debug #define cruft Conflicts: libavcodec/4xm.c libavcodec/dvdsubdec.c libavcodec/ituh263dec.c libavcodec/mpeg12.c libavfilter/avfilter.c libavfilter/vf_aspect.c libavfilter/vf_fieldorder.c libavformat/rtmpproto.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove commented-out debug #define cruftDiego Biurrun2013-05-16
| |
* | Merge commit 'e0f8be6413b6a8d334d6052e610af32935c310af'Michael Niedermayer2013-05-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e0f8be6413b6a8d334d6052e610af32935c310af': avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate Conflicts: libavformat/ac3dec.c libavformat/avformat.h libavformat/avs.c libavformat/m4vdec.c libavformat/mov.c libavformat/mp3dec.c libavformat/mpeg.c libavformat/mpegvideodec.c libavformat/psxstr.c libavformat/pva.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriateDiego Biurrun2013-05-04
| |
* | Merge commit 'e926b5ceb1962833f0c884a328382bc2eca67aff'Michael Niedermayer2013-05-01
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'e926b5ceb1962833f0c884a328382bc2eca67aff': avformat: Drop unnecessary ff_ name prefixes from static functions Conflicts: libavformat/audiointerleave.c libavformat/mux.c libavformat/mxfenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Drop unnecessary ff_ name prefixes from static functionsDiego Biurrun2013-04-30
| |
| * lavf: Use RTP_MAX_PACKET_LENGTH instead of 1500Andrew Van Til2013-04-09
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | rtsp: add option to set the socket timeout of the lower protocol.Michael Niedermayer2013-04-08
| | | | | | | | | | | | Fixes Ticket2294 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | rtsp/rtp_read_header: Use RTP_MAX_PACKET_LENGTH instead of 1500Andrew Van Til2013-04-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '2326558d5277ec87ba6d607a01ec6acfc51c694c'Michael Niedermayer2013-01-21
|\| | | | | | | | | | | | | | | * commit '2326558d5277ec87ba6d607a01ec6acfc51c694c': rtpdec: Split mpegts parsing to a normal depacketizer rtpdec: Reorder payload handler registration alphabetically Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Split mpegts parsing to a normal depacketizerMartin Storsjö2013-01-20
| | | | | | | | | | | | | | This gets rid of a number of special cases from the common rtpdec code. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05'Michael Niedermayer2013-01-15
|\| | | | | | | | | | | | | | | | | | | | | * commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05': lavf: Add a protocol for SRTP encryption/decryption rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES) Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)Martin Storsjö2013-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This only takes care of decrypting incoming packets; the outgoing RTCP packets are not encrypted. This is enough for some use cases, and signalling crypto keys for use with outgoing RTCP packets doesn't fit as simply into the API. If the SDP demuxer is hooked up with custom IO, the return packets can be encrypted e.g. via the SRTP protocol. If the SRTP keys aren't available within the SDP, the decryption can be handled externally as well (when using custom IO). Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1'Michael Niedermayer2013-01-12
|\| | | | | | | | | | | | | | | * commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1': rtsp: Remove an outdated comment rtsp: Remove references to weirdly named variables in other files Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Remove an outdated commentMartin Storsjö2013-01-12
| | | | | | | | | | | | | | | | It is unclear what the bug exactly was and if it ever was fixed, and we don't even support decoding via faad any longer. The comment has been present since d0deedcb in 2006. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtsp: Remove references to weirdly named variables in other filesMartin Storsjö2013-01-12
| | | | | | | | | | | | | | | | One of them is renamed now, but mentioning it by name serves no purpose here. The other table mentioned ceased to exist under that name in 4934884a1 in 2006. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '86d9181cf41edc3382bf2481f95a2fb321058689'Michael Niedermayer2013-01-09
|\| | | | | | | | | | | | | | | | | | | * commit '86d9181cf41edc3382bf2481f95a2fb321058689': rtpdec: Support sending RTCP feedback packets Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Support sending RTCP feedback packetsMartin Storsjö2013-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This sends NACK for missed packets and PLI (picture loss indication) if a depacketizer indicates that it needs a new keyframe, according to RFC 4585. This is only enabled if the SDP indicated that feedback is supported (via the AVPF or SAVPF profile names). The feedback packets are throttled to a certain maximum interval (currently 250 ms) to make sure the feedback packets don't eat up too much bandwidth (which might be counterproductive). The RFC specifies a more elaborate feedback packet scheduling. The feedback packets are currently sent independently from normal RTCP RR packets, which is not totally spec compliant, but works fine in the environments I've tested it in. (RFC 5506 allows this, but requires a SDP attribute for enabling it.) Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-08
|\| | | | | | | | | | | | | * qatar/master: rtsp: Respect max_delay for the reordering queue when using custom IO Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Respect max_delay for the reordering queue when using custom IOMartin Storsjö2013-01-08
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8729698d50739524665090e083d1bfdf28235724'Michael Niedermayer2013-01-08
|\| | | | | | | | | | | | | | | | | | | * commit '8729698d50739524665090e083d1bfdf28235724': rtsp: Recheck the reordering queue if getting a new packet lavr: log channel conversion description for any-to-any functions lavr: mix: reduce the mixing matrix when possible lavr: cosmetics: reindent Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Recheck the reordering queue if getting a new packetMartin Storsjö2013-01-08
| | | | | | | | | | | | | | | | | | | | If we timed out and consumed a packet from the reordering queue, but didn't return a packet to the caller, recheck the queue status. Otherwise, we could end up in an infinite loop, trying to consume a queued packet that has already been consumed. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'e96406eda4f143f101bd44372f7b2d542183000a'Michael Niedermayer2013-01-04
|\| | | | | | | | | | | | | | | | | | | * commit 'e96406eda4f143f101bd44372f7b2d542183000a': rtsp: Add support for depacketizing RTP data via custom IO Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Add support for depacketizing RTP data via custom IOMartin Storsjö2013-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To use this, set sdpflags=custom_io to the sdp demuxer. During the avformat_open_input call, the SDP is read from the AVFormatContext AVIOContext (ctx->pb) - after the avformat_open_input call, during the av_read_frame() calls, the same ctx->pb is used for reading packets (and sending back RTCP RR packets). Normally, one would use this with a read-only AVIOContext for the SDP during the avformat_open_input call, then close that one and replace it with a read-write one for the packets after the avformat_open_input call has returned. This allows using the RTP depacketizers as "pure" demuxers, without having them tied to the libavformat network IO. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3f95f0dda55fca74b646937095a02a8fa9776622'Michael Niedermayer2013-01-04
|\| | | | | | | | | | | | | * commit '3f95f0dda55fca74b646937095a02a8fa9776622': rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Move the URLContext used for RTCP RR out from the context, to a ↵Martin Storsjö2013-01-03
| | | | | | | | | | | | parameter Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-15
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: bgmc: Fix av_malloc checks in ff_bgmc_init() rtp: set the payload type as stream id Conflicts: libavformat/rtpenc_chain.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtp: set the payload type as stream idLuca Barbato2012-11-14
| | | | | | | | | | | | | | Support multiple video/audio streams with different format in the same session. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '381dc1a5ec0925b281c573457c413ae643567086'Michael Niedermayer2012-10-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '381dc1a5ec0925b281c573457c413ae643567086': fate: ac3: Place E-AC-3 tests and AC-3 tests in different groups fate: Add shorthands for acodec PCM and ADPCM tests avconv: Drop unused function argument from do_video_stats() cmdutils: Conditionally compile libswscale-related bits aacenc: Drop some unused function arguments rtsp: Avoid a cast when calling strtol nut: support textual data nutenc: verbosely report unsupported negative pts Conflicts: cmdutils.c ffmpeg.c libavformat/nut.c libavformat/nutenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Avoid a cast when calling strtolMartin Storsjö2012-10-29
| | | | | | | | | | | | | | | | | | This gets rid of this warning: libavformat/rtsp.c: In function ‘rtsp_parse_transport’: libavformat/rtsp.c:794: warning: cast discards qualifiers from pointer target type Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed'Michael Niedermayer2012-10-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed': fate-vc1: add dependencies ARM: fix overreads in neon h264 chroma mc rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet gitignore: ignore files created by msvc fate: Add proper dependencies for the tests in video.mak configure: Disable Snow decoder and encoder by default lzo: Drop obsolete fast_memcpy reference build: Drop OBJS declaration for non-existing PCM_DVD encoder mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all Conflicts: libavcodec/mpegvideo.c libavformat/rtsp.c tests/fate/microsoft.mak tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packetMartin Storsjö2012-10-20
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1cd432e167b1a80853760c89a33606e2b5f229c2'Michael Niedermayer2012-10-19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1cd432e167b1a80853760c89a33606e2b5f229c2': configure: fix libcdio check rtsp: Allow setting the reordering buffer size via an AVOption rtsp: Vertically align a constant definition rtp: Update the check for distinguishing between RTP and RTCP aac: fix build with hardcoded tables fate: dependencies for screen codec tests riff: Move functions around to be covered by appropriate #ifdefs Conflicts: configure tests/fate/screen.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Allow setting the reordering buffer size via an AVOptionMartin Storsjö2012-10-18
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avcodec: Convert some commented-out printf/av_log instances to av_dlog avcodec: Drop silly and/or broken printf debug output avcodec: Drop some silly commented-out av_log() invocations avformat: Convert some commented-out printf/av_log instances to av_dlog avformat: Remove non-compiling and/or silly commented-out printf/av_log statements Remove some silly disabled code. ac3dec: ensure get_buffer() gets a buffer for the correct number of channels Conflicts: libavcodec/dnxhddec.c libavcodec/ffv1.c libavcodec/h264.c libavcodec/h264_parser.c libavcodec/mjpegdec.c libavcodec/motion_est_template.c libavcodec/mpegaudiodec.c libavcodec/mpegvideo_enc.c libavcodec/put_bits.h libavcodec/ratecontrol.c libavcodec/wmaenc.c libavdevice/timefilter.c libavformat/asfdec.c libavformat/avidec.c libavformat/avienc.c libavformat/flvenc.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Remove non-compiling and/or silly commented-out printf/av_log ↵Diego Biurrun2012-10-01
| | | | | | | | statements
* | rtsp: fix "warning: ret may be used uninitialized in this function"Michael Niedermayer2012-09-22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | rtsp: kill a pointer type warning (void **) vs. (AVFormatContext **)Michael Niedermayer2012-09-22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9': avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member Conflicts: libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/mpeg12enc.c libavcodec/options_table.h libavcodec/snowenc.c libavcodec/tiffenc.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/af_asyncts.c libavfilter/af_join.c libavfilter/buffersrc.c libavfilter/src_movie.c libavfilter/vf_delogo.c libavfilter/vf_drawtext.c libavformat/http.c libavformat/img2dec.c libavformat/img2enc.c libavformat/movenc.c libavformat/mpegenc.c libavformat/mpegtsenc.c libavformat/options_table.h libavformat/segment.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078': avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member Conflicts: libavcodec/libvpxenc.c libavcodec/options_table.h libavfilter/vf_drawtext.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '124134e42455763b28cc346fed1d07017a76e84e'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '124134e42455763b28cc346fed1d07017a76e84e': avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member Conflicts: libavcodec/aacenc.c libavcodec/libopenjpegenc.c libavcodec/options_table.h libavdevice/bktr.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/vf_drawtext.c libavformat/movenc.c libavformat/options_table.h libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vf_hqdn3d: Don't declare the loop variable within the for loop huffyuv: update to current coding style huffman: update to current coding style rtsp: Free the rtpdec context properly build: fft: x86: Drop unused YASM-OBJS-FFT- variable Conflicts: libavcodec/huffman.c libavcodec/huffyuv.c libavcodec/x86/Makefile libavfilter/vf_hqdn3d.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Free the rtpdec context properlyMartin Storsjö2012-08-27
| | | | | | | | | | | | | | | | | | The condition for calling the rtpdec cleanup was broken in df8cf076c86. This fixes a memory leak. Signed-off-by: Martin Storsjö <martin@martin.st>