[Spice-devel] [PATCH spice-gtk 1/3] channel-display-gst: Make some SpiceGstFrame names more clear

Victor Toso victortoso at redhat.com
Wed Jan 23 12:57:06 UTC 2019


Hi,

On Wed, Jan 23, 2019 at 12:08:52AM +0000, Frediano Ziglio wrote:
> Add encoded_ and decoded_ prefix to understand which side
> they refer.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>

Acked-by: Victor Toso <victortoso at redhat.com>

> ---
>  src/channel-display-gst.c | 36 ++++++++++++++++++------------------
>  1 file changed, 18 insertions(+), 18 deletions(-)
> 
> diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> index a6ad4f1c..1ad06f15 100644
> --- a/src/channel-display-gst.c
> +++ b/src/channel-display-gst.c
> @@ -79,26 +79,26 @@ typedef enum {
>  
>  struct SpiceGstFrame {
>      GstClockTime timestamp;
> -    GstBuffer *buffer;
> -    SpiceFrame *frame;
> -    GstSample *sample;
> +    GstBuffer *encoded_buffer;
> +    SpiceFrame *encoded_frame;
> +    GstSample *decoded_sample;
>  };
>  
>  static SpiceGstFrame *create_gst_frame(GstBuffer *buffer, SpiceFrame *frame)
>  {
>      SpiceGstFrame *gstframe = g_new(SpiceGstFrame, 1);
>      gstframe->timestamp = GST_BUFFER_PTS(buffer);
> -    gstframe->buffer = gst_buffer_ref(buffer);
> -    gstframe->frame = frame;
> -    gstframe->sample = NULL;
> +    gstframe->encoded_buffer = gst_buffer_ref(buffer);
> +    gstframe->encoded_frame = frame;
> +    gstframe->decoded_sample = NULL;
>      return gstframe;
>  }
>  
>  static void free_gst_frame(SpiceGstFrame *gstframe)
>  {
> -    gst_buffer_unref(gstframe->buffer);
> -    // frame was owned by the buffer, don't release it
> -    g_clear_pointer(&gstframe->sample, gst_sample_unref);
> +    gst_buffer_unref(gstframe->encoded_buffer);
> +    // encoded_frame was owned by encoded_buffer, don't release it
> +    g_clear_pointer(&gstframe->decoded_sample, gst_sample_unref);
>      g_free(gstframe);
>  }
>  
> @@ -133,12 +133,12 @@ static gboolean display_frame(gpointer video_decoder)
>      /* If the queue is empty we don't even need to reschedule */
>      g_return_val_if_fail(gstframe, G_SOURCE_REMOVE);
>  
> -    if (!gstframe->sample) {
> +    if (!gstframe->decoded_sample) {
>          spice_warning("got a frame without a sample!");
>          goto error;
>      }
>  
> -    caps = gst_sample_get_caps(gstframe->sample);
> +    caps = gst_sample_get_caps(gstframe->decoded_sample);
>      if (!caps) {
>          spice_warning("GStreamer error: could not get the caps of the sample");
>          goto error;
> @@ -151,13 +151,13 @@ static gboolean display_frame(gpointer video_decoder)
>          goto error;
>      }
>  
> -    buffer = gst_sample_get_buffer(gstframe->sample);
> +    buffer = gst_sample_get_buffer(gstframe->decoded_sample);
>      if (!gst_buffer_map(buffer, &mapinfo, GST_MAP_READ)) {
>          spice_warning("GStreamer error: could not map the buffer");
>          goto error;
>      }
>  
> -    stream_display_frame(decoder->base.stream, gstframe->frame,
> +    stream_display_frame(decoder->base.stream, gstframe->encoded_frame,
>                           width, height, spice_gst_buffer_get_stride(buffer), mapinfo.data);
>      gst_buffer_unmap(buffer, &mapinfo);
>  
> @@ -183,8 +183,8 @@ static void schedule_frame(SpiceGstDecoder *decoder)
>              break;
>          }
>  
> -        if (spice_mmtime_diff(now, gstframe->frame->mm_time) < 0) {
> -            decoder->timer_id = g_timeout_add(gstframe->frame->mm_time - now,
> +        if (spice_mmtime_diff(now, gstframe->encoded_frame->mm_time) < 0) {
> +            decoder->timer_id = g_timeout_add(gstframe->encoded_frame->mm_time - now,
>                                                display_frame, decoder);
>          } else if (decoder->display_frame && !decoder->pending_samples) {
>              /* Still attempt to display the least out of date frame so the
> @@ -193,8 +193,8 @@ static void schedule_frame(SpiceGstDecoder *decoder)
>              decoder->timer_id = g_timeout_add(0, display_frame, decoder);
>          } else {
>              SPICE_DEBUG("%s: rendering too late by %u ms (ts: %u, mmtime: %u), dropping",
> -                        __FUNCTION__, now - gstframe->frame->mm_time,
> -                        gstframe->frame->mm_time, now);
> +                        __FUNCTION__, now - gstframe->encoded_frame->mm_time,
> +                        gstframe->encoded_frame->mm_time, now);
>              stream_dropped_frame_on_playback(decoder->base.stream);
>              decoder->display_frame = NULL;
>              free_gst_frame(gstframe);
> @@ -227,7 +227,7 @@ static void fetch_pending_sample(SpiceGstDecoder *decoder)
>              gstframe = l->data;
>              if (gstframe->timestamp == GST_BUFFER_PTS(buffer)) {
>                  /* The frame is now ready for display */
> -                gstframe->sample = sample;
> +                gstframe->decoded_sample = sample;
>                  decoder->display_frame = gstframe;
>  
>                  /* Now that we know there is a match, remove it and the older
> -- 
> 2.20.1
> 
> _______________________________________________
> 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/20190123/189e00c6/attachment.sig>


More information about the Spice-devel mailing list