summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorZaheer Merali <zaheerabbas@merali.org>2009-01-28 12:27:42 +0000
committerZaheer Merali <zaheerabbas@merali.org>2009-01-28 12:27:42 +0000
commitb34204a54b901eddc700a7a039cce46d10f8f18c (patch)
tree155ce9c51f5cfc1cc3a43942094eb9bf3bdd6575 /gst
parentd3e4e5598f6c3db444d0014597d383ed35a02998 (diff)
downloadgst-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')
-rw-r--r--gst/mpegdemux/gstpesfilter.c15
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");