From: Victor Toso <me@xxxxxxxxxxxxxx> -- v2->v3: * Apply acked in - display-gst: check GstRegistry for decoding elements * display-gst: include capabilities for h264 - Got the errors from h264parse related to incomplete capabilities. Not sure how I missed it before. The error points out that video/x-h264 is not enough for h264parse element and it ignores it (meaning that we could simple ignore capabilities for h264). - The error is: h264parse gsth264parse.c:2559:gst_h264_parse_set_caps: video/x-h264 caps without codec_data or stream-format - But we *do* know the stream-format so I'm adding this to the capabilites. * Moved 4/5 to be current 2/6 to avoid an intermediary patch that would cause regression if used with SPICE_GSTVIDEO_AUTO (Frediano) * Created 1/6 to avoid creating encoder with wrong codec value (Frediano) * Move g_sinal_connect() before g_object_set() where playbin is initialized on 6/6 (Frediano) * Using a g_warn_if_fail() to be sure we will not be re-assigning the decoder->appsrc on 6/6 (Frediano) -- v1-> v2: Adressing Frediano comments in v1 * Rebased * Removed caps="" for older version of GStreamer. No clear info on the issue that one had at that time. Still, video/x-h264 is the stream format that we receive and an error because of that should really be a bug in GStreamer. * Moved v1 02/04 to be v2 01/04 in order to fix more easily the "cap=%s" problem in v1 01/04 * Free GstSample even while using playbin * gst_element_ref() GstAppSrc and GstAppSink -- v1: Hi, First time using git-publish [0], sorry if anything goes wrong :) [0] https://github.com/stefanha/git-publish The main goal for this series is to have streaming working with hardware accelerated video decoding whenever is possible. The best way to achieve that is to let GStreamer do most of the work. Using Playbin [1] we can create the whole pipeline. We only need to work with GstAppSrc and GstAppSink to set the encoded data and gather the decoded data. [1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-playbin.html Trying my best to not break streaming with older versions of GStreamer. Based on a comment from ceyusa [2], since version 1.9.0 GStreamer is able to use Vaapi elements automaticaly and for that reason I'm wrapping those changes with GST_CHECK_VERSION(1,9,0). [2] https://lists.freedesktop.org/archives/spice-devel/2016-October/032825.html Cheers, toso Victor Toso (6): display-gst: check codec type before creating decoder display-gst: remove SPICE_GSTVIDEO_AUTO check display-gst: include capabilities for h264 display-gst: move "caps=" from struct to pipeline display-gst: check GstRegistry for decoding elements display-gst: Use Playbin for GStreamer 1.9.0 onwards src/channel-display-gst.c | 183 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 157 insertions(+), 26 deletions(-) -- 2.13.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel