summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.c
Commit message (Collapse)AuthorAge
* 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>
* | 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>
| * rtpdec: Pass the sequence number to depacketizersMartin Storsjö2012-12-21
| | | | | | | | | | | | This allows depacketizers to figure out if packets have been lost. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '7941159df6aad2d219e2a7184489be7a735dd944'Michael Niedermayer2012-12-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * rtpdec: Limit writing to the buffer sizeMartin Storsjö2012-12-12
| | | | | | | | | | | | This fixes potential buffer overwrites. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-12-10
|\| | | | | | | | | | | | | | | | | * qatar/master: rtpdec: Remove an outdated todo comment rtpdec: Rename a static variable to normal naming conventions sh4: dsputil: remove duplicate of ff_gmc_c() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Remove an outdated todo commentMartin Storsjö2012-12-10
| | | | | | | | | | | | | | | | | | | | | | | | This comment was added in e309128f, in 2002, and has been brought along since then more or less unmodified. The first point of the todo was implemented in dbf30963 in 2006, the second one is not relevant to rtpdec.c (brought along from rtp.c in 8eb793c4 in 2008) but would be more relevant to the rtp muxer, although it isn't a good idea anyway. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: Rename a static variable to normal naming conventionsMartin Storsjö2012-12-10
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '5d471b73d20616f5ac701ff62e5de49465cda264'Michael Niedermayer2012-12-10
|\| | | | | | | | | | | | | | | | | | | | | * commit '5d471b73d20616f5ac701ff62e5de49465cda264': rtpdec: K&R formatting and spelling cosmetics cosmetics: Fix dropable --> droppable typo Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: K&R formatting and spelling cosmeticsMartin Storsjö2012-12-09
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>