summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.c
Commit message (Collapse)AuthorAge
* Merge commit 'e02dcdf6bb6835ef4b49986b85a67efcb3495a7f'Hendrik Leppkes2015-10-27
|\ | | | | | | | | | | | | * commit 'e02dcdf6bb6835ef4b49986b85a67efcb3495a7f': rtsp: Allow $ as interleaved packet indicator before a complete response header Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * rtsp: Allow $ as interleaved packet indicator before a complete response headerMartin Storsjö2015-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some RTSP servers ("HiIpcam/V100R003 VodServer/1.0.0") respond to our keepalive GET_PARAMETER request by a truncated RTSP header (lacking the final empty line to indicate a complete response header). Prior to 764ec70149, this worked just fine since we reacted to the $ as interleaved packet indicator anywhere. Since $ is a valid character within the response header lines, 764ec70149 changed it to be ignored there. But to keep compatibility with such broken servers, we need to at least allow reacting to it at the start of lines. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1ec611a10228945d2ec8a9cf6c5531dee6b7ee56'Hendrik Leppkes2015-09-16
|\| | | | | | | | | | | | | * commit '1ec611a10228945d2ec8a9cf6c5531dee6b7ee56': rtsp: warning when max_delay reached Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * rtsp: warning when max_delay reachedEloi BAIL2015-09-16
| | | | | | | | | | | | | | | | | | packets are queued due to packet reordering until the queue reach its maximal size or max delay is reached. This commit adds a warning trace when max delay is reached. Signed-off-by: Eloi BAIL <eloi.bail@savoirfairelinux.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '764ec70149728be82304c163ccc4e280f1629201'Michael Niedermayer2015-07-30
|\| | | | | | | | | | | | | * commit '764ec70149728be82304c163ccc4e280f1629201': rtsp: Only interpret $ as interleaved packet indicator at the start of replies Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * rtsp: Only interpret $ as interleaved packet indicator at the start of repliesMartin Storsjö2015-07-30
| | | | | | | | | | | | | | | | | | | | | | | | Allow $ as character anywhere within normal RTSP replies - both within the lines, and as the first character of RTSP header lines. (The existing old comment indicated that an inline packet could start at any line within a RTSP reply header, but that doesn't sound valid to me, and I'm not sure if the existing code handled that correctly either.) CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/rtsp: print a debug level note if time parsing failsMichael Niedermayer2015-05-15
| | | | | | | | | | | | Fixes CID733718 again This partly reverts commit eb7ddb5066843ab16caf33b05eafb2576648b797.
* | Merge commit 'b90adb0aba073f9c1b4abca852119947393ced4c'Michael Niedermayer2015-04-24
|\| | | | | | | | | | | | | * commit 'b90adb0aba073f9c1b4abca852119947393ced4c': rtsp: Make sure we don't write too many transport entries into a fixed-size array Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Make sure we don't write too many transport entries into a fixed-size ↵Martin Storsjö2015-04-24
| | | | | | | | | | | | | | array CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'eb7ddb5066843ab16caf33b05eafb2576648b797'Michael Niedermayer2015-04-24
|\| | | | | | | | | | | | | * commit 'eb7ddb5066843ab16caf33b05eafb2576648b797': rtsp: Don't warn about unparsed time ranges Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Don't warn about unparsed time rangesMartin Storsjö2015-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the error logging added in 4e54432164. This avoids warnings about "Invalid interval start specification 'now'" for live rtsp streams. We only try to parse some of the many valid values for time ranges in RTSP - the other ones are fully valid but not interesting for the use case in rtsp.c, so we shouldn't warn about them. (Parsing the time ranges is needed to allow seeking, but e.g. setting the current realtime clock for the start time doesn't make sense. av_parse_time has got a different mode for parsing absolute times as well, which can handle the special case "now", but that doesn't make much sense for this particular use in rtsp.c.) Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1a3eb042c704dea190c644def5b32c9cee8832b8': Replace av_dlog with normal av_log at trace level Conflicts: ffplay.c libavdevice/fbdev_dec.c libavfilter/avfilter.c libavfilter/internal.h libavfilter/setpts.c libavfilter/src_movie.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_fieldorder.c libavformat/assdec.c libavformat/avidec.c libavformat/flvdec.c libavformat/http.c libavformat/ipmovie.c libavformat/isom.c libavformat/mov.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/mpegtsenc.c libavformat/mux.c libavformat/mxfdec.c libavformat/nsvdec.c libavformat/oggdec.c libavformat/r3d.c libavformat/rtspdec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-19
| | | | | | | | This applies to every library where performance is not critical.
| * rtsp: Fix unchecked return valueHimangi Saraogi2015-04-12
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtsp: Check a malloc return valueHimangi Saraogi2015-04-12
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/rtsp: Fix dereference after null checkHimangi Saraogi2015-04-12
| | | | | | | | | | | | | | This fixes CID 732219 Reviewed-by: Thomas Volkert <silvo@gmx.net> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtsp: Fix unchecked return valueHimangi Saraogi2015-04-10
| | | | | | | | | | Reviewed-by: Thomas Volkert <silvo@gmx.net> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtsp: Fix null pointer dereferenceHimangi Saraogi2015-04-04
| | | | | | | | | | | | This fixes CID 1257827. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'e3ec6fe7bb2a622a863e3912181717a659eb1bad'Michael Niedermayer2015-04-01
|\| | | | | | | | | | | | | | | | | | | * commit 'e3ec6fe7bb2a622a863e3912181717a659eb1bad': rtsp: Add a buffer_size option Conflicts: libavformat/rtsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Add a buffer_size optionLuca Barbato2015-04-01
| | | | | | | | | | | | And forward it to rtp and udp. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/rtsp: Fix potential pointer overflow in sdp_probe()Michael Niedermayer2015-03-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert "rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA"Gilles Chanteperdrix2015-03-01
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 26524e358147aade6e9dd18fff42d61b966bbc70. If we want the T.140 codec to have the AV_CODEC_ID_TEXT codec id, its type needs to be AVMEDIA_TYPE_SUBTITLE, so, keep interpreting the text media type as AVMEDIA_TYPE_SUBTITLE. Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd': rtpdec: Rename the free method to close Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Rename the free method to closeMartin Storsjö2015-02-24
| | | | | | | | | | | | | | | | | | Many of these functions were named foo_free_context, and since the functions no longer should free the context itself, only allocated elements within it, the previous naming was slightly misleading. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a': libavformat: Use ffio_free_dyn_buf where applicable Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavformat: Use ffio_free_dyn_buf where applicableMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '078d43e23a7a3d64aafee8a58b380d3e139b3020'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit '078d43e23a7a3d64aafee8a58b380d3e139b3020': rtpdec: Free depacketizers if the init function failed Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Free depacketizers if the init function failedMartin Storsjö2015-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is different from how it is handled in codecs/demuxers/muxers though (where the close function isn't called if the open function failed), but since the number of depacketizers that have an .init function is quite limited, this is easy to change. The main point is that if the init function failed, we shouldn't try to use that depacketizer at all - this makes sure that the parse function doesn't need to check for the things that were initialized in the init function. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'bb4a310bb85f43e62240145a656b1e5285b14239'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'bb4a310bb85f43e62240145a656b1e5285b14239': rtpdec: Don't free the payload context in the .free function Conflicts: libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_mpegts.c libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Don't free the payload context in the .free functionMartin Storsjö2015-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it more consistent with depacketizers that don't have any .free function at all, where the payload context is freed by the surrounding framework. Always free the context in the surrounding framework, having the individual depacketizers only free any data they've specifically allocated themselves. This is similar to how this works for demuxer/muxers/codecs - a component shouldn't free the priv_data that the framework has allocated for it. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'f4b59334bd898c47c9ac30999a346176548630a8'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit 'f4b59334bd898c47c9ac30999a346176548630a8': rtpdec: Remove the now unused .alloc field Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Remove the now unused .alloc fieldMartin Storsjö2015-02-24
| | | | | | | | | | | | Always use the .priv_data_size field instead. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd': rtpdec: Allow allocating and freeing the private data without explicit functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Allow allocating and freeing the private data without explicit functionsMartin Storsjö2015-02-24
| | | | | | | | | | | | This can reduce the amount of boilerplate in simple depacketizers. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6': rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandlerMartin Storsjö2015-02-24
| | | | | | | | | | | | | | | | | | | | This allows getting rid of quite a bit of boilerplate in depacketizers. The default value (initializing need_parsing to 0, aka AVSTREAM_PARSE_NONE) is the same as it is initialized to by default in AVStream. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '74d318f138f2a3f1b2fe81aea826d80d1e60f54c'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '74d318f138f2a3f1b2fe81aea826d80d1e60f54c': rtsp: Fix the indentation of a linewrapped statement Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Fix the indentation of a linewrapped statementMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '26524e358147aade6e9dd18fff42d61b966bbc70'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | | | * commit '26524e358147aade6e9dd18fff42d61b966bbc70': rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA See: afb0e5a810ae110a69b618e5fbed78a7c1b899f3 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: Interpret the text media type as AVMEDIA_TYPE_DATAMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'cdcc370293a159c321e41af7f0eef141c62d698d'Michael Niedermayer2015-02-23
|\| | | | | | | | | | | | | | | * commit 'cdcc370293a159c321e41af7f0eef141c62d698d': rtsp: punch holes again after pause See: 22bb5bd7a3b55c25bfef130ad89e8574dd47af1d Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: punch holes again after pauseGilles Chanteperdrix2015-02-23
| | | | | | | | | | | | | | | | | | | | | | | | When a client behind a NAT issues a pause command, and stay paused for a long time, the router may stop the RTP/RTCP port redirection. Resend the hole punching packets before each PLAY command to cause the router to restart the port redirection in that case. Move the existing code for sending the packets from the SETUP phase to the PLAY phase. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtsp: parse lang attribute in SDPGilles Chanteperdrix2015-02-21
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/rtsp: parse lang attribute in SDPGilles Chanteperdrix2015-02-13
| | | | | | | | | | Reviewed-by: Thomas Volkert <silvo@gmx.net> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtsp: allow receiving subtitles via RTPGilles Chanteperdrix2015-02-13
| | | | | | | | | | Reviewed-by: Thomas Volkert <silvo@gmx.net> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtsp: Use avio_closep() to avoid leaving stale pointers in memoryMichael Niedermayer2015-01-08
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtsp: Use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-12-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '76ccf114a6c107218e2a1948afc1d0fb3ac7ba0b'Michael Niedermayer2014-12-19
|\| | | | | | | | | | | | | * commit '76ccf114a6c107218e2a1948afc1d0fb3ac7ba0b': rtsp: check ffurl_get_file_handle() return value Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtsp: check ffurl_get_file_handle() return valueVittorio Giovara2014-12-18
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 717844
* | Merge commit '604c9b1196c70d79bbbc1f23e75f6a8253a74da3'Michael Niedermayer2014-12-02
|\| | | | | | | | | | | | | | | | | | | * commit '604c9b1196c70d79bbbc1f23e75f6a8253a74da3': rtsp: move the CONFIG_ macros to the beginning of the check Conflicts: libavformat/rtsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>