mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-11 09:35:22 +00:00
Add av_append_packet function, to be used in code that merges packets
to allow palette handling without using PaletteControl. Originally committed as revision 25777 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
a08d918e68
commit
6bfc268305
@ -22,7 +22,7 @@
|
|||||||
#define AVFORMAT_AVFORMAT_H
|
#define AVFORMAT_AVFORMAT_H
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_MAJOR 52
|
#define LIBAVFORMAT_VERSION_MAJOR 52
|
||||||
#define LIBAVFORMAT_VERSION_MINOR 84
|
#define LIBAVFORMAT_VERSION_MINOR 85
|
||||||
#define LIBAVFORMAT_VERSION_MICRO 0
|
#define LIBAVFORMAT_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||||
@ -245,6 +245,21 @@ void av_metadata_free(AVMetadata **m);
|
|||||||
int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size);
|
int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads data and appends it to the current content of the AVPacket.
|
||||||
|
* If pkt->size is 0 it behaves like av_get_packet.
|
||||||
|
* Note that this uses av_grow_packet and thus involves a realloc
|
||||||
|
* which is inefficient. Thus this function should only be used
|
||||||
|
* when there is no reasonable way to know (an upper bound of)
|
||||||
|
* the final size.
|
||||||
|
*
|
||||||
|
* @param pkt packet
|
||||||
|
* @param size amount of data to read
|
||||||
|
* @return >0 (read size) if OK, AVERROR_xxx otherwise, previous data
|
||||||
|
* will not be lost even if an error occurs.
|
||||||
|
*/
|
||||||
|
int av_append_packet(ByteIOContext *s, AVPacket *pkt, int size);
|
||||||
|
|
||||||
/*************************************************/
|
/*************************************************/
|
||||||
/* fractional numbers for exact pts handling */
|
/* fractional numbers for exact pts handling */
|
||||||
|
|
||||||
|
@ -339,6 +339,21 @@ int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int av_append_packet(ByteIOContext *s, AVPacket *pkt, int size)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
int old_size;
|
||||||
|
if (!pkt->size)
|
||||||
|
return av_get_packet(s, pkt, size);
|
||||||
|
old_size = pkt->size;
|
||||||
|
ret = av_grow_packet(pkt, size);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
ret = get_buffer(s, pkt->data + old_size, size);
|
||||||
|
av_shrink_packet(pkt, old_size + FFMAX(ret, 0));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int av_filename_number_test(const char *filename)
|
int av_filename_number_test(const char *filename)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user