[FFmpeg-devel] [PATCH 4/5] avformat: add a stream event flag for new packets

Anton Khirnov anton at khirnov.net
Sun Oct 25 16:58:43 EET 2020


---
 libavformat/avformat.h | 6 ++++++
 libavformat/utils.c    | 2 ++
 2 files changed, 8 insertions(+)

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



More information about the ffmpeg-devel mailing list