mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 20:42:49 +08:00 
			
		
		
		
	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>
This commit is contained in:
		| @@ -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; | ||||
| } | ||||
|   | ||||
| @@ -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 { | ||||
|   | ||||
| @@ -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]; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Michael Niedermayer
					Michael Niedermayer