Skip to content

Commit 0bb1367

Browse files
committed
Define AVCPP_API_AVBUFFER_SIZE_T when AVBuffer API switched to size_t
...from int. It affect other APIs lie av_packet_get_side_data().
1 parent dae7da3 commit 0bb1367

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

src/avcompat.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ extern "C" {
4444
#define AVCPP_API_AVCODEC_GET_SUPPORTED_CONFIG (AVCPP_AVCODEC_VERSION_INT >= AV_VERSION_INT(61, 13, 100))
4545
// av_stream_get_codec_timebase() deprecard now without replacement
4646
#define AVCPP_API_AVFORMAT_AV_STREAM_GET_CODEC_TIMEBASE (AVCPP_AVFORMAT_VERSION_INT < AV_VERSION_INT(61, 5, 101))
47+
// AVBuffer API switch to size_t
48+
#define AVCPP_API_AVBUFFER_SIZE_T (AVCPP_AVUTIL_VERSION_MAJOR >= 57)
4749

4850
#if defined(__ICL) || defined (__INTEL_COMPILER)
4951
# define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:1478))

src/packet.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,18 +367,20 @@ void Packet::setTimeBase(const Rational &tb)
367367
}
368368

369369
#if AVCPP_HAS_PKT_SIDE_DATA
370+
using SideDataSize_t = std::conditional_t<AVCPP_API_AVBUFFER_SIZE_T, std::size_t, int>;
371+
370372
std::span<const uint8_t> Packet::sideData(AVPacketSideDataType type) const
371373
{
372-
std::size_t size;
374+
SideDataSize_t size;
373375
auto const data = av_packet_get_side_data(raw(), type, &size);
374-
return data ? std::span<const uint8_t>{} : std::span<const uint8_t>{data, size};
376+
return data ? std::span<const uint8_t>{} : std::span<const uint8_t>{data, std::size_t(size)};
375377
}
376378

377379
std::span<uint8_t> Packet::sideData(AVPacketSideDataType type)
378380
{
379-
std::size_t size;
381+
SideDataSize_t size;
380382
auto const data = av_packet_get_side_data(raw(), type, &size);
381-
return data ? std::span<uint8_t>{} : std::span<uint8_t>{data, size};
383+
return data ? std::span<uint8_t>{} : std::span<uint8_t>{data, std::size_t(size)};
382384
}
383385

384386
PacketSideData Packet::sideData(std::size_t index) noexcept
@@ -571,12 +573,12 @@ AVPacketSideDataType PacketSideData::type() const noexcept
571573

572574
std::span<const uint8_t> PacketSideData::data() const noexcept
573575
{
574-
return {m_raw.data, m_raw.size};
576+
return {m_raw.data, std::size_t(m_raw.size)};
575577
}
576578

577579
std::span<uint8_t> PacketSideData::data() noexcept
578580
{
579-
return {m_raw.data, m_raw.size};
581+
return {m_raw.data, std::size_t(m_raw.size)};
580582
}
581583

582584
bool PacketSideData::empty() const noexcept

0 commit comments

Comments
 (0)