diff options
author | Olivier Crete <olivier.crete@collabora.co.uk> | 2008-07-25 19:48:33 +0000 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-03-03 14:34:07 -0500 |
commit | 3e785ea2dedd89ba8fc4dae028002d0addbc2ca1 (patch) | |
tree | b0ee96750bcb2659ce8265a723e619eaa6a006d3 /ext | |
parent | ca535657199814980d3faa8a5c76be78f6d4033b (diff) | |
download | gst-plugins-bad-3e785ea2dedd89ba8fc4dae028002d0addbc2ca1.tar.gz gst-plugins-bad-3e785ea2dedd89ba8fc4dae028002d0addbc2ca1.tar.bz2 gst-plugins-bad-3e785ea2dedd89ba8fc4dae028002d0addbc2ca1.zip |
[MOVED FROM GST-P-FARSIGHT] Skip non-keyframes before we get a keyframe
20080725194833-3e2dc-583df57c8ebce4b149a01768ed7d3737136a208f.gz
Diffstat (limited to 'ext')
-rw-r--r-- | 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 9e97a300..cd679a5a 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"); |