From b34204a54b901eddc700a7a039cce46d10f8f18c Mon Sep 17 00:00:00 2001
From: Zaheer Merali <zaheerabbas@merali.org>
Date: Wed, 28 Jan 2009 12:27:42 +0000
Subject: [PATCH] Revert "mpegdemux: do not skip pes packets that we think are
 encrypted"

This reverts commit d3e4e5598f6c3db444d0014597d383ed35a02998.
---
 common                       |  2 +-
 gst/mpegdemux/gstpesfilter.c | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/common b/common
index 5dc8ae3027..3f4e997460 160000
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 5dc8ae302733ce1aae5b1aaa613ce77a8ae4b3d9
+Subproject commit 3f4e9974603807e7615c3a6b8821542abce0be19
diff --git a/gst/mpegdemux/gstpesfilter.c b/gst/mpegdemux/gstpesfilter.c
index 348f75c997..8a2ee2842a 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;
     }
@@ -479,6 +479,17 @@ 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;