summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-03-12 15:26:35 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-03-12 15:28:23 +0100
commitc292e340ed0835b112309629e06765c319c5eb42 (patch)
treed67dac7316a48372dd4d213bb6574d05cb89db06 /libavformat
parent9cf788eca8ba0990f3d5b3c5c3edea93ebad66e3 (diff)
avformat: keep r_frame_rate
This field is used and nothing equivalent exists Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/avformat.h27
-rw-r--r--libavformat/utils.c6
2 files changed, 22 insertions, 11 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 9a53905f95..0fc71aa9bb 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -663,17 +663,6 @@ typedef struct AVStream {
* not actually used for encoding.
*/
AVCodecContext *codec;
-#if FF_API_R_FRAME_RATE
- /**
- * Real base framerate of the stream.
- * This is the lowest framerate with which all timestamps can be
- * represented accurately (it is the least common multiple of all
- * framerates in the stream). Note, this value is just a guess!
- * For example, if the time base is 1/90000 and all frames have either
- * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
- */
- AVRational r_frame_rate;
-#endif
void *priv_data;
/**
@@ -738,6 +727,19 @@ typedef struct AVStream {
*/
AVPacket attached_pic;
+ /**
+ * Real base framerate of the stream.
+ * This is the lowest framerate with which all timestamps can be
+ * represented accurately (it is the least common multiple of all
+ * framerates in the stream). Note, this value is just a guess!
+ * For example, if the time base is 1/90000 and all frames have either
+ * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
+ *
+ * Code outside avformat should access this field using:
+ * av_stream_get/set_r_frame_rate(stream)
+ */
+ AVRational r_frame_rate;
+
/*****************************************************************
* 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
@@ -875,6 +877,9 @@ typedef struct AVStream {
} AVStream;
+AVRational av_stream_get_r_frame_rate(const AVStream *s);
+void av_stream_set_r_frame_rate(AVStream *s, AVRational r);
+
#define AV_PROGRAM_RUNNING 1
/**
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 9b44166255..9491075aef 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -99,6 +99,12 @@ static int64_t wrap_timestamp(AVStream *st, int64_t timestamp)
return timestamp;
}
+#define MAKE_ACCESSORS(str, name, type, field) \
+ type av_##name##_get_##field(const str *s) { return s->field; } \
+ void av_##name##_set_##field(str *s, type v) { s->field = v; }
+
+MAKE_ACCESSORS(AVStream, stream, AVRational, r_frame_rate)
+
/** head of registered input format linked list */
static AVInputFormat *first_iformat = NULL;
/** head of registered output format linked list */