Merge commit '9b56d5c11488656254e9aed8d964ef2b7c2ff5e6'
* commit '9b56d5c11488656254e9aed8d964ef2b7c2ff5e6': avpacket: Deprecate av_dup_packet Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
		
						commit
						87a6f532b4
					
				@ -15,13 +15,15 @@ libavutil:     2015-08-28
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
API changes, most recent first:
 | 
					API changes, most recent first:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2015-10-29 - lavc 57.12.100 / 57.8.0 - avcodec.h
 | 
				
			||||||
 | 
					  xxxxxx - Deprecate av_free_packet(). Use av_packet_unref() as replacement,
 | 
				
			||||||
 | 
					           it resets the packet in a more consistent way.
 | 
				
			||||||
 | 
					  xxxxxx - Deprecate av_dup_packet(), it is a no-op for most cases.
 | 
				
			||||||
 | 
					           Use av_packet_ref() to make a non-refcounted AVPacket refcounted.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2015-10-27 - xxxxxxx - lavu 55.5.100 - cpu.h
 | 
					2015-10-27 - xxxxxxx - lavu 55.5.100 - cpu.h
 | 
				
			||||||
  Add AV_CPU_FLAG_AESNI.
 | 
					  Add AV_CPU_FLAG_AESNI.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2015-10-27 - xxxxxxx - lavc 57.12.100 / 57.8.0 - avcodec.h
 | 
					 | 
				
			||||||
  Deprecate av_free_packet(). Use av_packet_unref() as replacement,
 | 
					 | 
				
			||||||
  it resets the packet in a more consistent way.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
2015-10-22 - xxxxxxx - lavc 57.9.100 / lavc 57.5.0 - avcodec.h
 | 
					2015-10-22 - xxxxxxx - lavc 57.9.100 / lavc 57.5.0 - avcodec.h
 | 
				
			||||||
  Add data and linesize array to AVSubtitleRect, to be used instead of
 | 
					  Add data and linesize array to AVSubtitleRect, to be used instead of
 | 
				
			||||||
  the ones from the embedded AVPicture.
 | 
					  the ones from the embedded AVPicture.
 | 
				
			||||||
 | 
				
			|||||||
@ -3898,12 +3898,15 @@ int av_grow_packet(AVPacket *pkt, int grow_by);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size);
 | 
					int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if FF_API_AVPACKET_OLD_API
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @warning This is a hack - the packet memory allocation stuff is broken. The
 | 
					 * @warning This is a hack - the packet memory allocation stuff is broken. The
 | 
				
			||||||
 * packet is allocated if it was not really allocated.
 | 
					 * packet is allocated if it was not really allocated.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @deprecated Use av_packet_ref
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					attribute_deprecated
 | 
				
			||||||
int av_dup_packet(AVPacket *pkt);
 | 
					int av_dup_packet(AVPacket *pkt);
 | 
				
			||||||
#if FF_API_AVPACKET_OLD_API
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Copy packet, including contents
 | 
					 * Copy packet, including contents
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
				
			|||||||
@ -130,6 +130,8 @@ int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
 | 
				
			|||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if FF_API_AVPACKET_OLD_API
 | 
				
			||||||
 | 
					FF_DISABLE_DEPRECATION_WARNINGS
 | 
				
			||||||
#define ALLOC_MALLOC(data, size) data = av_malloc(size)
 | 
					#define ALLOC_MALLOC(data, size) data = av_malloc(size)
 | 
				
			||||||
#define ALLOC_BUF(data, size)                \
 | 
					#define ALLOC_BUF(data, size)                \
 | 
				
			||||||
