[gst-plugins-farsight/master] Skip non-keyframes before we get a keyframe

Olivier Crete olivier.crete at collabora.co.uk
Tue Mar 3 10:53:14 PST 2009


20080725194833-3e2dc-583df57c8ebce4b149a01768ed7d3737136a208f.gz
---
 ext/mimic/gstmimdec.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/ext/mimic/gstmimdec.c b/ext/mimic/gstmimdec.c
index 9e97a30..cd679a5 100644
--- a/ext/mimic/gstmimdec.c
+++ b/ext/mimic/gstmimdec.c
@@ -212,6 +212,14 @@ gst_mimdec_chain (GstPad *pad, GstBuffer *in)
       GstEvent * event;
       gboolean result;
 
+      /* Check if its a keyframe, otherwise skip it */
+      if (GUINT32_FROM_LE(*((guint32 *) (frame_body + 12))) != 0) {
+        gst_adapter_flush (mimdec->adapter, mimdec->payload_size);
+        mimdec->have_header = FALSE;
+        res = GST_FLOW_OK;
+        goto out;
+      }
+
       mimdec->dec = mimic_open ();
       if (mimdec->dec == NULL) {
         GST_WARNING_OBJECT (mimdec, "mimic_open error\n");
-- 
1.5.6.5




More information about the farsight-commits mailing list