Re: [PATCH spice-gtk 1/3] fixup! Gstreamer: Use GstVideoOverlay if possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, thanks for the patches!


On 04/15/2018 10:12 PM, Frediano Ziglio wrote:
As we don't need frame anymore instead of attaching to the buffer free
it.
---
  src/channel-display-gst.c | 19 +++----------------
  1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
index a29af3f..7783393 100644
--- a/src/channel-display-gst.c
+++ b/src/channel-display-gst.c
@@ -91,12 +91,6 @@ static SpiceGstFrame *create_gst_frame(GstBuffer *buffer, SpiceFrame *frame)
      return gstframe;
  }
-static void free_spice_frame(SpiceFrame *frame)
-{
-    frame->unref_data(frame->data_opaque);
-    frame->free(frame);
-}
-
  static void free_gst_frame(SpiceGstFrame *gstframe)
  {
      gstframe->frame->free(gstframe->frame);
@@ -562,8 +556,6 @@ static gboolean spice_gst_decoder_queue_frame(VideoDecoder *video_decoder,
                                                SpiceFrame *frame, int latency)
  {
      SpiceGstDecoder *decoder = (SpiceGstDecoder*)video_decoder;
-    gpointer data_opaque;
-    GDestroyNotify data_unref;
if (frame->size == 0) {
          SPICE_DEBUG("got an empty frame buffer!");
@@ -605,16 +597,9 @@ static gboolean spice_gst_decoder_queue_frame(VideoDecoder *video_decoder,
/* ref() the frame data for the buffer */
      frame->ref_data(frame->data_opaque);
-    if (decoder->gstvideooverlay) {
-        data_opaque = frame;
-        data_unref  = (void*)free_spice_frame;
-    } else {
-        data_opaque = frame->data_opaque;
-        data_unref  = frame->unref_data;
-    }
      GstBuffer *buffer = gst_buffer_new_wrapped_full(GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS,
                                                      frame->data, frame->size, 0, frame->size,
-                                                    data_opaque, data_unref);
+                                                    frame->data_opaque, frame->unref_data);
GST_BUFFER_DURATION(buffer) = GST_CLOCK_TIME_NONE;
      GST_BUFFER_DTS(buffer) = GST_CLOCK_TIME_NONE;
@@ -624,6 +609,8 @@ static gboolean spice_gst_decoder_queue_frame(VideoDecoder *video_decoder,
          g_mutex_lock(&decoder->queues_mutex);
          g_queue_push_tail(decoder->decoding_queue, create_gst_frame(buffer, frame));
          g_mutex_unlock(&decoder->queues_mutex);
+    } else {
+        frame->free(frame);

There's a log msg that prints frame->size 4 lines after this line.
So I'll just remove this size printing, apply the other patches and squash
when I'll send v3.

So ack for the series

Thanks, Snir

      }
if (gst_app_src_push_buffer(decoder->appsrc, buffer) != GST_FLOW_OK) {

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]