summaryrefslogtreecommitdiff
authorAnton Khirnov <anton@khirnov.net>2013-10-28 13:59:20 (GMT)
committer Anton Khirnov <anton@khirnov.net>2013-10-29 13:19:10 (GMT)
commit8b64c2ba0382892cad9e1a5ba601696d4cbb4d04 (patch)
tree2d6ee9d2672e8275205e70444103a61701388e3d
parent25c7db7cc99d74fe6fb56a6fd52c9b5f1591e448 (diff)
downloadffmpeg-8b64c2ba0382892cad9e1a5ba601696d4cbb4d04.zip
ffmpeg-8b64c2ba0382892cad9e1a5ba601696d4cbb4d04.tar.gz
ffmpeg-8b64c2ba0382892cad9e1a5ba601696d4cbb4d04.tar.bz2
lavc: add a dummy field to AVStream to preserve ABI compatibility for avconv
avconv abuses the API by accessing AVStream.parser (which is private). Removing AVStream.reference_dts in 2ba68dd044ca8fc591139c05563840f546a9c0c0 breaks ABI compatibility for an old avconv using a newer lavf. Fix this by adding a dummy field until the next bump.
Diffstat
-rw-r--r--libavformat/avformat.h5
-rw-r--r--libavformat/version.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index a8e3a7d..50e4f5c 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -729,6 +729,11 @@ typedef struct AVStream {
int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */
+#if FF_API_REFERENCE_DTS
+ /* a hack to keep ABI compatibility for avconv, which accesses parser even
+ * though it should not */
+ int64_t do_not_use;
+#endif
// Timestamp generation support:
int64_t first_dts;
int64_t cur_dts;
diff --git a/libavformat/version.h b/libavformat/version.h
index 43431a5..791933f 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -48,5 +48,8 @@
* dropped at a future version bump. The defines themselves are not part of
* the public API and may change, break or disappear at any time.
*/
+#ifndef FF_API_REFERENCE_DTS
+#define FF_API_REFERENCE_DTS (LIBAVFORMAT_VERSION_MAJOR < 56)
+#endif
#endif /* AVFORMAT_VERSION_H */