vaapidecode: handle flush() vmethod
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Mon, 16 Mar 2015 21:36:33 +0000 (23:36 +0200)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Mon, 16 Mar 2015 21:36:33 +0000 (23:36 +0200)
commit1bd810fe99a29c869230e69ff31730e92bec9f33
treeb849e5d31cb7d36093c4f4dcfd85edeb4080c36c
parentd8d2f00bd031ccce1eae80e0c38918eb25b768e3
vaapidecode: handle flush() vmethod

Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
and flush() was added.

This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
superior. Otherwise, reset() is set.

v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
       was renamed to gst_vaapidecode_internal_flush().
    2) The new vmethod flush() always do a hard full reset.
v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
       gather all collected data with  gst_video_decoder_have_frame()

https://bugzilla.gnome.org/show_bug.cgi?id=742922

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
gst/vaapi/gstvaapidecode.c