From 74dce63f9ad5801018ee3d863712f652e4bf0081 Mon Sep 17 00:00:00 2001 From: James Almer Date: Thu, 8 Apr 2021 14:16:53 -0300 Subject: [PATCH] avformat/utils: constrain the lifetime of the pointer returned by avformat_index_get_entry() This will give us more room to improve the implementation later. Suggested-by: Anton Khirnov Signed-off-by: James Almer --- libavformat/avformat.h | 12 ++++++------ libavformat/utils.c | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 624d2dae2c..8ba98a0291 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -2535,10 +2535,10 @@ int avformat_index_get_entries_count(const AVStream *st); * @return A pointer to the requested AVIndexEntry if it exists, NULL otherwise. * * @note The pointer returned by this function is only guaranteed to be valid - * until any function that could alter the stream or the AVFormatContext - * that contains it is called. + * until any function that takes the stream or the parent AVFormatContext + * as input argument is called. */ -const AVIndexEntry *avformat_index_get_entry(const AVStream *st, int idx); +const AVIndexEntry *avformat_index_get_entry(AVStream *st, int idx); /** * Get the AVIndexEntry corresponding to the given timestamp. @@ -2552,10 +2552,10 @@ const AVIndexEntry *avformat_index_get_entry(const AVStream *st, int idx); * @return A pointer to the requested AVIndexEntry if it exists, NULL otherwise. * * @note The pointer returned by this function is only guaranteed to be valid - * until any function that could alter the stream or the AVFormatContext - * that contains it is called. + * until any function that takes the stream or the parent AVFormatContext + * as input argument is called. */ -const AVIndexEntry *avformat_index_get_entry_from_timestamp(const AVStream *st, +const AVIndexEntry *avformat_index_get_entry_from_timestamp(AVStream *st, int64_t wanted_timestamp, int flags); /** diff --git a/libavformat/utils.c b/libavformat/utils.c index 49bf19b2b0..6c8b974297 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2057,7 +2057,7 @@ int avformat_index_get_entries_count(const AVStream *st) return st->internal->nb_index_entries; } -const AVIndexEntry *avformat_index_get_entry(const AVStream *st, int idx) +const AVIndexEntry *avformat_index_get_entry(AVStream *st, int idx) { if (idx < 0 || idx >= st->internal->nb_index_entries) return NULL; @@ -2065,7 +2065,7 @@ const AVIndexEntry *avformat_index_get_entry(const AVStream *st, int idx) return &st->internal->index_entries[idx]; } -const AVIndexEntry *avformat_index_get_entry_from_timestamp(const AVStream *st, +const AVIndexEntry *avformat_index_get_entry_from_timestamp(AVStream *st, int64_t wanted_timestamp, int flags) {