aboutsummaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.h
AgeCommit message (Collapse)Author
2019-03-13avformat/rtpdec.h remove unused variableJun Li
Looks like the variable 'cur_timestamp' is not used anywhere. So remove this variable. Signed-off-by: Jun Li <junli1026@gmail.com> Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-11lavf/rtpdec: Constify several pointers.Carl Eugen Hoyos
Fixes two warnings: libavformat/rtpdec.c:155:20: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] libavformat/rtpdec.c:168:20: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
2018-02-06lavf/rtp: replace linked list with arrayJosh de Kock
2015-09-16Merge commit '3c525b8b4770c1ac5f466a12c5523802bd5d40eb'Hendrik Leppkes
* commit '3c525b8b4770c1ac5f466a12c5523802bd5d40eb': rtpdec: Increase the max size of the jitter buffer to 500 packets Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-15rtpdec: Increase the max size of the jitter buffer to 500 packetsMartin Storsjö
Since the actual max length of the jitter buffer is restricted by max_delay, this shouldn't harm the overall latency (assuming that max_delay is set properly), while allowing packet reordering with a larger number of packets (which may be required with high bitrate video). Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-25Merge commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd'Michael Niedermayer
* commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd': rtpdec: Rename the free method to close Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25Merge commit '078d43e23a7a3d64aafee8a58b380d3e139b3020'Michael Niedermayer
* commit '078d43e23a7a3d64aafee8a58b380d3e139b3020': rtpdec: Free depacketizers if the init function failed Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25Merge commit 'bb4a310bb85f43e62240145a656b1e5285b14239'Michael Niedermayer
* 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>
2015-02-25Merge commit 'f4b59334bd898c47c9ac30999a346176548630a8'Michael Niedermayer
* commit 'f4b59334bd898c47c9ac30999a346176548630a8': rtpdec: Remove the now unused .alloc field Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24Merge commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74'Michael Niedermayer
* commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74': rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24Merge commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd'Michael Niedermayer
* commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd': rtpdec: Allow allocating and freeing the private data without explicit functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24Merge commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6'Michael Niedermayer
* commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6': rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24Merge commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202'Michael Niedermayer
* commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202': rtpdec: Change enc_name to a pointer instead of a fixed-size buffer Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24rtpdec: Rename the free method to closeMartin Storsjö
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>
2015-02-24rtpdec: Free depacketizers if the init function failedMartin Storsjö
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>
2015-02-24rtpdec: Don't free the payload context in the .free functionMartin Storsjö
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>
2015-02-24rtpdec: Remove the now unused .alloc fieldMartin Storsjö
Always use the .priv_data_size field instead. Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24rtpdec: Don't pass non-const pointers to fmtp attribute parsing functionsMartin Storsjö
This makes it clear that the individual parsing functions can't touch the parsed out value. Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24rtpdec: Allow allocating and freeing the private data without explicit functionsMartin Storsjö
This can reduce the amount of boilerplate in simple depacketizers. Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandlerMartin Storsjö
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>
2015-02-24rtpdec: Change enc_name to a pointer instead of a fixed-size bufferMartin Storsjö
This avoids allocating space for a too large buffer for all the name strings. Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-09Merge commit '0307cc2253e76772b1c645ac6117d08da87a147c'Michael Niedermayer
* commit '0307cc2253e76772b1c645ac6117d08da87a147c': rtpdec: pass an AVFormatContext to ff_parse_fmtp() Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09rtpdec: pass an AVFormatContext to ff_parse_fmtp()Anton Khirnov
Use it for logging, instead of NULL or the stream codec context.
2014-05-09rtpdec: make the NTP time values unsigned.Diego Elio 'Flameeyes' Pettenò
As per RFC3550, section 4, the NTP time is provided as 64-bit unsigned integer, so follow the same logic here. Reviewed-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29Merge commit 'feeafb4adabd5c17de1738ed9962e40892b20edb'Michael Niedermayer
* commit 'feeafb4adabd5c17de1738ed9962e40892b20edb': lavf: do not export av_register_{rtp,rdt}_dynamic_payload_handlers from shared objects Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28lavf: do not export av_register_{rtp,rdt}_dynamic_payload_handlers from ↵Anton Khirnov
shared objects
2013-08-01Merge commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5'Michael Niedermayer
* commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5': rtpproto: Move rtpproto specific function declarations to a separate header Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31rtpproto: Move rtpproto specific function declarations to a separate headerMartin Storsjö
Mixing these with the rtp depacketizer functions in rtpdec.h is no good. Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09rtpdec: Increase max rtp packet size to 8192Andrew Van Til
This fixes connecting to "Ceton InfiniTV4 PCIe & USB". Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-05rtpdec: Increase max rtp packet size to 8192Andrew Van Til
Fixes Ticket2314 Fixes connecting to "Ceton InfiniTV4 PCIe & USB" Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21Merge commit '2326558d5277ec87ba6d607a01ec6acfc51c694c'Michael Niedermayer
* commit '2326558d5277ec87ba6d607a01ec6acfc51c694c': rtpdec: Split mpegts parsing to a normal depacketizer rtpdec: Reorder payload handler registration alphabetically Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20rtpdec: Split mpegts parsing to a normal depacketizerMartin Storsjö
This gets rid of a number of special cases from the common rtpdec code. Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15Merge commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05'Michael Niedermayer
* 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>
2013-01-15Merge commit '3f111804eb5c603a344706b84b7164cbf7b4e0df'Michael Niedermayer
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df': libvpx: make vp8 and vp9 selectable libvpx: support vp9 nut: support vp9 tag mkv: support vp9 tag rtpdec: Make variables that should wrap unsigned Conflicts: configure libavcodec/Makefile libavcodec/allcodecs.c libavcodec/avcodec.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)Martin Storsjö
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>
2013-01-14rtpdec: Make variables that should wrap unsignedMartin Storsjö
This makes the behaviour defined when they wrap around. The value assigned to expected_prior was a uint32_t already. Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-13Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: rtpdec: Send a valid "delay since SR" value in the RTCP RR packets Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12rtpdec: Send a valid "delay since SR" value in the RTCP RR packetsMartin Storsjö
Previously, we always signalled a zero time since the last RTCP SR, which is dubious. The code also suggested that this would be the difference in RTP NTP time units (32.32 fixed point), while it actually is in in 1/65536 second units. (RFC 3550 section 6.4.1) Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-09Merge commit '86d9181cf41edc3382bf2481f95a2fb321058689'Michael Niedermayer
* commit '86d9181cf41edc3382bf2481f95a2fb321058689': rtpdec: Support sending RTCP feedback packets Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09Merge commit '42805eda554a7fc44341282771531e7837ac72b7'Michael Niedermayer
* commit '42805eda554a7fc44341282771531e7837ac72b7': rtpdec: Store the dynamic payload handler in the rtpdec context Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08rtpdec: Support sending RTCP feedback packetsMartin Storsjö
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>
2013-01-08rtpdec: Store the dynamic payload handler in the rtpdec contextMartin Storsjö
This allows calling other dynamic payload handler functions if needed. Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-04Merge commit 'e96406eda4f143f101bd44372f7b2d542183000a'Michael Niedermayer
* commit 'e96406eda4f143f101bd44372f7b2d542183000a': rtsp: Add support for depacketizing RTP data via custom IO Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04Merge commit '3f95f0dda55fca74b646937095a02a8fa9776622'Michael Niedermayer
* commit '3f95f0dda55fca74b646937095a02a8fa9776622': rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03rtsp: Add support for depacketizing RTP data via custom IOMartin Storsjö
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>
2013-01-03rtpdec: Move the URLContext used for RTCP RR out from the context, to a ↵Martin Storsjö
parameter Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-21Merge commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59'Michael Niedermayer
* commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59': rtpdec: Pass the sequence number to depacketizers configure: Make avconv depend on null, anull and resample filters Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21rtpdec: Pass the sequence number to depacketizersMartin Storsjö
This allows depacketizers to figure out if packets have been lost. Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-13Merge commit 'f3f60dcbdd6ff2201526a603fe28293975bb7667'Michael Niedermayer
* commit 'f3f60dcbdd6ff2201526a603fe28293975bb7667': rtpdec_mpeg4: Cosmetic cleanup rtpdec: Cosmetic cleanup of the header rtpdec: Get rid of a useless _s suffix on a struct name Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13Merge commit '7941159df6aad2d219e2a7184489be7a735dd944'Michael Niedermayer
* commit '7941159df6aad2d219e2a7184489be7a735dd944': rtpdec/enc: Remove outdated/useless/misleading comments rtpdec: Improve some comments rtpdec: Remove unused context variables rtpdec: Limit writing to the buffer size svq1: Fix building with -DDEBUG svq1: return meaningful error codes. Conflicts: libavcodec/svq1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>