1+ #include " avcompat.h"
2+
13#include " buffer.h"
24#include " avcpp/avutils.h"
35
@@ -10,6 +12,14 @@ namespace buffer {
1012 * Buffer deleter that do nothing. To wrap static data.
1113 */
1214void null_deleter (void * /* opaque*/ , uint8_t * /* data*/ ) {}
15+
16+ static AVBufferRef* ref (const AVBufferRef* buf) {
17+ #if AVCPP_AVUTIL_VERSION_INT >= AV_VERSION_INT(57, 5, 101)
18+ return av_buffer_ref (buf);
19+ #else
20+ return av_buffer_ref (const_cast <AVBufferRef*>(buf));
21+ #endif
22+ }
1323} // ::buffer
1424
1525
@@ -22,7 +32,7 @@ BufferRefView::BufferRefView(const BufferRef &ref)
2232{}
2333
2434AVBufferRef *BufferRefView::makeRef (iam_sure_what_i_do_tag) const noexcept {
25- return m_raw ? av_buffer_ref (m_raw) : nullptr ;
35+ return m_raw ? av::buffer::ref (m_raw) : nullptr ;
2636}
2737
2838BufferRef BufferRefView::ref ()
@@ -82,7 +92,7 @@ std::span<const uint8_t> BufferRefView::span() const noexcept
8292{
8393 if (!m_raw)
8494 return {};
85- return {m_raw->data , m_raw->size };
95+ return {m_raw->data , std::size_t ( m_raw->size ) };
8696}
8797
8898std::span<const uint8_t > BufferRefView::constSpan () const noexcept
@@ -99,7 +109,7 @@ std::span<uint8_t> BufferRefView::span(OptionalErrorCode ec)
99109 throws_if (ec, Errors::BufferReadonly);
100110 return {};
101111 }
102- return {m_raw->data , m_raw->size };
112+ return {m_raw->data , std::size_t ( m_raw->size ) };
103113}
104114#endif // AVCPP_CXX_STANDARD >= 20
105115
@@ -147,7 +157,7 @@ BufferRef::BufferRef(std::span<const uint8_t> data, int flags) noexcept
147157#endif // AVCPP_CXX_STANDARD
148158
149159BufferRef::BufferRef (const BufferRef &other) noexcept
150- : BufferRef(av_buffer_ref (other.m_raw))
160+ : BufferRef(av::buffer::ref (other.m_raw))
151161{
152162}
153163
@@ -170,7 +180,7 @@ BufferRef &av::BufferRef::operator=(const BufferRef &other) noexcept
170180
171181BufferRef BufferRef::wrap (const AVBufferRef *buf, int flags) noexcept
172182{
173- return BufferRef{buf->data , buf->size , flags};
183+ return BufferRef{buf->data , std::size_t ( buf->size ) , flags};
174184}
175185
176186BufferRef BufferRef::wrap (AVBufferRef *buf) noexcept
@@ -180,7 +190,7 @@ BufferRef BufferRef::wrap(AVBufferRef *buf) noexcept
180190
181191BufferRef BufferRef::ref (const AVBufferRef *buf) noexcept
182192{
183- return BufferRef{av_buffer_ref (buf)};
193+ return BufferRef{av::buffer::ref (buf)};
184194}
185195
186196AVBufferRef *BufferRef::release () noexcept
0 commit comments