summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.h
Commit message (Collapse)AuthorAge
* avformat/rtpdec: Make ff_rtp_handler_iterate() staticAndreas Rheinhardt2021-09-08
| | | | | | Possible since 61974537610d82bd35b6e3ac91ccd270c6bdc711. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Remove/replace some unnecessary avcodec.h inclusionsAndreas Rheinhardt2021-07-22
| | | | | | | Also remove other unnecessary headers and include headers directly while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/rtpdec: Remove next pointer from Protocol HandlersAndreas Rheinhardt2021-01-24
| | | | | | | | | Forgotten in 61974537610d82bd35b6e3ac91ccd270c6bdc711 (notice that RTPDynamicProtocolHandler is not a public struct, so one can remove the linked-list pointer immediately (unlike in most other patches of this kind)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/rtpdec.h remove unused variableJun Li2019-03-13
| | | | | | | | | 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>
* lavf/rtpdec: Constify several pointers.Carl Eugen Hoyos2018-02-11
| | | | | | 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]
* lavf/rtp: replace linked list with arrayJosh de Kock2018-02-06
|
* Merge commit '3c525b8b4770c1ac5f466a12c5523802bd5d40eb'Hendrik Leppkes2015-09-16
|\ | | | | | | | | | | | | * commit '3c525b8b4770c1ac5f466a12c5523802bd5d40eb': rtpdec: Increase the max size of the jitter buffer to 500 packets Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * rtpdec: Increase the max size of the jitter buffer to 500 packetsMartin Storsjö2015-09-15
| | | | | | | | | | | | | | | | | | | | 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>
* | 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 '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 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74': rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Don't pass non-const pointers to fmtp attribute parsing functionsMartin Storsjö2015-02-24
| | | | | | | | | | | | | | This makes it clear that the individual parsing functions can't touch the parsed out value. 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 '353b492d0f2a21ae8eb829db1ac01b54b2a4d202'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202': rtpdec: Change enc_name to a pointer instead of a fixed-size buffer Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Change enc_name to a pointer instead of a fixed-size bufferMartin Storsjö2015-02-24
| | | | | | | | | | | | | | This avoids allocating space for a too large buffer for all the name strings. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '0307cc2253e76772b1c645ac6117d08da87a147c'Michael Niedermayer2014-07-09
|\| | | | | | | | | | | | | * commit '0307cc2253e76772b1c645ac6117d08da87a147c': rtpdec: pass an AVFormatContext to ff_parse_fmtp() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: pass an AVFormatContext to ff_parse_fmtp()Anton Khirnov2014-07-09
| | | | | | | | Use it for logging, instead of NULL or the stream codec context.
* | rtpdec: make the NTP time values unsigned.Diego Elio 'Flameeyes' Pettenò2014-05-09
| | | | | | | | | | | | | | | | 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>
* | Merge commit 'feeafb4adabd5c17de1738ed9962e40892b20edb'Michael Niedermayer2013-10-29
|\| | | | | | | | | | | | | * commit 'feeafb4adabd5c17de1738ed9962e40892b20edb': lavf: do not export av_register_{rtp,rdt}_dynamic_payload_handlers from shared objects Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: do not export av_register_{rtp,rdt}_dynamic_payload_handlers from ↵Anton Khirnov2013-10-28
| | | | | | | | shared objects
* | Merge commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5'Michael Niedermayer2013-08-01
|\| | | | | | | | | | | | | * commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5': rtpproto: Move rtpproto specific function declarations to a separate header Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpproto: Move rtpproto specific function declarations to a separate headerMartin Storsjö2013-07-31
| | | | | | | | | | | | | | Mixing these with the rtp depacketizer functions in rtpdec.h is no good. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: Increase max rtp packet size to 8192Andrew Van Til2013-04-09
| | | | | | | | | | | | This fixes connecting to "Ceton InfiniTV4 PCIe & USB". Signed-off-by: Martin Storsjö <martin@martin.st>
* | rtpdec: Increase max rtp packet size to 8192Andrew Van Til2013-04-05
| | | | | | | | | | | | | | Fixes Ticket2314 Fixes connecting to "Ceton InfiniTV4 PCIe & USB" 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 '3f111804eb5c603a344706b84b7164cbf7b4e0df'Michael Niedermayer2013-01-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * rtpdec: Make variables that should wrap unsignedMartin Storsjö2013-01-14
| | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-13
|\| | | | | | | | | | | | | * qatar/master: rtpdec: Send a valid "delay since SR" value in the RTCP RR packets Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Send a valid "delay since SR" value in the RTCP RR packetsMartin Storsjö2013-01-12
| | | | | | | | | | | | | | | | | | | | | | 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>
* | 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 commit '42805eda554a7fc44341282771531e7837ac72b7'Michael Niedermayer2013-01-09
|\| | | | | | | | | | | | | * commit '42805eda554a7fc44341282771531e7837ac72b7': rtpdec: Store the dynamic payload handler in the rtpdec context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Store the dynamic payload handler in the rtpdec contextMartin Storsjö2013-01-08
| | | | | | | | | | | | | | This allows calling other dynamic payload handler functions if needed. 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 commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59'Michael Niedermayer2012-12-21
|\| | | | | | | | | | | | | | | | | | | | | * 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>