Commit 38446875 for libheif
commit 384468759409c6ef9d0beafc5a3c486cebb35f84
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Mon Jan 12 20:30:17 2026 +0100
remove impossible error check (#1664)
diff --git a/libheif/sequences/seq_boxes.cc b/libheif/sequences/seq_boxes.cc
index e7e4c646..d9642c57 100644
--- a/libheif/sequences/seq_boxes.cc
+++ b/libheif/sequences/seq_boxes.cc
@@ -852,17 +852,6 @@ void Box_ctts::derive_box_version()
}
-size_t Box_stsc::get_number_of_samples() const
-{
- size_t total = 0;
- for (const auto& entry : m_entries) {
- total += entry.samples_per_chunk;
- }
-
- return total;
-}
-
-
Error Box_stsc::parse(BitstreamRange& range, const heif_security_limits* limits)
{
parse_full_box_header(range);
diff --git a/libheif/sequences/seq_boxes.h b/libheif/sequences/seq_boxes.h
index 3d606aa2..effcd5c5 100644
--- a/libheif/sequences/seq_boxes.h
+++ b/libheif/sequences/seq_boxes.h
@@ -437,8 +437,6 @@ public:
return m_entries.back().samples_per_chunk == 0;
}
- size_t get_number_of_samples() const;
-
protected:
Error parse(BitstreamRange& range, const heif_security_limits*) override;
diff --git a/libheif/sequences/track.cc b/libheif/sequences/track.cc
index 2166157d..57050b1e 100644
--- a/libheif/sequences/track.cc
+++ b/libheif/sequences/track.cc
@@ -334,14 +334,6 @@ Error Track::load(const std::shared_ptr<Box_trak>& trak_box)
};
}
- if (m_stsc->get_number_of_samples() != m_stsz->num_samples()) {
- return {
- heif_error_Invalid_input,
- heif_suberror_Unspecified,
- "Number of samples in 'stsc' and 'stsz' is inconsistent."
- };
- }
-
const std::vector<uint32_t>& chunk_offsets = m_stco->get_offsets();
assert(chunk_offsets.size() <= (size_t) std::numeric_limits<uint32_t>::max()); // There cannot be more than uint32_t chunks.
diff --git a/libheif/sequences/track_visual.cc b/libheif/sequences/track_visual.cc
index 9e558219..9be3d948 100644
--- a/libheif/sequences/track_visual.cc
+++ b/libheif/sequences/track_visual.cc
@@ -639,7 +639,7 @@ Result<bool> Track_Visual::process_encoded_data(heif_encoder* h_encoder)
auto& user_data = m_frame_user_data[frame_number];
- int32_t decoding_time = static_cast<int32_t>(m_stsc->get_number_of_samples()) * m_sample_duration;
+ int32_t decoding_time = static_cast<int32_t>(m_stsz->num_samples()) * m_sample_duration;
int32_t composition_time = static_cast<int32_t>(frame_number) * m_sample_duration;
Error err = write_sample_data(data.bitstream,