aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/avformat.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-08-13 22:22:52 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-08-13 22:22:52 +0200
commited8e6d535cf4c56d82f9c91646dfc42787b719d6 (patch)
treee7b1317c403a147ff633193417164e80d56f269e /libavformat/avformat.h
parentec14f53dbd02d4bbe12d8895370170804ab40779 (diff)
parentafbd4b7e093adf6d7a830b32759ca3ba8500363d (diff)
downloadffmpeg-ed8e6d535cf4c56d82f9c91646dfc42787b719d6.tar.gz
Merge commit 'afbd4b7e093adf6d7a830b32759ca3ba8500363d'
* commit 'afbd4b7e093adf6d7a830b32759ca3ba8500363d': lavf: add AVFormatContext/AVStream fields for signaling to the user when events happen. Conflicts: libavformat/avformat.h libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avformat.h')
-rw-r--r--libavformat/avformat.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index a4f7ed7ca8..f6fb5a36a5 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -298,6 +298,11 @@ struct AVDeviceCapabilitiesQuery;
* - sorting -- a modified version of a tag that should be used for
* sorting will have '-sort' appended. E.g. artist="The Beatles",
* artist-sort="Beatles, The".
+ * - Some protocols and demuxers support metadata updates. After a successful
+ * call to av_read_packet(), AVFormatContext.event_flags or AVStream.event_flags
+ * will be updated to indicate if metadata changed. In order to detect metadata
+ * changes on a stream, you need to loop through all streams in the AVFormatContext
+ * and check their individual event_flags.
*
* - Demuxers attempt to export metadata in a generic format, however tags
* with no generic equivalents are left as they are stored in the container.
@@ -892,6 +897,14 @@ typedef struct AVStream {
*/
int nb_side_data;
+ /**
+ * Flags for the user to detect events happening on the stream. Flags must
+ * be cleared by the user once the event has been handled.
+ * A combination of AVSTREAM_EVENT_FLAG_*.
+ */
+ int event_flags;
+#define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 ///< The call resulted in updated metadata.
+
/*****************************************************************
* All fields below this line are not part of the public API. They
* may not be used outside of libavformat and can be changed and
@@ -1434,6 +1447,15 @@ typedef struct AVFormatContext {
int strict_std_compliance;
/**
+ * Flags for the user to detect events happening on the file. Flags must
+ * be cleared by the user once the event has been handled.
+ * A combination of AVFMT_EVENT_FLAG_*.
+ */
+ int event_flags;
+#define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001 ///< The call resulted in updated metadata.
+
+
+ /**
* Transport stream id.
* This will be moved into demuxer private options. Thus no API/ABI compatibility
*/