aboutsummaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.h
AgeCommit message (Collapse)Author
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>
2012-12-12rtpdec: Cosmetic cleanup of the headerMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12rtpdec: Get rid of a useless _s suffix on a struct nameMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12rtpdec/enc: Remove outdated/useless/misleading commentsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12rtpdec: Improve some commentsMartin Storsjö
The previous comment about the buffer was wildly inaccurate and misleading. Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12rtpdec: Remove unused context variablesMartin Storsjö
These stem from back when both the rtp muxer and rtp depacketizing shared the same struct. Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-02Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: dv1394: Swap the min and max values of the 'standard' option rtpdec_vp8: Don't parse fields that aren't used lavc: add some AVPacket doxy. audiointerleave: deobfuscate a function call. rtpdec: factorize identical code used in several handlers a64: remove interleaved mode. doc: Point to the new location of the c99-to-c89 tool decode_audio3: initialize AVFrame ws-snd1: set channel layout wmavoice: set channel layout wmapro: use AVCodecContext.channels instead of keeping a private copy wma: do not keep private copies of some AVCodecContext fields Conflicts: libavcodec/wmadec.c libavcodec/wmaenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02rtpdec: factorize identical code used in several handlersAnton Khirnov
2012-10-06Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: yuv4mpeg: return proper error codes. Give all anonymously typedeffed structs in headers a name fate: Add parseutils test parseutils-test: Drop random colors from parsing test vf_pad/scale: use double precision for aspect ratios. build: error on variable-length arrays ppc: swscale: rework yuv2planeX_altivec() ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec() x86: dsputil: kill VLA in gmc_mmx() libspeexenc: Updated commentary to reflect recent changes libspeexenc: Add an option for enabling DTX doc/APIchanges: fill in missing dates and hashes. lavr: bump major to 1 and declare it stable. lavr: change the type of the data buffers to uint8_t**. lavc: deprecate the audio resampling API. Conflicts: cmdutils.h configure doc/APIchanges ffplay.c libavcodec/dwt.h libavcodec/libspeexenc.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavformat/asf.h tests/fate/libavutil.mak tests/ref/fate/parseutils Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06Give all anonymously typedeffed structs in headers a nameDiego Biurrun
Anonymous structs cannot be forward declared and have no benefit.
2012-08-18Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: mpegvideo_enc: don't use deprecated avcodec_encode_video(). cmdutils: refactor -codecs option. avconv: make -shortest a per-output file option. lavc: add avcodec_descriptor_get_by_name(). lavc: add const to AVCodec* function parameters. swf(dec): replace CODEC_ID with AV_CODEC_ID dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE rtmpdh: Do not generate the same private key every time when using libnettle rtp: remove ff_rtp_get_rtcp_file_handle(). rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle() avio: add (ff)url_get_multi_file_handle() for getting more than one fd h264: vdpau: fix crash with unsupported colorspace amrwbdec: Decode the fr_quality bit properly Conflicts: Changelog cmdutils.c cmdutils_common_opts.h doc/ffmpeg.texi ffmpeg.c ffmpeg.h ffmpeg_opt.c libavcodec/h264.c libavcodec/options.c libavcodec/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17rtp: remove ff_rtp_get_rtcp_file_handle().Jordi Ortiz
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-07Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'Michael Niedermayer
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85': Replace all CODEC_ID_* with AV_CODEC_ID_* lavc: add AV prefix to codec ids. Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/examples/muxing.c ffmpeg.c ffprobe.c ffserver.c libavcodec/8svx.c libavcodec/avcodec.h libavcodec/dnxhd_parser.c libavcodec/dvdsubdec.c libavcodec/error_resilience.c libavcodec/h263dec.c libavcodec/libvorbisenc.c libavcodec/mjpeg_parser.c libavcodec/mjpegenc.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pcm.c libavcodec/r210dec.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/version.h libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/v4l2.c libavformat/asfdec.c libavformat/asfenc.c libavformat/avformat.h libavformat/avidec.c libavformat/caf.c libavformat/electronicarts.c libavformat/flacdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/framecrcenc.c libavformat/img2.c libavformat/img2dec.c libavformat/img2enc.c libavformat/ipmovie.c libavformat/isom.c libavformat/matroska.c libavformat/matroskadec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/movenc.c libavformat/mp3dec.c libavformat/mpeg.c libavformat/mpegts.c libavformat/mxf.c libavformat/mxfdec.c libavformat/mxfenc.c libavformat/nsvdec.c libavformat/nut.c libavformat/oggenc.c libavformat/pmpdec.c libavformat/rawdec.c libavformat/rawenc.c libavformat/riff.c libavformat/sdp.c libavformat/utils.c libavformat/vocenc.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov
2011-12-01Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: rtpdec: Templatize the code for different g726 bitrate variants rv40: move loop filter to rv34dsp context lavf: make av_set_pts_info private. rtpdec: Add support for G726 audio rtpdec: Add an init function that can do custom codec context initialization avconv: make copy_tb on by default. matroskadec: don't set codec timebase. rmdec: don't set codec timebase. avconv: compute next_pts from input packet duration when possible. lavf: estimate frame duration from r_frame_rate. avconv: update InputStream.pts in the streamcopy case. Conflicts: avconv.c libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/fbdev.c libavdevice/libdc1394.c libavdevice/oss_audio.c libavdevice/v4l.c libavdevice/v4l2.c libavdevice/vfwcap.c libavdevice/x11grab.c libavformat/au.c libavformat/eacdata.c libavformat/flvdec.c libavformat/mpegts.c libavformat/mxfenc.c libavformat/rtpdec_g726.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30rtpdec: Add an init function that can do custom codec context initializationMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-19Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (22 commits) configure: add check for w32threads to enable it automatically rtmp: do not hardcode invoke numbers cinepack: return non-generic errors fate-lavf-ts: use -mpegts_transport_stream_id option. Add an APIchanges entry and a minor bump for avio changes. avio: Mark the old interrupt callback mechanism as deprecated avplay: Set the new interrupt callback avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere cinepak: remove redundant coordinate checks cinepak: check strip_size cinepak, simplify, use AV_RB24() cinepak: simplify, use FFMIN() cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0 applehttp: Fix seeking in streams not starting at DTS=0 http: Don't use the normal http proxy mechanism for https tls: Handle connection via a http proxy http: Reorder two code blocks http: Add a new protocol for opening connections via http proxies http: Split out the non-chunked buffer reading part from http_read segafilm: add support for raw videos ... Conflicts: avconv.c configure doc/APIchanges libavcodec/cinepak.c libavformat/applehttp.c libavformat/version.h tests/lavf-regression.sh tests/ref/lavf/ts Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-18rtpdec: unwrap RTP timestamps for PTS calculationJohn Brooks
The timestamp field in RTPDemuxContext was unused before this. Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-13Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (31 commits) tiffenc: initialize forgotten avctx. avplay: free the active audio packet at exit. avplay: free rdft data used for spectrogram analysis. log.h: make AVClass a named struct fix ac3 encoder documentation vc1: more prettyprinting cosmetics vc1: prettyprint some tables vc1: K&R formatting cosmetics AVOptions: bump minor and add APIchanges entry. cmdutils/avtools: simplify show_help() by using av_opt_child_class_next() AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_* Remove all uses of deprecated AVOptions API. AVOptions: add av_opt_next, deprecate av_next_option. AVOptions: add functions for evaluating option strings. AVOptions: split get_number(). AVOptions: add av_opt_get*, deprecate av_get*. AVOptions: add av_opt_set*(). AVOptions: add new API for enumerating children. rv34: move inverse transform functions to DSP context flvenc: Write the right metadata entry count ... Conflicts: avconv.c cmdutils.c doc/APIchanges ffplay.c ffprobe.c libavcodec/ac3dec.c libavcodec/h264.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mpeg12enc.c libavcodec/options.c libavdevice/libdc1394.c libavdevice/v4l2.c libavfilter/vf_drawtext.c libavformat/flvdec.c libavformat/mpegtsenc.c libavformat/options.c libavutil/avutil.h libavutil/opt.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-12rtpdec: Add ff_ prefix to all nonstatic symbolsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24Merge remote branch 'qatar/master'Michael Niedermayer
* qatar/master: Handle unicode file names on windows rtp: Rename the open/close functions to alloc/free Lowercase all ff* program names. Refer to ff* tools by their lowercase names. NOT Pulled Replace more FFmpeg instances by Libav or ffmpeg. Replace `` by $() syntax in shell scripts. patcheck: Allow overiding grep program(s) through environment variables. NOT Pulled Remove stray libavcore and _g binary references. vorbis: Rename decoder/encoder files to follow general file naming scheme. aacenc: Fix whitespace after last commit. cook: Fix small typo in av_log_ask_for_sample message. aacenc: Finish 3GPP psymodel analysis for non mid/side cases. Remove RDFT dependency from AAC decoder. Add some debug log messages to AAC extradata Fix mov debug (u)int64_t format strings. bswap: use native types for av_bwap16(). doc: FLV muxing is supported. applehttp: Handle AES-128 encrypted streams Add a protocol handler for AES CBC decryption with PKCS7 padding doc: Mention that DragonFly BSD requires __BSD_VISIBLE set Conflicts: ffplay.c ffprobe.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24rtp: Rename the open/close functions to alloc/freeMartin Storsjö
This avoids clashes if we internally want to override the global open function. Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-09Merge remote branch 'qatar/master'Michael Niedermayer
* qatar/master: lavf: bump minor and add an APIChanges entry for avformat cleanup lavf: get rid of ffm-specific stuff in avformat.h Not pulled: avio: deprecate av_protocol_next(). avio: add a function for iterating though protocol names. lavf: rename a parameter of av_sdp_create from buff->buf lavf: rename avf_sdp_create to av_sdp_create. lavf: make av_guess_image2_codec internal avio: make URLProtocol internal. avio: make URLContext internal. lavf: mark av_pkt_dump(_log) for remove on $next+1 bump. lavf: use designated initializers for all protocols applehttp: don't use deprecated url_ functions. avio: move two ff_udp_* functions from avio_internal to url.h asfdec: remove a forgotten declaration of nonexistent function avio: deprecate the typedef for URLInterruptCB Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08avio: make URLContext internal.Anton Khirnov
2011-03-19Replace FFmpeg with Libav in licence headersMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>