[gstreamermm: 85/167] [peper0] Don't copy buffer if RefPtr is empty.



commit be60431b5ce1063485ecbc5892acf2177b43a731
Author: Marcin Kolny at Flytronic <marcin kolny flytronic pl>
Date:   Tue Jul 30 13:40:09 2013 +0200

    [peper0] Don't copy buffer if RefPtr is empty.

 gstreamer/src/basesrc.ccg       |    2 +-
 gstreamer/src/basetransform.ccg |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gstreamer/src/basesrc.ccg b/gstreamer/src/basesrc.ccg
index eea0ba8..db75098 100644
--- a/gstreamer/src/basesrc.ccg
+++ b/gstreamer/src/basesrc.ccg
@@ -162,7 +162,7 @@ GstFlowReturn BaseSrc_Class::create_vfunc_callback(GstBaseSrc* self, guint64 off
         Glib::RefPtr<Gst::Buffer> cpp_buffer;
         // Call the virtual member method, which derived classes might override.
         GstFlowReturn const result = static_cast<GstFlowReturn>(obj->create_vfunc(offset, size, cpp_buffer));
-        *buf = cpp_buffer->gobj_copy();
+        *buf = cpp_buffer ? cpp_buffer->gobj_copy() : 0;
         return result;
       }
       catch(...)
diff --git a/gstreamer/src/basetransform.ccg b/gstreamer/src/basetransform.ccg
index abcc04d..b571f14 100644
--- a/gstreamer/src/basetransform.ccg
+++ b/gstreamer/src/basetransform.ccg
@@ -156,7 +156,7 @@ GstFlowReturn BaseTransform_Class::prepare_output_buffer_vfunc_callback(GstBaseT
         const GstFlowReturn result =
           static_cast<GstFlowReturn>(obj->prepare_output_buffer_vfunc(
           Glib::wrap(input, true), cpp_buffer));
-        *buffer = cpp_buffer->gobj_copy();
+          *buffer = cpp_buffer ? cpp_buffer->gobj_copy() : 0;
         return result;
       }
       catch(...)


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