summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.c
Commit message (Collapse)AuthorAge
...
| * rtpdec_hevc: Drop a duplicated, nonstandard entryVittorio Giovara2014-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RFC spec draft only specifies the "H265" name - there is no specification saying how to interpret "HEVC" (if such a packet format is specified it could be an entirely different format). Since this is a very new standard (still a draft), there is little need for compatibility with existing, broken implementations. Therefore remove the extra alias, to avoid the risk of encouraging incorrect usage. Intentionally keeping the ff_hevc_dynamic_handler name for the handler, to use "hevc" consistently as name for the codec instead of "h265" within the library internals as long as there only is one single variant in actual use. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: HEVC/H.265 supportThomas Volkert2014-09-03
| | | | | | | | | | | | As specified in draft-ietf-payload-rtp-h265-06. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/rtpdec: support for HEVC/H.265 RTP payload format (draft v6) ↵ThomasVolkert2014-08-26
| | | | | | | | depacketizing
* | Add support for H.261 RTP payload format (RFC 4587)ThomasVolkert2014-08-24
| |
* | 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.
* | avformat/rtpdec: Enable GSM RTP depacketizationAndrey Utkin2013-12-08
| | | | | | | | 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 remote-tracking branch 'qatar/master'Michael Niedermayer2013-06-07
|\| | | | | | | | | | | | | * qatar/master: rtpdec: Fix the alphabetical ordering in registering depacketizers Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Fix the alphabetical ordering in registering depacketizersMartin Storsjö2013-06-06
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'Michael Niedermayer2013-03-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1afddbe59e96af75f1c07605afc95615569f388f': avpacket: use AVBuffer to allow refcounting the packets. Conflicts: libavcodec/avpacket.c libavcodec/utils.c libavdevice/v4l2.c libavformat/avidec.c libavformat/flacdec.c libavformat/id3v2.c libavformat/matroskaenc.c libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avpacket: use AVBuffer to allow refcounting the packets.Anton Khirnov2013-03-08
| | | | | | | | | | | | This will allow us to avoid copying the packets in many cases. This breaks ABI.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-03-03
|\| | | | | | | | | | | | | * qatar/master: rtpdec: Initialize some variables to silence compiler warnings Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Initialize some variables to silence compiler warningsMartin Storsjö2013-03-02
| | | | | | | | | | | | | | | | The warnings are false positives, older gcc versions (such as 4.5) think the variables can be used uninitialized while they in practice can't, while newer (4.6) gets it right. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'f53490cc0c809975f8238d5a9edbd26f83bd2f84'Michael Niedermayer2013-01-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f53490cc0c809975f8238d5a9edbd26f83bd2f84': rtpdec/srtp: Handle CSRC fields being present rtpdec: Check the return value from av_new_packet ac3dec: fix non-optimal dithering of zero bit mantissas Conflicts: libavcodec/ac3dec.c libavformat/rtpdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec/srtp: Handle CSRC fields being presentMartin Storsjö2013-01-21
| | | | | | | | | | | | This is untested in practice, but follows the spec. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: Check the return value from av_new_packetMartin Storsjö2013-01-21
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'c6f1dc8e4cd967ae056698eafb891a08003c211c'Michael Niedermayer2013-01-21
|\| | | | | | | | | | | | | | | | | | | | | * commit 'c6f1dc8e4cd967ae056698eafb891a08003c211c': rtpdec: Move setting the parsing flags to the actual depacketizers rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer Conflicts: libavformat/rtpdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Move setting the parsing flags to the actual depacketizersMartin Storsjö2013-01-20
| | | | | | | | | | | | | | This gets rid of almost all the codec specific details from the generic rtpdec code. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: Split handling of mpeg12 audio/video to a separate depacketizerMartin Storsjö2013-01-20
| | | | | | | | | | | | This also adds checking of mallocs. Signed-off-by: Martin Storsjö <martin@martin.st>
* | 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>
| * rtpdec: Reorder payload handler registration alphabeticallyMartin Storsjö2013-01-20
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | rtpdec: support CSRCMichael Niedermayer2013-01-15
| | | | | | | | | | | | | | | | Untested, due to lack of rtp stream with CSRCs, but the code as is does not work with multiple CSRCs Reviewed-by: Luca Abeni <lucabe72@email.it> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | 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 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e'Michael Niedermayer2013-01-15
|\| | | | | | | | | | | | | | | * commit 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e': build: Remove stray Makefile entry for non-existent VCR1 encoder rtpdec: Handle more received packets than expected when sending RR Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Handle more received packets than expected when sending RRMartin Storsjö2013-01-14
| | | | | | | | | | | | | | | | | | | | Without this, we'd signal a huge loss rate (due to unsigned wraparound) if we had received one packet more than expected (that is, one seq number sent twice). The code has a check for lost_interval <= 0, but that doesn't do what was intended as long as the variable is unsigned. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def'Michael Niedermayer2013-01-15
|\| | | | | | | | | | | | | | | * commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def': rtpdec: Simplify insertion into the linked list queue rtpdec: Remove a woefully misplaced comment Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Simplify insertion into the linked list queueMartin Storsjö2013-01-14
| | | | | | | | | | | | | | By using a pointer-to-pointer, we avoid having to keep track of the previous packet separately. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: Remove a woefully misplaced commentMartin Storsjö2013-01-14
| | | | | | | | | | | | | | | | The code below the comment does not at all relate to statistics, and even if moved to the right place, the comment adds little value. 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 'e568db40258d549777ac1c16971678e18a18f5f5'Michael Niedermayer2013-01-13
|\| | | | | | | | | | | | | * commit 'e568db40258d549777ac1c16971678e18a18f5f5': rtpdec: Calculate and report packet reception jitter Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Calculate and report packet reception jitterMartin Storsjö2013-01-12
| | | | | | | | | | | | | | | | | | This brings back some code that was added originally in 4a6cc061 but never was used, and was removed as unused in 4cc843fa. The code is updated to actually work and is tested to return sane values. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8'Michael Niedermayer2013-01-13
|\| | | | | | | | | | | | | | | * commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8': rtpdec: Fix the calculation of expected number of packets fate: vp3: Fix fate-vp3-coeff-level64 test dependencies Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Fix the calculation of expected number of packetsMartin Storsjö2013-01-12
| | | | | | | | | | | | | | | | | | The base_seq variable is set to first_seq - 1 (in rtp_init_sequence), so no + 1 is needed here. This avoids reporting 1 lost packet from the start. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6'Michael Niedermayer2013-01-12
|\| | | | | | | | | | | | | | | | | | | | | * commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6': ratecontrol: K&R cosmetic formatting rtpdec: Remove a useless todo comment Conflicts: libavcodec/ratecontrol.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Remove a useless todo commentMartin Storsjö2013-01-12
| | | | | | | | | | | | | | | | | | The question can be answered: No, we do not know the initial sequence number from the SDP. In certain cases, it can be known from the RTP-Info response header in RTSP though. (In that case, we use it as timestamp origin, but not for rtp receiver statistics.) Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'ed79093222ceb42f0c3a39095a69af0b32be5450'Michael Niedermayer2013-01-10
|\| | | | | | | | | | | | | | | | | | | * commit 'ed79093222ceb42f0c3a39095a69af0b32be5450': rtpdec: Add a terminating null byte at the end of the SDES/CNAME yuv4mpeg: do not use deprecated functions oggdec: fix faulty cleanup prototype idcin: return 0 from idcin_read_packet() on success. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Add a terminating null byte at the end of the SDES/CNAMEMartin Storsjö2013-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required by RFC 3550 (section 6.5): The list of items in each chunk MUST be terminated by one or more null octets, the first of which is interpreted as an item type of zero to denote the end of the list. This was implicitly added as padding before, unless the host name length matched up so no padding was added. This makes wireshark parse the packets properly if other RTCP items are appended to the same packet. 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>