diff --git a/common_video/h264/h264_common.h b/common_video/h264/h264_common.h index 0b1843ee38..1bc9867d3f 100644 --- a/common_video/h264/h264_common.h +++ b/common_video/h264/h264_common.h @@ -17,6 +17,7 @@ #include #include "rtc_base/buffer.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { @@ -59,11 +60,11 @@ struct NaluIndex { }; // Returns a vector of the NALU indices in the given buffer. -std::vector FindNaluIndices(const uint8_t* buffer, - size_t buffer_size); +RTC_EXPORT std::vector FindNaluIndices(const uint8_t* buffer, + size_t buffer_size); // Get the NAL type from the header byte immediately following start sequence. -NaluType ParseNaluType(uint8_t data); +RTC_EXPORT NaluType ParseNaluType(uint8_t data); // Methods for parsing and writing RBSP. See section 7.4.1 of the H264 spec. // diff --git a/common_video/h264/sps_parser.h b/common_video/h264/sps_parser.h index da328b48b0..a69bd19690 100644 --- a/common_video/h264/sps_parser.h +++ b/common_video/h264/sps_parser.h @@ -13,15 +13,16 @@ #include "absl/types/optional.h" #include "rtc_base/bitstream_reader.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { // A class for parsing out sequence parameter set (SPS) data from an H264 NALU. -class SpsParser { +class RTC_EXPORT SpsParser { public: // The parsed state of the SPS. Only some select values are stored. // Add more as they are actually needed. - struct SpsState { + struct RTC_EXPORT SpsState { SpsState(); SpsState(const SpsState&); ~SpsState(); diff --git a/rtc_base/bitstream_reader.h b/rtc_base/bitstream_reader.h index c367b9dc9f..62b0ba5ebf 100644 --- a/rtc_base/bitstream_reader.h +++ b/rtc_base/bitstream_reader.h @@ -124,11 +124,12 @@ class BitstreamReader { }; inline BitstreamReader::BitstreamReader(rtc::ArrayView bytes) - : bytes_(bytes.data()), remaining_bits_(bytes.size() * 8) {} + : bytes_(bytes.data()), + remaining_bits_(rtc::checked_cast(bytes.size() * 8)) {} inline BitstreamReader::BitstreamReader(absl::string_view bytes) : bytes_(reinterpret_cast(bytes.data())), - remaining_bits_(bytes.size() * 8) {} + remaining_bits_(rtc::checked_cast(bytes.size() * 8)) {} inline BitstreamReader::~BitstreamReader() { RTC_DCHECK(last_read_is_verified_) << "Latest calls to Read or ConsumeBit "