diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-21 17:46:43 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-21 17:46:43 +0100 |
commit | bb3420d88e71ee9bb04166467dde3056ff3aa2b6 (patch) | |
tree | 6153ab3fbc83a4f033cb3aa1f6f1b935068e505b | |
parent | be2c0adc968d3f8fc4a72dea7117529016f0a1ad (diff) | |
parent | 90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59 (diff) | |
download | ffmpeg-bb3420d88e71ee9bb04166467dde3056ff3aa2b6.tar.gz |
Merge commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59'
* 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>
-rw-r--r-- | libavformat/rdt.c | 6 | ||||
-rw-r--r-- | libavformat/rtpdec.c | 5 | ||||
-rw-r--r-- | libavformat/rtpdec.h | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_amr.c | 11 | ||||
-rw-r--r-- | libavformat/rtpdec_asf.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_formats.h | 2 | ||||
-rw-r--r-- | libavformat/rtpdec_h263.c | 2 | ||||
-rw-r--r-- | libavformat/rtpdec_h263_rfc2190.c | 7 | ||||
-rw-r--r-- | libavformat/rtpdec_h264.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_jpeg.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_latm.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_mpeg4.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_qcelp.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_qdm2.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_qt.c | 2 | ||||
-rw-r--r-- | libavformat/rtpdec_svq3.c | 3 | ||||
-rw-r--r-- | libavformat/rtpdec_vp8.c | 11 | ||||
-rw-r--r-- | libavformat/rtpdec_xiph.c | 10 |
18 files changed, 43 insertions, 40 deletions
diff --git a/libavformat/rdt.c b/libavformat/rdt.c index 6404a5d5e3..695323ab0f 100644 --- a/libavformat/rdt.c +++ b/libavformat/rdt.c @@ -293,7 +293,7 @@ ff_rdt_parse_header(const uint8_t *buf, int len, static int rdt_parse_packet (AVFormatContext *ctx, PayloadContext *rdt, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t rtp_seq, int flags) { int seq = 1, res; AVIOContext pb; @@ -348,7 +348,7 @@ ff_rdt_parse_packet(RDTDemuxContext *s, AVPacket *pkt, timestamp= 0; ///< Should not be used if buf is NULL, but should be set to the timestamp of the packet returned.... rv= s->parse_packet(s->ic, s->dynamic_protocol_context, s->streams[s->prev_stream_id], - pkt, ×tamp, NULL, 0, flags); + pkt, ×tamp, NULL, 0, 0, flags); return rv; } @@ -375,7 +375,7 @@ ff_rdt_parse_packet(RDTDemuxContext *s, AVPacket *pkt, rv = s->parse_packet(s->ic, s->dynamic_protocol_context, s->streams[s->prev_stream_id], - pkt, ×tamp, buf, len, flags); + pkt, ×tamp, buf, len, 0, flags); return rv; } diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index b0f0aaa4b0..8a80e03b77 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -539,7 +539,7 @@ static int rtp_parse_packet_internal(RTPDemuxContext *s, AVPacket *pkt, return 0; } else if (s->parse_packet) { rv = s->parse_packet(s->ic, s->dynamic_protocol_context, - s->st, pkt, ×tamp, buf, len, flags); + s->st, pkt, ×tamp, buf, len, seq, flags); } else { /* At this point, the RTP header has been stripped; * This is ASSUMING that there is only 1 CSRC, which isn't wise. */ @@ -685,7 +685,8 @@ static int rtp_parse_one_packet(RTPDemuxContext *s, AVPacket *pkt, * the packet is left with pts == AV_NOPTS_VALUE */ timestamp = RTP_NOTS_VALUE; rv = s->parse_packet(s->ic, s->dynamic_protocol_context, - s->st, pkt, ×tamp, NULL, 0, flags); + s->st, pkt, ×tamp, NULL, 0, 0, + flags); finalize_packet(s, pkt, timestamp); return rv; } else { diff --git a/libavformat/rtpdec.h b/libavformat/rtpdec.h index 854c687451..fb1acc279d 100644 --- a/libavformat/rtpdec.h +++ b/libavformat/rtpdec.h @@ -101,6 +101,7 @@ typedef struct RTPStatistics { * updated by the function if returning older, buffered data * @param buf pointer to raw RTP packet data * @param len length of buf + * @param seq RTP sequence number of the packet * @param flags flags from the RTP packet header (RTP_FLAG_*) */ typedef int (*DynamicPayloadPacketHandlerProc)(AVFormatContext *ctx, @@ -108,7 +109,7 @@ typedef int (*DynamicPayloadPacketHandlerProc)(AVFormatContext *ctx, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t * buf, - int len, int flags); + int len, uint16_t seq, int flags); struct RTPDynamicProtocolHandler { const char enc_name[50]; diff --git a/libavformat/rtpdec_amr.c b/libavformat/rtpdec_amr.c index 3f5e775110..211cf1798f 100644 --- a/libavformat/rtpdec_amr.c +++ b/libavformat/rtpdec_amr.c @@ -51,13 +51,10 @@ static void amr_free_context(PayloadContext *data) av_free(data); } -static int amr_handle_packet(AVFormatContext *ctx, - PayloadContext *data, - AVStream *st, - AVPacket * pkt, - uint32_t * timestamp, - const uint8_t * buf, - int len, int flags) +static int amr_handle_packet(AVFormatContext *ctx, PayloadContext *data, + AVStream *st, AVPacket *pkt, uint32_t *timestamp, + const uint8_t *buf, int len, uint16_t seq, + int flags) { const uint8_t *frame_sizes = NULL; int frames; diff --git a/libavformat/rtpdec_asf.c b/libavformat/rtpdec_asf.c index e37fde7906..35603f29e9 100644 --- a/libavformat/rtpdec_asf.c +++ b/libavformat/rtpdec_asf.c @@ -168,7 +168,8 @@ struct PayloadContext { static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { AVIOContext *pb = &asf->pb; int res, mflags, len_off; diff --git a/libavformat/rtpdec_formats.h b/libavformat/rtpdec_formats.h index 471888b703..6b6fcd3a2b 100644 --- a/libavformat/rtpdec_formats.h +++ b/libavformat/rtpdec_formats.h @@ -33,7 +33,7 @@ int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p); int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags); + const uint8_t *buf, int len, uint16_t seq, int flags); extern RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler; extern RTPDynamicProtocolHandler ff_amr_wb_dynamic_handler; diff --git a/libavformat/rtpdec_h263.c b/libavformat/rtpdec_h263.c index e604dc1c42..ce02dc1c21 100644 --- a/libavformat/rtpdec_h263.c +++ b/libavformat/rtpdec_h263.c @@ -25,7 +25,7 @@ int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, int flags) { uint8_t *ptr; uint16_t header; diff --git a/libavformat/rtpdec_h263_rfc2190.c b/libavformat/rtpdec_h263_rfc2190.c index 4957b337c7..4792a9fdc5 100644 --- a/libavformat/rtpdec_h263_rfc2190.c +++ b/libavformat/rtpdec_h263_rfc2190.c @@ -57,7 +57,8 @@ static void h263_free_context(PayloadContext *data) static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { /* Corresponding to header fields in the RFC */ int f, p, i, sbit, ebit, src, r; @@ -65,7 +66,7 @@ static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, if (data->newformat) return ff_h263_handle_packet(ctx, data, st, pkt, timestamp, buf, len, - flags); + seq, flags); if (data->buf && data->timestamp != *timestamp) { /* Dropping old buffered, unfinished data */ @@ -122,7 +123,7 @@ static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data, "signalled with a static payload type.\n"); data->newformat = 1; return ff_h263_handle_packet(ctx, data, st, pkt, timestamp, buf, - len, flags); + len, seq, flags); } } diff --git a/libavformat/rtpdec_h264.c b/libavformat/rtpdec_h264.c index 083f8e89b2..2cab9c917c 100644 --- a/libavformat/rtpdec_h264.c +++ b/libavformat/rtpdec_h264.c @@ -165,7 +165,8 @@ static int sdp_parse_fmtp_config_h264(AVStream *stream, // return 0 on packet, no more left, 1 on packet, 1 on partial packet static int h264_handle_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { uint8_t nal; uint8_t type; diff --git a/libavformat/rtpdec_jpeg.c b/libavformat/rtpdec_jpeg.c index 391ae12cb3..80fe2952b3 100644 --- a/libavformat/rtpdec_jpeg.c +++ b/libavformat/rtpdec_jpeg.c @@ -219,7 +219,8 @@ static void create_default_qtables(uint8_t *qtables, uint8_t q) static int jpeg_parse_packet(AVFormatContext *ctx, PayloadContext *jpeg, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { uint8_t type, q, width, height; const uint8_t *qtables = NULL; diff --git a/libavformat/rtpdec_latm.c b/libavformat/rtpdec_latm.c index 2ea141b88e..bacc186c49 100644 --- a/libavformat/rtpdec_latm.c +++ b/libavformat/rtpdec_latm.c @@ -51,7 +51,8 @@ static void latm_free_context(PayloadContext *data) static int latm_parse_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { int ret, cur_len; diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c index 02dc242c67..a3f60d348d 100644 --- a/libavformat/rtpdec_mpeg4.c +++ b/libavformat/rtpdec_mpeg4.c @@ -159,7 +159,8 @@ static int rtp_parse_mp4_au(PayloadContext *data, const uint8_t *buf) /* Follows RFC 3640 */ static int aac_parse_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { if (rtp_parse_mp4_au(data, buf)) return -1; diff --git a/libavformat/rtpdec_qcelp.c b/libavformat/rtpdec_qcelp.c index 7e1d0b7972..eebcdd025b 100644 --- a/libavformat/rtpdec_qcelp.c +++ b/libavformat/rtpdec_qcelp.c @@ -210,7 +210,8 @@ static int return_stored_frame(AVFormatContext *ctx, PayloadContext *data, static int qcelp_parse_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { if (buf) return store_packet(ctx, data, st, pkt, timestamp, buf, len); diff --git a/libavformat/rtpdec_qdm2.c b/libavformat/rtpdec_qdm2.c index 3a8ffd5f99..6ce776db44 100644 --- a/libavformat/rtpdec_qdm2.c +++ b/libavformat/rtpdec_qdm2.c @@ -238,7 +238,8 @@ static int qdm2_restore_block(PayloadContext *qdm, AVStream *st, AVPacket *pkt) static int qdm2_parse_packet(AVFormatContext *s, PayloadContext *qdm, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { int res = AVERROR_INVALIDDATA, n; const uint8_t *end = buf + len, *p = buf; diff --git a/libavformat/rtpdec_qt.c b/libavformat/rtpdec_qt.c index f0f01d9b19..9631b0ae19 100644 --- a/libavformat/rtpdec_qt.c +++ b/libavformat/rtpdec_qt.c @@ -42,7 +42,7 @@ struct PayloadContext { static int qt_rtp_parse_packet(AVFormatContext *s, PayloadContext *qt, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, - int len, int flags) + int len, uint16_t seq, int flags) { AVIOContext pb; GetBitContext gb; diff --git a/libavformat/rtpdec_svq3.c b/libavformat/rtpdec_svq3.c index 779ad8a42b..106b7857cb 100644 --- a/libavformat/rtpdec_svq3.c +++ b/libavformat/rtpdec_svq3.c @@ -41,7 +41,8 @@ struct PayloadContext { static int svq3_parse_packet (AVFormatContext *s, PayloadContext *sv, AVStream *st, AVPacket *pkt, uint32_t *timestamp, - const uint8_t *buf, int len, int flags) + const uint8_t *buf, int len, uint16_t seq, + int flags) { int config_packet, start_packet, end_packet; diff --git a/libavformat/rtpdec_vp8.c b/libavformat/rtpdec_vp8.c index 58dc24d010..46eac05552 100644 --- a/libavformat/rtpdec_vp8.c +++ b/libavformat/rtpdec_vp8.c @@ -36,13 +36,10 @@ struct PayloadContext { uint32_t timestamp; }; -static int vp8_handle_packet(AVFormatContext *ctx, - PayloadContext *vp8, - AVStream *st, - AVPacket *pkt, - uint32_t *timestamp, - const uint8_t *buf, - int len, int flags) +static int vp8_handle_packet(AVFormatContext *ctx, PayloadContext *vp8, + AVStream *st, AVPacket *pkt, uint32_t *timestamp, + const uint8_t *buf, int len, uint16_t seq, + int flags) { int start_partition, end_packet; int extended_bits, part_id; diff --git a/libavformat/rtpdec_xiph.c b/libavformat/rtpdec_xiph.c index ad24c2671a..d66b17af5e 100644 --- a/libavformat/rtpdec_xiph.c +++ b/libavformat/rtpdec_xiph.c @@ -69,12 +69,10 @@ static void xiph_free_context(PayloadContext * data) av_free(data); } -static int xiph_handle_packet(AVFormatContext * ctx, - PayloadContext * data, - AVStream * st, - AVPacket * pkt, - uint32_t * timestamp, - const uint8_t * buf, int len, int flags) +static int xiph_handle_packet(AVFormatContext *ctx, PayloadContext *data, + AVStream *st, AVPacket *pkt, uint32_t *timestamp, + const uint8_t *buf, int len, uint16_t seq, + int flags) { int ident, fragmented, tdt, num_pkts, pkt_len; |