mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
mpegdemux: do not skip pes packets that we think are encrypted
pes packets that claim to be encrypted may not be so, so treat as normal. Just log the flags.
This commit is contained in:
parent
bf7ccbe0f8
commit
d3e4e5598f
2 changed files with 3 additions and 14 deletions
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 3f4e9974603807e7615c3a6b8821542abce0be19
|
||||
Subproject commit 5dc8ae302733ce1aae5b1aaa613ce77a8ae4b3d9
|
|
@ -287,7 +287,7 @@ gst_pes_filter_parse (GstPESFilter * filter)
|
|||
|
||||
/* check PES scrambling control */
|
||||
if ((flags & 0x30) != 0)
|
||||
goto encrypted;
|
||||
GST_DEBUG ("PES scrambling control: %x", (flags >> 4) & 0x3);
|
||||
|
||||
/* 2: PTS_DTS_flags
|
||||
* 1: ESCR_flag
|
||||
|
@ -466,7 +466,7 @@ need_more_data:
|
|||
ret = GST_FLOW_NEED_MORE_DATA;
|
||||
}
|
||||
} else {
|
||||
GST_DEBUG ("unbounded need more data %d",
|
||||
GST_DEBG ("unbounded need more data %d",
|
||||
gst_adapter_available (filter->adapter));
|
||||
ret = GST_FLOW_NEED_MORE_DATA;
|
||||
}
|
||||
|
@ -479,17 +479,6 @@ skip:
|
|||
gst_adapter_flush (filter->adapter, avail);
|
||||
ADAPTER_OFFSET_FLUSH (avail);
|
||||
|
||||
filter->length -= avail - 6;
|
||||
if (filter->length > 0 || filter->unbounded_packet)
|
||||
filter->state = STATE_DATA_SKIP;
|
||||
return GST_FLOW_OK;
|
||||
}
|
||||
encrypted:
|
||||
{
|
||||
GST_DEBUG ("skipping encrypted 0x%02x", filter->id);
|
||||
gst_adapter_flush (filter->adapter, avail);
|
||||
ADAPTER_OFFSET_FLUSH (avail);
|
||||
|
||||
filter->length -= avail - 6;
|
||||
if (filter->length > 0 || filter->unbounded_packet)
|
||||
filter->state = STATE_DATA_SKIP;
|
||||
|
|
Loading…
Reference in a new issue