Commit 5d99d0df authored by Alex Ashley's avatar Alex Ashley Committed by Tim-Philipp Müller

qtdemux: fix offset calculation when parsing CENC aux info

Commit 7d7e54ce added support for
DASH common encryption, however commit
bb336840 that went onto master
shortly before the CENC commit caused the calculation of the CENC
aux info offset to be incorrect.

The base_offset was being added if present, but if the base_offset
is relative to the start of the moof, the offset was being added twice.
The correct approach is to calculate the offset from the start of the
moof and use that offset when parsing the CENC aux info.
parent 13d49d9b
......@@ -3389,8 +3389,8 @@ qtdemux_parse_moof (GstQTDemux * qtdemux, const guint8 * buffer, guint length,
g_free (info_sizes);
goto fail;
}
offset += (base_offset > 0) ? (guint64) base_offset : 0;
if (base_offset > qtdemux->moof_offset)
offset += (guint64) (base_offset - qtdemux->moof_offset);
if (info_type == FOURCC_cenc && info_type_parameter == 0U) {
GstByteReader br;
if (offset > length) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment