gstreamer/gst/vaapi
Lionel Landwerlin 334a0ca8bd vaapidecode: make decoder work with playbin
When playbin/decodebin builds the pipeline, it puts decoders and sinks
into different bins and forwards the queries from bins to bins. So in
the initials steps the pipeline is built iteratively by playbin and
looks like this :

[filesrc]

[filesrc] -> [typefind]

[filesrc] -> [typefind] -> [demuxer]

[filesrc] -> [typefind] -> [demuxer] -> [decoder]

At this point the decoder is asked for its SRC caps and it will make a
choice based on what gst_pad_peer_query_caps() returns. The problem is
that the caps returns at that point includes caps features like ANY,
essentially because playbin can plug in additional elements like
videoscale, videoconv or deinterlace.

This patch adds a another call to
gst_vaapi_find_preferred_caps_feature() when the decoder decides its
allocation, to make sure we asks the downstream elements when the
entire pipeline has been built.

https://bugzilla.gnome.org/show_bug.cgi?id=731645
2014-07-03 23:07:51 +02:00
..
gstvaapi.c plugins: add mpeg2 encoder element. 2013-11-24 16:52:05 +01:00
gstvaapidecode.c vaapidecode: make decoder work with playbin 2014-07-03 23:07:51 +02:00
gstvaapidecode.h plugins: factor out pad caps. 2013-12-18 16:38:57 +01:00
gstvaapidownload.c download: use GstVideoInfo facilities to build output caps. 2013-12-21 12:35:24 +01:00
gstvaapidownload.h plugins: add new base object, store display in there. 2013-12-18 16:38:57 +01:00
gstvaapiencode.c legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencode.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencode_h264.c encoder: h264: add initial support for H.264 Stereo High profile. 2014-06-02 18:25:13 +02:00
gstvaapiencode_h264.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencode_mpeg2.c legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencode_mpeg2.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiparse.c plugins: add built-in video parsers as "vaapiparse" element. 2014-06-13 17:17:07 +02:00
gstvaapiparse.h plugins: add built-in video parsers as "vaapiparse" element. 2014-06-13 17:17:07 +02:00
gstvaapipluginbase.c plugins: fix initialization with foreign context. 2014-06-13 17:42:29 +02:00
gstvaapipluginbase.h plugins: factor out support for raw YUV buffers on sink pads. 2013-12-18 16:38:57 +01:00
gstvaapipluginutil.c legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapipluginutil.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapipostproc.c vaapipostproc: don't let tmp_rect go out of scope. 2014-07-03 22:59:36 +02:00
gstvaapipostproc.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapisink.c vaapisink: fix initialization with "drm" display type. 2014-06-13 17:42:35 +02:00
gstvaapisink.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiupload.c plugins: factor out pad caps. 2013-12-18 16:38:57 +01:00
gstvaapiupload.h plugins: add new base object, store display in there. 2013-12-18 16:38:57 +01:00
gstvaapiuploader.c plugins: factor out construction of template caps. 2013-12-21 12:35:24 +01:00
gstvaapiuploader.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapivideobuffer.c plugins: drop obsolete functions. 2013-11-28 17:32:18 +01:00
gstvaapivideobuffer.h plugins: drop obsolete functions. 2013-11-28 17:32:18 +01:00
gstvaapivideobufferpool.c plugins: allow builds without GLX enabled for GStreamer 1.2. 2013-12-11 15:30:51 +01:00
gstvaapivideobufferpool.h plugins: request GLTextureUpload meta on buffers in the buffer pool. 2013-12-11 15:30:51 +01:00
gstvaapivideocontext.c plugins: re-indent common and video context creation utils. 2013-12-21 12:35:23 +01:00
gstvaapivideocontext.h plugins: re-indent common and video context creation utils. 2013-12-21 12:35:23 +01:00
gstvaapivideoconverter_glx.c legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapivideoconverter_glx.h legal: update copyright notice dates. 2013-11-22 06:39:20 +01:00
gstvaapivideoconverter_x11.c legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapivideoconverter_x11.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapivideomemory.c plugins: fix memory leaks through GstVideoMeta maps. 2013-11-28 19:08:28 +01:00
gstvaapivideomemory.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapivideometa.c encoder: rework GstVaapiCodedBuffer and related proxy. 2013-12-04 19:14:38 +01:00
gstvaapivideometa.h plugins: drop obsolete functions. 2013-11-28 17:32:18 +01:00
gstvaapivideometa_texture.c legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapivideometa_texture.h plugins: fix GLTextureUploadMeta to work with different texture ids. 2013-12-11 15:30:51 +01:00
Makefile.am plugins: add built-in video parsers as "vaapiparse" element. 2014-06-13 17:17:07 +02:00