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

2018-04-16 Thread Snir Sheriber

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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


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

2018-04-15 Thread Frediano Ziglio
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);
 }
 
 if (gst_app_src_push_buffer(decoder->appsrc, buffer) != GST_FLOW_OK) {
-- 
2.14.3

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