[FFmpeg-cvslog] avformat/utils: constrain the lifetime of the pointer returned by avformat_index_get_entry()

James Almer git at videolan.org
Thu May 6 21:28:32 EEST 2021


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Apr  8 14:16:53 2021 -0300| [74dce63f9ad5801018ee3d863712f652e4bf0081] | committer: James Almer

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 <anton at khirnov.net>
Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=74dce63f9ad5801018ee3d863712f652e4bf0081
---

 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)
 {



More information about the ffmpeg-cvslog mailing list