mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
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.
This commit is contained in:
parent
f9c7be9639
commit
886ea051e7
1 changed files with 1 additions and 2 deletions
|
@ -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)) {
|
||||
|
|
Loading…
Reference in a new issue