avformat: add av_stream_get_end_pts()
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 19 May 2014 18:16:01 +0000 (20:16 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 21 May 2014 16:53:12 +0000 (18:53 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
doc/APIchanges
libavformat/avformat.h
libavformat/utils.c
libavformat/version.h

index 323f773..6bc4ac5 100644 (file)
@@ -32,8 +32,7 @@ API changes, most recent first:
 
 2014-05-xx - xxxxxxx - lavf 55.17.1 - avformat.h
   Deprecate AVStream.pts and the AVFrac struct, which was its only use case.
-  Those fields were poorly defined and not meant to be public, so there is
-  no replacement for them.
+  See use av_stream_get_end_pts()
 
 2014-05-18 - fd05602 - lavc 55.52.0 - avcodec.h
   Add avcodec_free_context(). From now on it should be used for freeing
index 2677c27..5c07541 100644 (file)
@@ -1067,6 +1067,13 @@ typedef struct AVStream {
 AVRational av_stream_get_r_frame_rate(const AVStream *s);
 void       av_stream_set_r_frame_rate(AVStream *s, AVRational r);
 
+/**
+ * Returns the pts of the last muxed packet + its duration
+ *
+ * the retuned value is undefined when used with a demuxer.
+ */
+int64_t    av_stream_get_end_pts(const AVStream *st);
+
 #define AV_PROGRAM_RUNNING 1
 
 /**
index f840bc0..8e79177 100644 (file)
@@ -110,6 +110,11 @@ MAKE_ACCESSORS(AVFormatContext, format, int, metadata_header_padding)
 MAKE_ACCESSORS(AVFormatContext, format, void *, opaque)
 MAKE_ACCESSORS(AVFormatContext, format, av_format_control_message, control_message_cb)
 
+int64_t av_stream_get_end_pts(const AVStream *st)
+{
+    return st->pts.val;
+}
+
 void av_format_inject_global_side_data(AVFormatContext *s)
 {
     int i;
index 2d2ca9a..37240c4 100644 (file)
@@ -30,7 +30,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVFORMAT_VERSION_MAJOR 55
-#define LIBAVFORMAT_VERSION_MINOR 39
+#define LIBAVFORMAT_VERSION_MINOR 40
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \