From 62227a70f0a4c07d7ead5775d8bad64797f8ef80 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 14 Jul 2014 21:03:43 +0200 Subject: [PATCH] avformat: add av_stream_get_parser() to access avformat AVParser The AVStream.parser field is considered private and its location cannot be preserved while preserving also ABI compatibility to libav, as libav added fields before it. Some tools like ffmpeg.c access this field though Signed-off-by: Michael Niedermayer --- RELEASE_NOTES | 2 +- doc/APIchanges | 3 +++ libavformat/avformat.h | 1 + libavformat/utils.c | 5 +++++ libavformat/version.h | 2 +- 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 16d80b8257..ef773a8354 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -33,7 +33,7 @@ • libavutil 52.92.100 • libavcodec 55.69.100 - • libavformat 55.46.100 + • libavformat 55.47.100 • libavdevice 55.13.102 • libavfilter 4.10.100 • libswscale 2. 6.100 diff --git a/doc/APIchanges b/doc/APIchanges index 3def4916b6..e87f16579d 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2012-10-22 API changes, most recent first: +2014-07-14 - xxxxxxx - lavf 55.47.100 - avformat.h + Add av_stream_get_parser() + 2014-07-xx - xxxxxxx - lavu 53.18.0 - display.h Add av_display_matrix_flip() to flip the transformation matrix. diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 0c3780827e..a9abfbd4c2 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1069,6 +1069,7 @@ typedef struct AVStream { AVRational av_stream_get_r_frame_rate(const AVStream *s); void av_stream_set_r_frame_rate(AVStream *s, AVRational r); +struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); /** * Returns the pts of the last muxed packet + its duration diff --git a/libavformat/utils.c b/libavformat/utils.c index 140e254f36..e095d601e1 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -115,6 +115,11 @@ int64_t av_stream_get_end_pts(const AVStream *st) return st->pts.val; } +struct AVCodecParserContext *av_stream_get_parser(const AVStream *st) +{ + return st->parser; +} + void av_format_inject_global_side_data(AVFormatContext *s) { int i; diff --git a/libavformat/version.h b/libavformat/version.h index 5216e85eda..dd0f3c2b82 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -30,7 +30,7 @@ #include "libavutil/version.h" #define LIBAVFORMAT_VERSION_MAJOR 55 -#define LIBAVFORMAT_VERSION_MINOR 46 +#define LIBAVFORMAT_VERSION_MINOR 47 #define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \