[FFmpeg-cvslog] avformat: add a stream event flag for new packets

Anton Khirnov git at videolan.org
Wed Oct 28 15:26:41 EET 2020


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Oct 25 15:50:30 2020 +0100| [f95d9510ff50ab76f310f4ad2e6471e11275b2ff] | committer: Anton Khirnov

avformat: add a stream event flag for new packets

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

 doc/APIchanges         | 3 +++
 libavformat/avformat.h | 6 ++++++
 libavformat/utils.c    | 2 ++
 libavformat/version.h  | 2 +-
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index f2830968bb..c00f103bab 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2020-xx-xx - xxxxxxxxxx - lavf 58.64.100 - avformat.h
+  Add AVSTREAM_EVENT_FLAG_NEW_PACKETS.
+
 2020-xx-xx - xxxxxxxxxx - lavu 56.60.100 - buffer.h
   Add a av_buffer_replace() convenience function.
 
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 3ad92a06e7..6aa7c310f7 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -995,6 +995,12 @@ typedef struct AVStream {
  *     it into the file
  */
 #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001
+/**
+ * - demuxing: new packets for this stream were read from the file. This
+ *   event is informational only and does not guarantee that new packets
+ *   for this stream will necessarily be returned from av_read_frame().
+ */
+#define AVSTREAM_EVENT_FLAG_NEW_PACKETS (1 << 1)
 
     /**
      * Real base framerate of the stream.
diff --git a/libavformat/utils.c b/libavformat/utils.c
index e8335a601f..be275971d0 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1533,6 +1533,8 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
         ret = 0;
         st  = s->streams[pkt->stream_index];
 
+        st->event_flags |= AVSTREAM_EVENT_FLAG_NEW_PACKETS;
+
         /* update context if required */
         if (st->internal->need_context_update) {
             if (avcodec_is_open(st->internal->avctx)) {
diff --git a/libavformat/version.h b/libavformat/version.h
index 7853068649..ddcca9ae50 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -32,7 +32,7 @@
 // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
 // Also please add any ticket numbers that you believe might be affected here
 #define LIBAVFORMAT_VERSION_MAJOR  58
-#define LIBAVFORMAT_VERSION_MINOR  63
+#define LIBAVFORMAT_VERSION_MINOR  64
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \



More information about the ffmpeg-cvslog mailing list