summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f6c5b68)
raw | patch | inline | side by side (parent: f6c5b68)
author | Alessandro Decina <alessandro.decina@collabora.co.uk> | |
Tue, 31 Jan 2012 12:03:34 +0000 (13:03 +0100) | ||
committer | Alessandro Decina <alessandro.decina@collabora.co.uk> | |
Tue, 31 Jan 2012 12:03:34 +0000 (13:03 +0100) |
src/gstducativc1dec.c | patch | blob | history |
diff --git a/src/gstducativc1dec.c b/src/gstducativc1dec.c
index afd73430b2395605b7774543cf0574ae351a4e1d..2c4067135b22393eb3be2cf062ff9708b26ee5d5 100644 (file)
--- a/src/gstducativc1dec.c
+++ b/src/gstducativc1dec.c
#define PADX 32
#define PADY 40
+#define GST_BUFFER_FLAG_B_FRAME (GST_BUFFER_FLAG_LAST << 0)
GST_BOILERPLATE (GstDucatiVC1Dec, gst_ducati_vc1dec, GstDucatiVidDec,
return ret;
}
+static gboolean
+gst_ducati_vc1dec_drop_frame (GstDucatiVidDec * self, GstBuffer * buf,
+ gint64 diff)
+{
+ gboolean is_bframe = GST_BUFFER_FLAG_IS_SET (buf,
+ GST_BUFFER_FLAG_B_FRAME);
+
+ if (diff >= 0 && is_bframe)
+ return TRUE;
+
+ return FALSE;
+}
+
/* GstElement vmethod implementations */
static GstStateChangeReturn
bclass->push_input =
GST_DEBUG_FUNCPTR (gst_ducati_vc1dec_push_input);
bclass->handle_error = GST_DEBUG_FUNCPTR (gst_ducati_vc1dec_handle_error);
+ bclass->drop_frame = GST_DEBUG_FUNCPTR (gst_ducati_vc1dec_drop_frame);
}
static void