ffmpeg | branch: master | Andreas Rheinhardt <[email protected]> | 
Fri Aug 27 13:17:09 2021 +0200| [e04ddba64f4c389b33b07dba6adb89f3492b151c] | 
committer: Andreas Rheinhardt

avformat/utils: Don't compare pointers when sorting chapters

The chapters are independently allocated, so that comparing
the pointers is undefined behaviour. Furthermore, its result
is not platform-independent (and may not even be deterministic
on a particular platform). So compare the chapters' ids instead.
(avpriv_new_chapter() ensures that there are no duplicate ids.)

Reviewed-by: Paul B Mahol <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>

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

 libavformat/utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 78bfb36cd0..264b5b1a4b 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3160,7 +3160,7 @@ static int chapter_start_cmp(const void *p1, const void 
*p2)
     int delta = av_compare_ts(ch1->start, ch1->time_base, ch2->start, 
ch2->time_base);
     if (delta)
         return delta;
-    return (ch1 > ch2) - (ch1 < ch2);
+    return FFDIFFSIGN(ch1->id, ch2->id);
 }
 
 static int compute_chapters_end(AVFormatContext *s)

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to