[Spice-devel] [PATCH spice-gtk v2 2/5] display-gst: move "caps=" from struct to pipeline
Victor Toso
lists at victortoso.com
Fri May 12 12:48:51 UTC 2017
Hi,
On Fri, May 12, 2017 at 08:33:57AM -0400, Frediano Ziglio wrote:
> >
> > From: Victor Toso <me at victortoso.com>
> >
> > This way we have a map of the necessary GstCaps to a given
> > SPICE_VIDEO_CODEC_TYPE.
> >
> > This patch is also a preparatory patch to:
> >
> > - Identify which GstElements in GstRegistry can handle this GstCaps
> >
> > - Use Playbin as wrapper to all elements beside GstAppSrc and
> > GstAppSink. In this case, we should rely on GstCaps to reduce
> > typefind errors as we should know what kind of data is expected
> >
> > Signed-off-by: Victor Toso <victortoso at redhat.com>
> > Signed-off-by: Victor Toso <me at victortoso.com>
> > ---
> > src/channel-display-gst.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> > index 8546167..7323ce7 100644
> > --- a/src/channel-display-gst.c
> > +++ b/src/channel-display-gst.c
> > @@ -62,23 +62,23 @@ static struct {
> > { "decodebin", "" },
> >
> > /* SPICE_VIDEO_CODEC_TYPE_MJPEG */
> > - { "jpegdec", "caps=image/jpeg" },
> > + { "jpegdec", "image/jpeg" },
> >
> > /* SPICE_VIDEO_CODEC_TYPE_VP8
> > *
> > * typefind is unable to identify VP8 streams by design.
> > * See: https://bugzilla.gnome.org/show_bug.cgi?id=756457
> > */
> > - { "vp8dec", "caps=video/x-vp8" },
> > + { "vp8dec", "video/x-vp8" },
> >
> > /* SPICE_VIDEO_CODEC_TYPE_H264 */
> > /* We need the caps for Playbin. We could also add
> > "stream-format=byte-stream"
> > * as we set that in spice-server but we might want to have support to
> > * different stream-format */
> > - { "h264parse ! avdec_h264", "caps=video/x-h264" },
> > + { "h264parse ! avdec_h264", "video/x-h264" },
> >
> > /* SPICE_VIDEO_CODEC_TYPE_VP9 */
> > - { "vp9dec", "caps=video/x-vp9" },
> > + { "vp9dec", "video/x-vp9" },
> > };
> >
> > G_STATIC_ASSERT(G_N_ELEMENTS(gst_opts) <= SPICE_VIDEO_CODEC_TYPE_ENUM_END);
> > @@ -328,7 +328,7 @@ static gboolean create_pipeline(SpiceGstDecoder *decoder)
> > * needed by those that follow.
> > */
> > desc = g_strdup_printf("appsrc name=src is-live=true format=time
> > max-bytes=0 block=true "
> > - "%s ! %s ! videoconvert ! appsink name=sink "
> > + "caps=%s ! %s ! videoconvert ! appsink name=sink
> > "
> > "caps=video/x-raw,format=BGRx sync=false
> > drop=false",
> > gst_opts[opt].dec_caps, gst_opts[opt].dec_name);
> > SPICE_DEBUG("GStreamer pipeline: %s", desc);
>
> This won't work if SPICE_GSTVIDEO_AUTO is defined (so decodebin is used).
> Replacing gst_opts[opt].dec_caps with gst_opts[decoder->base.codec_type].dec_caps should work.
I'll move 4/5 to be the 2/5 :)
>
> Frediano
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170512/150d7940/attachment-0001.sig>
More information about the Spice-devel
mailing list