[Spice-devel] [PATCH spice-gtk] gst: Fix detection of h264 stream decoder

Pavel Grunt pgrunt at redhat.com
Thu Jul 13 11:31:34 UTC 2017


On Thu, 2017-07-13 at 13:22 +0200, Victor Toso wrote:
> Hi,
> 
> On Thu, Jul 13, 2017 at 01:18:14PM +0200, Pavel Grunt wrote:
> > On Thu, 2017-07-13 at 13:11 +0200, Victor Toso wrote:
> > > On Thu, Jul 13, 2017 at 01:05:31PM +0200, Pavel Grunt wrote:
> > > > GStreamer's avdec_h264 needs h264parse to be able to process H264 video
> > > > streams. However the check for elements through GstRegistry forgot to
> > > > include the parsers, thus making spice-gtk to not set the relevant cap
> > > > to inform the server about H264 decoding capability.
> > > 
> > > Wouldn't that make it possible to find a parser but not a decoder and
> > > evaluate the _has_codec() to true?
> > 
> > yes, it would
> > 
> > so it must be a check for parsers and then searching for decoders accepting
> > the
> > parser(s)'s output
> 
> Not really, avdec_h264 should show when we list the decoders.

it should not, the caps we set are not a subset of avdec_h264 caps.
Documentation of GstCaps may not be clear, but take a look at tests. Basically
"video/x-raw" is the superset for "video/x-raw, format=(string)YUY2".

Pavel


> 
> > 
> > Pavel
> > > > ---
> > > >  src/channel-display-gst.c | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> > > > index 54edd6b..d883d9f 100644
> > > > --- a/src/channel-display-gst.c
> > > > +++ b/src/channel-display-gst.c
> > > > @@ -652,6 +652,7 @@ gboolean gstvideo_has_codec(int codec_type)
> > > >      g_return_val_if_fail(VALID_VIDEO_CODEC_TYPE(codec_type), FALSE);
> > > >  
> > > >      type = GST_ELEMENT_FACTORY_TYPE_DECODER |
> > > > +           GST_ELEMENT_FACTORY_TYPE_PARSER |
> > > >             GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO |
> > > >             GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE;
> > > >      all_decoders = gst_element_factory_list_get_elements(type,
> > > > GST_RANK_NONE);
> > > > -- 
> > > > 2.13.0
> > > > 
> > > > _______________________________________________
> > > > Spice-devel mailing list
> > > > Spice-devel at lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/spice-devel
> > 
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list