Commit 886ea051 authored by René Stadler's avatar René Stadler
Browse files

typefind: fix E-AC-3 frame size parsing

Frame size is given in words; it is already multiplied by two where
needed, so the left shift is superfluous. This extra multiplication
caused the code to inspect the third packet instead of the second,
which would fail for files where the second packet has a size
different from the first.
parent f9c7be96
......@@ -1295,8 +1295,7 @@ ac3_type_find (GstTypeFind * tf, gpointer unused)
DataScanCtx c_next = c;
guint frame_size;
frame_size = ((((c.data[2] & 0x07) << 8) +
(c.data[3] & 0xff)) + 1) << 1;
frame_size = (((c.data[2] & 0x07) << 8) + (c.data[3] & 0xff)) + 1;
GST_LOG ("possible E-AC3 frame sync at offset %"
G_GUINT64_FORMAT ", size=%u", c.offset, frame_size);
if (data_scan_ctx_ensure_data (tf, &c_next, (frame_size * 2) + 5)) {
......
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