mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-09-27 23:43:28 +02:00
avpacket: Add a function for shrinking already allocated side data
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
5cd1337f5d
commit
442c1320e7
@ -12,6 +12,9 @@ libavutil: 2011-04-18
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2012-xx-xx - xxxxxxx - lavc 54.3.0 - avcodec.h
|
||||||
|
Add av_packet_shrink_side_data.
|
||||||
|
|
||||||
2012-xx-xx - xxxxxxx - lavf 54.2.0 - avformat.h
|
2012-xx-xx - xxxxxxx - lavf 54.2.0 - avformat.h
|
||||||
Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
|
Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
|
||||||
used for dealing with attached pictures/cover art.
|
used for dealing with attached pictures/cover art.
|
||||||
|
@ -3078,6 +3078,17 @@ void av_free_packet(AVPacket *pkt);
|
|||||||
uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
||||||
int size);
|
int size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shrink the already allocated side data buffer
|
||||||
|
*
|
||||||
|
* @param pkt packet
|
||||||
|
* @param type side information type
|
||||||
|
* @param size new side information size
|
||||||
|
* @return 0 on success, < 0 on failure
|
||||||
|
*/
|
||||||
|
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
||||||
|
int size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get side information from packet.
|
* Get side information from packet.
|
||||||
*
|
*
|
||||||
|
@ -196,3 +196,19 @@ uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
|||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
|
||||||
|
int size)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < pkt->side_data_elems; i++) {
|
||||||
|
if (pkt->side_data[i].type == type) {
|
||||||
|
if (size > pkt->side_data[i].size)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
pkt->side_data[i].size = size;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AVERROR(ENOENT);
|
||||||
|
}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#define AVCODEC_VERSION_H
|
#define AVCODEC_VERSION_H
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 54
|
#define LIBAVCODEC_VERSION_MAJOR 54
|
||||||
#define LIBAVCODEC_VERSION_MINOR 2
|
#define LIBAVCODEC_VERSION_MINOR 3
|
||||||
#define LIBAVCODEC_VERSION_MICRO 0
|
#define LIBAVCODEC_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user