[Spice-devel] [spice-gtk v1 2/6] display-gst: rely on SpiceSession init of GStreamer

Snir Sheriber ssheribe at redhat.com
Sun Sep 8 13:25:32 UTC 2019


Hi,


On 9/2/19 7:04 PM, Victor Toso wrote:
> From: Victor Toso <me at victortoso.com>
>
> This means we can drop gstvideo_init() function and replace its calls
> with gst_is_initialized().
>
> Signed-off-by: Victor Toso <victortoso at redhat.com>
> ---
>   src/channel-display-gst.c | 23 +++++------------------
>   1 file changed, 5 insertions(+), 18 deletions(-)
>
> diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> index 6fccf62..a34b5d0 100644
> --- a/src/channel-display-gst.c
> +++ b/src/channel-display-gst.c
> @@ -748,22 +748,6 @@ static gboolean spice_gst_decoder_queue_frame(VideoDecoder *video_decoder,
>       return TRUE;
>   }
>   
> -static gboolean gstvideo_init(void)
> -{
> -    static int success = 0;
> -    if (!success) {
> -        GError *err = NULL;
> -        if (gst_init_check(NULL, NULL, &err)) {
> -            success = 1;
> -        } else {
> -            spice_warning("Disabling GStreamer video support: %s", err->message);
> -            g_clear_error(&err);
> -            success = -1;
> -        }
> -    }
> -    return success > 0;
> -}
> -
>   G_GNUC_INTERNAL
>   VideoDecoder* create_gstreamer_decoder(int codec_type, display_stream *stream)
>   {
> @@ -771,7 +755,7 @@ VideoDecoder* create_gstreamer_decoder(int codec_type, display_stream *stream)
>   
>       g_return_val_if_fail(VALID_VIDEO_CODEC_TYPE(codec_type), NULL);
>   
> -    if (gstvideo_init()) {
> +    if (gst_is_initialized()) {

Since the logical thing to do is usually to initialize gstreamer
once you start using it i would add a comment it's now initialized
by the session (if not externally)

(also on gstaudio)

Snir.

>           decoder = g_new0(SpiceGstDecoder, 1);
>           decoder->base.destroy = spice_gst_decoder_destroy;
>           decoder->base.reschedule = spice_gst_decoder_reschedule;
> @@ -820,7 +804,10 @@ gboolean gstvideo_has_codec(int codec_type)
>       GstCaps *caps;
>       GstElementFactoryListType type;
>   
> -    g_return_val_if_fail(gstvideo_init(), FALSE);
> +    if (!gst_is_initialized()) {
> +        return FALSE;
> +    }
> +
>       g_return_val_if_fail(VALID_VIDEO_CODEC_TYPE(codec_type), FALSE);
>   
>       type = GST_ELEMENT_FACTORY_TYPE_DECODER |


More information about the Spice-devel mailing list