[FFmpeg-devel] [PATCH 29/44] avformat/utils: Move av_stream_*_side_data API to avformat.c
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat May 7 14:28:15 EEST 2022
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavformat/avformat.c | 68 ++++++++++++++++++++++++++++++++++++++++++
libavformat/utils.c | 68 ------------------------------------------
2 files changed, 68 insertions(+), 68 deletions(-)
diff --git a/libavformat/avformat.c b/libavformat/avformat.c
index 88acae018e..baad2acde1 100644
--- a/libavformat/avformat.c
+++ b/libavformat/avformat.c
@@ -128,3 +128,71 @@ void avformat_free_context(AVFormatContext *s)
av_freep(&s->url);
av_free(s);
}
+
+uint8_t *av_stream_get_side_data(const AVStream *st,
+ enum AVPacketSideDataType type, size_t *size)
+{
+ for (int i = 0; i < st->nb_side_data; i++) {
+ if (st->side_data[i].type == type) {
+ if (size)
+ *size = st->side_data[i].size;
+ return st->side_data[i].data;
+ }
+ }
+ if (size)
+ *size = 0;
+ return NULL;
+}
+
+int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type,
+ uint8_t *data, size_t size)
+{
+ AVPacketSideData *sd, *tmp;
+
+ for (int i = 0; i < st->nb_side_data; i++) {
+ sd = &st->side_data[i];
+
+ if (sd->type == type) {
+ av_freep(&sd->data);
+ sd->data = data;
+ sd->size = size;
+ return 0;
+ }
+ }
+
+ if (st->nb_side_data + 1U > FFMIN(INT_MAX, SIZE_MAX / sizeof(*tmp)))
+ return AVERROR(ERANGE);
+
+ tmp = av_realloc_array(st->side_data, st->nb_side_data + 1, sizeof(*tmp));
+ if (!tmp) {
+ return AVERROR(ENOMEM);
+ }
+
+ st->side_data = tmp;
+ st->nb_side_data++;
+
+ sd = &st->side_data[st->nb_side_data - 1];
+ sd->type = type;
+ sd->data = data;
+ sd->size = size;
+
+ return 0;
+}
+
+uint8_t *av_stream_new_side_data(AVStream *st, enum AVPacketSideDataType type,
+ size_t size)
+{
+ int ret;
+ uint8_t *data = av_malloc(size);
+
+ if (!data)
+ return NULL;
+
+ ret = av_stream_add_side_data(st, type, data, size);
+ if (ret < 0) {
+ av_freep(&data);
+ return NULL;
+ }
+
+ return data;
+}
diff --git a/libavformat/utils.c b/libavformat/utils.c
index b3806fe87b..e7788f3f40 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1091,74 +1091,6 @@ error:
return ret;
}
-uint8_t *av_stream_get_side_data(const AVStream *st,
- enum AVPacketSideDataType type, size_t *size)
-{
- for (int i = 0; i < st->nb_side_data; i++) {
- if (st->side_data[i].type == type) {
- if (size)
- *size = st->side_data[i].size;
- return st->side_data[i].data;
- }
- }
- if (size)
- *size = 0;
- return NULL;
-}
-
-int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type,
- uint8_t *data, size_t size)
-{
- AVPacketSideData *sd, *tmp;
-
- for (int i = 0; i < st->nb_side_data; i++) {
- sd = &st->side_data[i];
-
- if (sd->type == type) {
- av_freep(&sd->data);
- sd->data = data;
- sd->size = size;
- return 0;
- }
- }
-
- if (st->nb_side_data + 1U > FFMIN(INT_MAX, SIZE_MAX / sizeof(*tmp)))
- return AVERROR(ERANGE);
-
- tmp = av_realloc_array(st->side_data, st->nb_side_data + 1, sizeof(*tmp));
- if (!tmp) {
- return AVERROR(ENOMEM);
- }
-
- st->side_data = tmp;
- st->nb_side_data++;
-
- sd = &st->side_data[st->nb_side_data - 1];
- sd->type = type;
- sd->data = data;
- sd->size = size;
-
- return 0;
-}
-
-uint8_t *av_stream_new_side_data(AVStream *st, enum AVPacketSideDataType type,
- size_t size)
-{
- int ret;
- uint8_t *data = av_malloc(size);
-
- if (!data)
- return NULL;
-
- ret = av_stream_add_side_data(st, type, data, size);
- if (ret < 0) {
- av_freep(&data);
- return NULL;
- }
-
- return data;
-}
-
void ff_format_io_close_default(AVFormatContext *s, AVIOContext *pb)
{
avio_close(pb);
--
2.32.0
More information about the ffmpeg-devel
mailing list