do {                                         \
 | 
					do {                                         \
 | 
				
			||||||
@ -207,6 +209,8 @@ failed_alloc:
 | 
				
			|||||||
    av_packet_unref(pkt);
 | 
					    av_packet_unref(pkt);
 | 
				
			||||||
    return AVERROR(ENOMEM);
 | 
					    return AVERROR(ENOMEM);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					FF_ENABLE_DEPRECATION_WARNINGS
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int av_dup_packet(AVPacket *pkt)
 | 
					int av_dup_packet(AVPacket *pkt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -1945,15 +1945,7 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt)
 | 
				
			|||||||
    // buffer an audio packet to ensure the packet containing the video
 | 
					    // buffer an audio packet to ensure the packet containing the video
 | 
				
			||||||
    // keyframe's timecode is contained in the same cluster for WebM
 | 
					    // keyframe's timecode is contained in the same cluster for WebM
 | 
				
			||||||
    if (codec_type == AVMEDIA_TYPE_AUDIO) {
 | 
					    if (codec_type == AVMEDIA_TYPE_AUDIO) {
 | 
				
			||||||
        mkv->cur_audio_pkt = *pkt;
 | 
					        ret = av_packet_ref(&mkv->cur_audio_pkt, pkt);
 | 
				
			||||||
        if (pkt->buf) {
 | 
					 | 
				
			||||||
            mkv->cur_audio_pkt.buf = av_buffer_ref(pkt->buf);
 | 
					 | 
				
			||||||
            ret = mkv->cur_audio_pkt.buf ? 0 : AVERROR(ENOMEM);
 | 
					 | 
				
			||||||
        } else
 | 
					 | 
				
			||||||
            ret = av_dup_packet(&mkv->cur_audio_pkt);
 | 
					 | 
				
			||||||
        if (mkv->cur_audio_pkt.side_data_elems > 0) {
 | 
					 | 
				
			||||||
            ret = av_copy_packet_side_data(&mkv->cur_audio_pkt, &mkv->cur_audio_pkt);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    } else
 | 
					    } else
 | 
				
			||||||
        ret = mkv_write_packet_internal(s, pkt, 0);
 | 
					        ret = mkv_write_packet_internal(s, pkt, 0);
 | 
				
			||||||
    return ret;
 | 
					    return ret;
 | 
				
			||||||
 | 
				
			|||||||
@ -740,19 +740,14 @@ int ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt,
 | 
				
			|||||||
    this_pktl      = av_mallocz(sizeof(AVPacketList));
 | 
					    this_pktl      = av_mallocz(sizeof(AVPacketList));
 | 
				
			||||||
    if (!this_pktl)
 | 
					    if (!this_pktl)
 | 
				
			||||||
        return AVERROR(ENOMEM);
 | 
					        return AVERROR(ENOMEM);
 | 
				
			||||||
    this_pktl->pkt = *pkt;
 | 
					 | 
				
			||||||
    pkt->buf       = NULL;
 | 
					 | 
				
			||||||
    pkt->side_data = NULL;
 | 
					 | 
				
			||||||
    pkt->side_data_elems = 0;
 | 
					 | 
				
			||||||
    if ((pkt->flags & AV_PKT_FLAG_UNCODED_FRAME)) {
 | 
					    if ((pkt->flags & AV_PKT_FLAG_UNCODED_FRAME)) {
 | 
				
			||||||
        av_assert0(pkt->size == UNCODED_FRAME_PACKET_SIZE);
 | 
					        av_assert0(pkt->size == UNCODED_FRAME_PACKET_SIZE);
 | 
				
			||||||
        av_assert0(((AVFrame *)pkt->data)->buf);
 | 
					        av_assert0(((AVFrame *)pkt->data)->buf);
 | 
				
			||||||
    } else {
 | 
					    }
 | 
				
			||||||
        // Duplicate the packet if it uses non-allocated memory
 | 
					
 | 
				
			||||||
        if ((ret = av_dup_packet(&this_pktl->pkt)) < 0) {
 | 
					    if ((ret = av_packet_ref(&this_pktl->pkt, pkt)) < 0) {
 | 
				
			||||||
            av_free(this_pktl);
 | 
					        av_free(this_pktl);
 | 
				
			||||||
            return ret;
 | 
					        return ret;
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (s->streams[pkt->stream_index]->last_in_packet_buffer) {
 | 
					    if (s->streams[pkt->stream_index]->last_in_packet_buffer) {
 | 
				
			||||||
@ -803,6 +798,8 @@ next_non_null:
 | 
				
			|||||||
    s->streams[pkt->stream_index]->last_in_packet_buffer =
 | 
					    s->streams[pkt->stream_index]->last_in_packet_buffer =
 | 
				
			||||||
        *next_point                                      = this_pktl;
 | 
					        *next_point                                      = this_pktl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    av_packet_unref(pkt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user