diff options
author | Zaheer Merali <zaheerabbas@merali.org> | 2009-01-28 12:27:42 +0000 |
---|---|---|
committer | Zaheer Merali <zaheerabbas@merali.org> | 2009-01-28 12:27:42 +0000 |
commit | b34204a54b901eddc700a7a039cce46d10f8f18c (patch) | |
tree | 155ce9c51f5cfc1cc3a43942094eb9bf3bdd6575 /gst/mpegdemux | |
parent | d3e4e5598f6c3db444d0014597d383ed35a02998 (diff) | |
download | gst-plugins-bad-b34204a54b901eddc700a7a039cce46d10f8f18c.tar.gz gst-plugins-bad-b34204a54b901eddc700a7a039cce46d10f8f18c.tar.bz2 gst-plugins-bad-b34204a54b901eddc700a7a039cce46d10f8f18c.zip |
Revert "mpegdemux: do not skip pes packets that we think are encrypted"
This reverts commit d3e4e5598f6c3db444d0014597d383ed35a02998.
Diffstat (limited to 'gst/mpegdemux')
-rw-r--r-- | gst/mpegdemux/gstpesfilter.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gst/mpegdemux/gstpesfilter.c b/gst/mpegdemux/gstpesfilter.c index 348f75c9..8a2ee284 100644 --- a/gst/mpegdemux/gstpesfilter.c +++ b/gst/mpegdemux/gstpesfilter.c @@ -287,7 +287,7 @@ gst_pes_filter_parse (GstPESFilter * filter) /* check PES scrambling control */ if ((flags & 0x30) != 0) - GST_DEBUG ("PES scrambling control: %x", (flags >> 4) & 0x3); + goto encrypted; /* 2: PTS_DTS_flags * 1: ESCR_flag @@ -466,7 +466,7 @@ need_more_data: ret = GST_FLOW_NEED_MORE_DATA; } } else { - GST_DEBG ("unbounded need more data %d", + GST_DEBUG ("unbounded need more data %d", gst_adapter_available (filter->adapter)); ret = GST_FLOW_NEED_MORE_DATA; } @@ -484,6 +484,17 @@ skip: 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; + return GST_FLOW_OK; + } lost_sync: { GST_DEBUG ("lost sync"); |