mirror of
				https://github.com/go-gst/go-gst.git
				synced 2025-10-28 02:01:47 +08:00 
			
		
		
		
	major rework of reference handling
This commit is contained in:
		| @@ -37,7 +37,7 @@ func ToGstBaseSink(obj interface{}) *GstBaseSink { | ||||
|  | ||||
| // wrapGstBaseSink wraps the given unsafe.Pointer in a GstBaseSink instance. | ||||
| func wrapGstBaseSink(obj *C.GstBaseSink) *GstBaseSink { | ||||
| 	return &GstBaseSink{gst.FromGstElementUnsafe(unsafe.Pointer(obj))} | ||||
| 	return &GstBaseSink{gst.FromGstElementUnsafeNone(unsafe.Pointer(obj))} | ||||
| } | ||||
|  | ||||
| // Instance returns the underlying C GstBaseSrc instance | ||||
| @@ -98,7 +98,7 @@ func (g *GstBaseSink) GetLastSample() *gst.Sample { | ||||
| 	if sample == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstSampleUnsafe(unsafe.Pointer(sample)) | ||||
| 	return gst.FromGstSampleUnsafeFull(unsafe.Pointer(sample)) | ||||
| } | ||||
|  | ||||
| // GetLatency gets the currently configured latency. | ||||
|   | ||||
| @@ -26,7 +26,7 @@ func goGstBaseSinkEvent(sink *C.GstBaseSink, event *C.GstEvent) C.gboolean { | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		Event(self *GstBaseSink, event *gst.Event) bool | ||||
| 	}) | ||||
| 	return gboolean(iface.Event(wrapGstBaseSink(sink), gst.FromGstEventUnsafe(unsafe.Pointer(event)))) | ||||
| 	return gboolean(iface.Event(wrapGstBaseSink(sink), gst.FromGstEventUnsafeNone(unsafe.Pointer(event)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkFixate | ||||
| @@ -34,7 +34,7 @@ func goGstBaseSinkFixate(sink *C.GstBaseSink, caps *C.GstCaps) *C.GstCaps { | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		Fixate(self *GstBaseSink, caps *gst.Caps) *gst.Caps | ||||
| 	}) | ||||
| 	fixated := iface.Fixate(wrapGstBaseSink(sink), gst.FromGstCapsUnsafe(unsafe.Pointer(caps))) | ||||
| 	fixated := iface.Fixate(wrapGstBaseSink(sink), gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps))) | ||||
| 	if fixated == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| @@ -46,7 +46,7 @@ func goGstBaseSinkGetCaps(sink *C.GstBaseSink, filter *C.GstCaps) *C.GstCaps { | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		GetCaps(self *GstBaseSink, filter *gst.Caps) *gst.Caps | ||||
| 	}) | ||||
| 	filtered := iface.GetCaps(wrapGstBaseSink(sink), gst.FromGstCapsUnsafe(unsafe.Pointer(filter))) | ||||
| 	filtered := iface.GetCaps(wrapGstBaseSink(sink), gst.FromGstCapsUnsafeNone(unsafe.Pointer(filter))) | ||||
| 	if filtered == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| @@ -58,7 +58,7 @@ func goGstBaseSinkGetTimes(sink *C.GstBaseSink, buf *C.GstBuffer, start, end *C. | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		GetTimes(self *GstBaseSink, buffer *gst.Buffer) (start, end time.Duration) | ||||
| 	}) | ||||
| 	retStart, retEnd := iface.GetTimes(wrapGstBaseSink(sink), gst.FromGstBufferUnsafe(unsafe.Pointer(buf))) | ||||
| 	retStart, retEnd := iface.GetTimes(wrapGstBaseSink(sink), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf))) | ||||
| 	*start = C.GstClockTime(retStart.Nanoseconds()) | ||||
| 	*end = C.GstClockTime(retEnd.Nanoseconds()) | ||||
| } | ||||
| @@ -68,7 +68,7 @@ func goGstBaseSinkPrepare(sink *C.GstBaseSink, buf *C.GstBuffer) C.GstFlowReturn | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		Prepare(self *GstBaseSink, buffer *gst.Buffer) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(iface.Prepare(wrapGstBaseSink(sink), gst.FromGstBufferUnsafe(unsafe.Pointer(buf)))) | ||||
| 	return C.GstFlowReturn(iface.Prepare(wrapGstBaseSink(sink), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkPrepareList | ||||
| @@ -76,7 +76,7 @@ func goGstBaseSinkPrepareList(sink *C.GstBaseSink, list *C.GstBufferList) C.GstF | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		PrepareList(self *GstBaseSink, bufferList *gst.BufferList) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(iface.PrepareList(wrapGstBaseSink(sink), gst.FromGstBufferListUnsafe(unsafe.Pointer(list)))) | ||||
| 	return C.GstFlowReturn(iface.PrepareList(wrapGstBaseSink(sink), gst.FromGstBufferListUnsafeNone(unsafe.Pointer(list)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkPreroll | ||||
| @@ -84,7 +84,7 @@ func goGstBaseSinkPreroll(sink *C.GstBaseSink, buf *C.GstBuffer) C.GstFlowReturn | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		Preroll(self *GstBaseSink, buffer *gst.Buffer) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(iface.Preroll(wrapGstBaseSink(sink), gst.FromGstBufferUnsafe(unsafe.Pointer(buf)))) | ||||
| 	return C.GstFlowReturn(iface.Preroll(wrapGstBaseSink(sink), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkProposeAllocation | ||||
| @@ -92,7 +92,7 @@ func goGstBaseSinkProposeAllocation(sink *C.GstBaseSink, query *C.GstQuery) C.gb | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		ProposeAllocation(self *GstBaseSink, query *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(iface.ProposeAllocation(wrapGstBaseSink(sink), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(iface.ProposeAllocation(wrapGstBaseSink(sink), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkQuery | ||||
| @@ -100,7 +100,7 @@ func goGstBaseSinkQuery(sink *C.GstBaseSink, query *C.GstQuery) C.gboolean { | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		Query(self *GstBaseSink, query *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(iface.Query(wrapGstBaseSink(sink), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(iface.Query(wrapGstBaseSink(sink), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkRender | ||||
| @@ -108,7 +108,7 @@ func goGstBaseSinkRender(sink *C.GstBaseSink, buf *C.GstBuffer) C.GstFlowReturn | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		Render(self *GstBaseSink, buffer *gst.Buffer) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(iface.Render(wrapGstBaseSink(sink), gst.FromGstBufferUnsafe(unsafe.Pointer(buf)))) | ||||
| 	return C.GstFlowReturn(iface.Render(wrapGstBaseSink(sink), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkRenderList | ||||
| @@ -116,7 +116,7 @@ func goGstBaseSinkRenderList(sink *C.GstBaseSink, buf *C.GstBufferList) C.GstFlo | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		RenderList(self *GstBaseSink, bufferList *gst.BufferList) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(iface.RenderList(wrapGstBaseSink(sink), gst.FromGstBufferListUnsafe(unsafe.Pointer(buf)))) | ||||
| 	return C.GstFlowReturn(iface.RenderList(wrapGstBaseSink(sink), gst.FromGstBufferListUnsafeNone(unsafe.Pointer(buf)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkSetCaps | ||||
| @@ -124,7 +124,7 @@ func goGstBaseSinkSetCaps(sink *C.GstBaseSink, caps *C.GstCaps) C.gboolean { | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		SetCaps(self *GstBaseSink, caps *gst.Caps) bool | ||||
| 	}) | ||||
| 	return gboolean(iface.SetCaps(wrapGstBaseSink(sink), gst.FromGstCapsUnsafe(unsafe.Pointer(caps)))) | ||||
| 	return gboolean(iface.SetCaps(wrapGstBaseSink(sink), gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSinkStart | ||||
| @@ -164,5 +164,5 @@ func goGstBaseSinkWaitEvent(sink *C.GstBaseSink, event *C.GstEvent) C.GstFlowRet | ||||
| 	iface := glib.FromObjectUnsafePrivate(unsafe.Pointer(sink)).(interface { | ||||
| 		WaitEvent(self *GstBaseSink, event *gst.Event) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(iface.WaitEvent(wrapGstBaseSink(sink), gst.FromGstEventUnsafe(unsafe.Pointer(event)))) | ||||
| 	return C.GstFlowReturn(iface.WaitEvent(wrapGstBaseSink(sink), gst.FromGstEventUnsafeNone(unsafe.Pointer(event)))) | ||||
| } | ||||
|   | ||||
| @@ -30,7 +30,7 @@ func ToGstBaseSrc(obj interface{}) *GstBaseSrc { | ||||
|  | ||||
| // wrapGstBaseSrc wraps the given unsafe.Pointer in a GstBaseSrc instance. | ||||
| func wrapGstBaseSrc(obj *C.GstBaseSrc) *GstBaseSrc { | ||||
| 	return &GstBaseSrc{gst.FromGstElementUnsafe(unsafe.Pointer(obj))} | ||||
| 	return &GstBaseSrc{gst.FromGstElementUnsafeNone(unsafe.Pointer(obj))} | ||||
| } | ||||
|  | ||||
| // Instance returns the underlying C GstBaseSrc instance | ||||
| @@ -43,7 +43,10 @@ func (g *GstBaseSrc) GetAllocator() (*gst.Allocator, *gst.AllocationParams) { | ||||
| 	var allocParams C.GstAllocationParams | ||||
| 	var allocator *C.GstAllocator | ||||
| 	C.gst_base_src_get_allocator(g.Instance(), &allocator, &allocParams) | ||||
| 	return gst.FromGstAllocatorUnsafe(unsafe.Pointer(allocator)), gst.FromGstAllocationParamsUnsafe(unsafe.Pointer(&allocParams)) | ||||
| 	if allocator == nil { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	return gst.FromGstAllocatorUnsafeFull(unsafe.Pointer(allocator)), gst.FromGstAllocationParamsUnsafe(unsafe.Pointer(&allocParams)) | ||||
| } | ||||
|  | ||||
| // GetBlocksize returns the number of bytes that the source will push out with each buffer. | ||||
| @@ -51,7 +54,11 @@ func (g *GstBaseSrc) GetBlocksize() uint { return uint(C.gst_base_src_get_blocks | ||||
|  | ||||
| // GetBufferPool returns the BufferPool used by this source. Unref after usage. | ||||
| func (g *GstBaseSrc) GetBufferPool() *gst.BufferPool { | ||||
| 	return gst.FromGstBufferPoolUnsafe(unsafe.Pointer(C.gst_base_src_get_buffer_pool(g.Instance()))) | ||||
| 	pool := C.gst_base_src_get_buffer_pool(g.Instance()) | ||||
| 	if pool == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstBufferPoolUnsafeFull(unsafe.Pointer(pool)) | ||||
| } | ||||
|  | ||||
| // DoTimestamp will query if the timestamps outgoing on this source's buffers are based on the current | ||||
|   | ||||
| @@ -17,7 +17,7 @@ func goGstBaseSrcGetCaps(src *C.GstBaseSrc, filter *C.GstCaps) *C.GstCaps { | ||||
| 	caller := elem.(interface { | ||||
| 		GetCaps(*GstBaseSrc, *gst.Caps) *gst.Caps | ||||
| 	}) | ||||
| 	res := caller.GetCaps(wrapGstBaseSrc(src), gst.FromGstCapsUnsafe(unsafe.Pointer(filter))) | ||||
| 	res := caller.GetCaps(wrapGstBaseSrc(src), gst.FromGstCapsUnsafeNone(unsafe.Pointer(filter))) | ||||
| 	return (*C.GstCaps)(unsafe.Pointer(res.Instance())) | ||||
| } | ||||
|  | ||||
| @@ -36,7 +36,7 @@ func goGstBaseSrcFixate(src *C.GstBaseSrc, caps *C.GstCaps) *C.GstCaps { | ||||
| 	caller := elem.(interface { | ||||
| 		Fixate(*GstBaseSrc, *gst.Caps) *gst.Caps | ||||
| 	}) | ||||
| 	res := caller.Fixate(wrapGstBaseSrc(src), gst.FromGstCapsUnsafe(unsafe.Pointer(caps))) | ||||
| 	res := caller.Fixate(wrapGstBaseSrc(src), gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps))) | ||||
| 	return (*C.GstCaps)(unsafe.Pointer(res.Instance())) | ||||
| } | ||||
|  | ||||
| @@ -46,7 +46,7 @@ func goGstBaseSrcSetCaps(src *C.GstBaseSrc, filter *C.GstCaps) C.gboolean { | ||||
| 	caller := elem.(interface { | ||||
| 		SetCaps(*GstBaseSrc, *gst.Caps) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.SetCaps(wrapGstBaseSrc(src), gst.FromGstCapsUnsafe(unsafe.Pointer(filter)))) | ||||
| 	return gboolean(caller.SetCaps(wrapGstBaseSrc(src), gst.FromGstCapsUnsafeNone(unsafe.Pointer(filter)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSrcDecideAllocation | ||||
| @@ -55,7 +55,7 @@ func goGstBaseSrcDecideAllocation(src *C.GstBaseSrc, query *C.GstQuery) C.gboole | ||||
| 	caller := elem.(interface { | ||||
| 		DecideAllocation(*GstBaseSrc, *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.DecideAllocation(wrapGstBaseSrc(src), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(caller.DecideAllocation(wrapGstBaseSrc(src), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSrcStart | ||||
| @@ -82,7 +82,7 @@ func goGstBaseSrcGetTimes(src *C.GstBaseSrc, buf *C.GstBuffer, start *C.GstClock | ||||
| 	caller := elem.(interface { | ||||
| 		GetTimes(*GstBaseSrc, *gst.Buffer) (start, end time.Duration) | ||||
| 	}) | ||||
| 	gostart, goend := caller.GetTimes(wrapGstBaseSrc(src), gst.FromGstBufferUnsafe(unsafe.Pointer(buf))) | ||||
| 	gostart, goend := caller.GetTimes(wrapGstBaseSrc(src), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf))) | ||||
| 	*start = C.GstClockTime(gostart.Nanoseconds()) | ||||
| 	*end = C.GstClockTime(goend.Nanoseconds()) | ||||
| } | ||||
| @@ -116,7 +116,7 @@ func goGstBaseSrcPrepareSeekSegment(src *C.GstBaseSrc, seek *C.GstEvent, segment | ||||
| 	caller := elem.(interface { | ||||
| 		PrepareSeekSegment(*GstBaseSrc, *gst.Event, *gst.Segment) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.PrepareSeekSegment(wrapGstBaseSrc(src), gst.FromGstEventUnsafe(unsafe.Pointer(seek)), gst.FromGstSegmentUnsafe(unsafe.Pointer(segment)))) | ||||
| 	return gboolean(caller.PrepareSeekSegment(wrapGstBaseSrc(src), gst.FromGstEventUnsafeNone(unsafe.Pointer(seek)), gst.FromGstSegmentUnsafe(unsafe.Pointer(segment)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSrcDoSeek | ||||
| @@ -152,7 +152,7 @@ func goGstBaseSrcQuery(src *C.GstBaseSrc, query *C.GstQuery) C.gboolean { | ||||
| 	caller := elem.(interface { | ||||
| 		Query(*GstBaseSrc, *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.Query(wrapGstBaseSrc(src), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(caller.Query(wrapGstBaseSrc(src), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSrcEvent | ||||
| @@ -161,7 +161,7 @@ func goGstBaseSrcEvent(src *C.GstBaseSrc, event *C.GstEvent) C.gboolean { | ||||
| 	caller := elem.(interface { | ||||
| 		Event(*GstBaseSrc, *gst.Event) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.Event(wrapGstBaseSrc(src), gst.FromGstEventUnsafe(unsafe.Pointer(event)))) | ||||
| 	return gboolean(caller.Event(wrapGstBaseSrc(src), gst.FromGstEventUnsafeNone(unsafe.Pointer(event)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseSrcCreate | ||||
| @@ -196,5 +196,5 @@ func goGstBaseSrcFill(src *C.GstBaseSrc, offset C.guint64, size C.guint, buf *C. | ||||
| 	caller := elem.(interface { | ||||
| 		Fill(*GstBaseSrc, uint64, uint, *gst.Buffer) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(caller.Fill(wrapGstBaseSrc(src), uint64(offset), uint(size), gst.FromGstBufferUnsafe(unsafe.Pointer(buf)))) | ||||
| 	return C.GstFlowReturn(caller.Fill(wrapGstBaseSrc(src), uint64(offset), uint(size), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)))) | ||||
| } | ||||
|   | ||||
| @@ -50,7 +50,7 @@ func ToGstBaseTransform(obj interface{}) *GstBaseTransform { | ||||
|  | ||||
| // wrapGstBaseTransform wraps the given unsafe.Pointer in a GstBaseSrc instance. | ||||
| func wrapGstBaseTransform(obj *C.GstBaseTransform) *GstBaseTransform { | ||||
| 	return &GstBaseTransform{gst.FromGstElementUnsafe(unsafe.Pointer(obj))} | ||||
| 	return &GstBaseTransform{gst.FromGstElementUnsafeNone(unsafe.Pointer(obj))} | ||||
| } | ||||
|  | ||||
| // Instance returns the underlying C GstBaseTransform instance | ||||
| @@ -63,12 +63,19 @@ func (g *GstBaseTransform) GetAllocator() (*gst.Allocator, *gst.AllocationParams | ||||
| 	var allocParams C.GstAllocationParams | ||||
| 	var allocator *C.GstAllocator | ||||
| 	C.gst_base_transform_get_allocator(g.Instance(), &allocator, &allocParams) | ||||
| 	return gst.FromGstAllocatorUnsafe(unsafe.Pointer(allocator)), gst.FromGstAllocationParamsUnsafe(unsafe.Pointer(&allocParams)) | ||||
| 	if allocator == nil { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	return gst.FromGstAllocatorUnsafeFull(unsafe.Pointer(allocator)), gst.FromGstAllocationParamsUnsafe(unsafe.Pointer(&allocParams)) | ||||
| } | ||||
|  | ||||
| // GetBufferPool returns the BufferPool used by this transform. Unref after usage. | ||||
| func (g *GstBaseTransform) GetBufferPool() *gst.BufferPool { | ||||
| 	return gst.FromGstBufferPoolUnsafe(unsafe.Pointer(C.gst_base_transform_get_buffer_pool(g.Instance()))) | ||||
| 	pool := C.gst_base_transform_get_buffer_pool(g.Instance()) | ||||
| 	if pool == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstBufferPoolUnsafeFull(unsafe.Pointer(pool)) | ||||
| } | ||||
|  | ||||
| // IsInPlace returns if the transform is configured to do in-place transform. | ||||
| @@ -88,7 +95,7 @@ func (g *GstBaseTransform) IsQoSEnabled() bool { | ||||
|  | ||||
| // QueuedBuffer returns the currentl queued buffer. | ||||
| func (g *GstBaseTransform) QueuedBuffer() *gst.Buffer { | ||||
| 	return gst.FromGstBufferUnsafe(unsafe.Pointer(g.Instance().queued_buf)) | ||||
| 	return gst.FromGstBufferUnsafeNone(unsafe.Pointer(g.Instance().queued_buf)) | ||||
| } | ||||
|  | ||||
| // SINCE 1.18 | ||||
| @@ -164,12 +171,12 @@ func (g *GstBaseTransform) SetTransformIPOnPassthrough(enabled bool) { | ||||
|  | ||||
| // SinkPad returns the sink pad object for this element. | ||||
| func (g *GstBaseTransform) SinkPad() *gst.Pad { | ||||
| 	return gst.FromGstPadUnsafe(unsafe.Pointer(g.Instance().sinkpad)) | ||||
| 	return gst.FromGstPadUnsafeNone(unsafe.Pointer(g.Instance().sinkpad)) | ||||
| } | ||||
|  | ||||
| // SrcPad returns the src pad object for this element. | ||||
| func (g *GstBaseTransform) SrcPad() *gst.Pad { | ||||
| 	return gst.FromGstPadUnsafe(unsafe.Pointer(g.Instance().srcpad)) | ||||
| 	return gst.FromGstPadUnsafeNone(unsafe.Pointer(g.Instance().srcpad)) | ||||
| } | ||||
|  | ||||
| // UpdateQoS sets the QoS parameters in the transform. This function is called internally when a QOS event is received | ||||
|   | ||||
| @@ -18,7 +18,7 @@ func goGstBaseTransformAcceptCaps(self *C.GstBaseTransform, direction C.GstPadDi | ||||
| 	caller := elem.(interface { | ||||
| 		AcceptCaps(self *GstBaseTransform, direction gst.PadDirection, caps *gst.Caps) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.AcceptCaps(wrapGstBaseTransform(self), gst.PadDirection(direction), gst.FromGstCapsUnsafe(unsafe.Pointer(caps)))) | ||||
| 	return gboolean(caller.AcceptCaps(wrapGstBaseTransform(self), gst.PadDirection(direction), gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformBeforeTransform | ||||
| @@ -27,7 +27,7 @@ func goGstBaseTransformBeforeTransform(self *C.GstBaseTransform, buffer *C.GstBu | ||||
| 	caller := elem.(interface { | ||||
| 		BeforeTransform(self *GstBaseTransform, buffer *gst.Buffer) | ||||
| 	}) | ||||
| 	caller.BeforeTransform(wrapGstBaseTransform(self), gst.FromGstBufferUnsafe(unsafe.Pointer(buffer))) | ||||
| 	caller.BeforeTransform(wrapGstBaseTransform(self), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buffer))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformCopyMetadata | ||||
| @@ -36,7 +36,7 @@ func goGstBaseTransformCopyMetadata(self *C.GstBaseTransform, input, outbuf *C.G | ||||
| 	caller := elem.(interface { | ||||
| 		CopyMetadata(self *GstBaseTransform, input, output *gst.Buffer) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.CopyMetadata(wrapGstBaseTransform(self), gst.FromGstBufferUnsafe(unsafe.Pointer(input)), gst.FromGstBufferUnsafe(unsafe.Pointer(outbuf)))) | ||||
| 	return gboolean(caller.CopyMetadata(wrapGstBaseTransform(self), gst.FromGstBufferUnsafeNone(unsafe.Pointer(input)), gst.FromGstBufferUnsafeNone(unsafe.Pointer(outbuf)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformDecideAllocation | ||||
| @@ -45,7 +45,7 @@ func goGstBaseTransformDecideAllocation(self *C.GstBaseTransform, query *C.GstQu | ||||
| 	caller := elem.(interface { | ||||
| 		DecideAllocation(self *GstBaseTransform, query *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.DecideAllocation(wrapGstBaseTransform(self), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(caller.DecideAllocation(wrapGstBaseTransform(self), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformFilterMeta | ||||
| @@ -56,7 +56,7 @@ func goGstBaseTransformFilterMeta(self *C.GstBaseTransform, query *C.GstQuery, a | ||||
| 	}) | ||||
| 	return gboolean(caller.FilterMeta( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.FromGstQueryUnsafe(unsafe.Pointer(query)), | ||||
| 		gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)), | ||||
| 		glib.Type(api), | ||||
| 		gst.FromGstStructureUnsafe(unsafe.Pointer(params)), | ||||
| 	)) | ||||
| @@ -69,8 +69,8 @@ func goGstBaseTransformFixateCaps(self *C.GstBaseTransform, direction C.GstPadDi | ||||
| 		FixateCaps(self *GstBaseTransform, directon gst.PadDirection, caps *gst.Caps, othercaps *gst.Caps) *gst.Caps | ||||
| 	}) | ||||
|  | ||||
| 	wrappedCaps := gst.FromGstCapsUnsafe(unsafe.Pointer(caps)) | ||||
| 	wrappedOther := gst.FromGstCapsUnsafe(unsafe.Pointer(othercaps)) | ||||
| 	wrappedCaps := gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps)) | ||||
| 	wrappedOther := gst.FromGstCapsUnsafeNone(unsafe.Pointer(othercaps)) | ||||
| 	defer wrappedOther.Unref() | ||||
|  | ||||
| 	fixated := caller.FixateCaps(wrapGstBaseTransform(self), gst.PadDirection(direction), wrappedCaps, wrappedOther) | ||||
| @@ -99,7 +99,7 @@ func goGstBaseTransformGetUnitSize(self *C.GstBaseTransform, caps *C.GstCaps, si | ||||
| 	caller := elem.(interface { | ||||
| 		GetUnitSize(self *GstBaseTransform, caps *gst.Caps) (ok bool, size int64) | ||||
| 	}) | ||||
| 	ok, retsize := caller.GetUnitSize(wrapGstBaseTransform(self), gst.FromGstCapsUnsafe(unsafe.Pointer(caps))) | ||||
| 	ok, retsize := caller.GetUnitSize(wrapGstBaseTransform(self), gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps))) | ||||
| 	if ok { | ||||
| 		*size = C.gsize(retsize) | ||||
| 	} | ||||
| @@ -112,7 +112,7 @@ func goGstBaseTransformPrepareOutputBuffer(self *C.GstBaseTransform, input *C.Gs | ||||
| 	caller := elem.(interface { | ||||
| 		PrepareOutputBuffer(self *GstBaseTransform, input *gst.Buffer) (gst.FlowReturn, *gst.Buffer) | ||||
| 	}) | ||||
| 	ret, out := caller.PrepareOutputBuffer(wrapGstBaseTransform(self), gst.FromGstBufferUnsafe(unsafe.Pointer(input))) | ||||
| 	ret, out := caller.PrepareOutputBuffer(wrapGstBaseTransform(self), gst.FromGstBufferUnsafeNone(unsafe.Pointer(input))) | ||||
| 	if out != nil { | ||||
| 		C.memcpy(unsafe.Pointer(*outbuf), unsafe.Pointer(out.Instance()), C.sizeof_GstBuffer) | ||||
| 	} | ||||
| @@ -125,7 +125,7 @@ func goGstBaseTransformProposeAllocation(self *C.GstBaseTransform, decide, query | ||||
| 	caller := elem.(interface { | ||||
| 		ProposeAllocation(self *GstBaseTransform, decideQuery, query *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.ProposeAllocation(wrapGstBaseTransform(self), gst.FromGstQueryUnsafe(unsafe.Pointer(decide)), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(caller.ProposeAllocation(wrapGstBaseTransform(self), gst.FromGstQueryUnsafeNone(unsafe.Pointer(decide)), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformQuery | ||||
| @@ -134,7 +134,7 @@ func goGstBaseTransformQuery(self *C.GstBaseTransform, direction C.GstPadDirecti | ||||
| 	caller := elem.(interface { | ||||
| 		Query(self *GstBaseTransform, direction gst.PadDirection, query *gst.Query) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.Query(wrapGstBaseTransform(self), gst.PadDirection(direction), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(caller.Query(wrapGstBaseTransform(self), gst.PadDirection(direction), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformSetCaps | ||||
| @@ -145,8 +145,8 @@ func goGstBaseTransformSetCaps(self *C.GstBaseTransform, incaps, outcaps *C.GstC | ||||
| 	}) | ||||
| 	return gboolean(caller.SetCaps( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.FromGstCapsUnsafe(unsafe.Pointer(incaps)), | ||||
| 		gst.FromGstCapsUnsafe(unsafe.Pointer(outcaps)), | ||||
| 		gst.FromGstCapsUnsafeNone(unsafe.Pointer(incaps)), | ||||
| 		gst.FromGstCapsUnsafeNone(unsafe.Pointer(outcaps)), | ||||
| 	)) | ||||
| } | ||||
|  | ||||
| @@ -156,7 +156,7 @@ func goGstBaseTransformSinkEvent(self *C.GstBaseTransform, event *C.GstEvent) C. | ||||
| 	caller := elem.(interface { | ||||
| 		SinkEvent(self *GstBaseTransform, event *gst.Event) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.SinkEvent(wrapGstBaseTransform(self), gst.FromGstEventUnsafe(unsafe.Pointer(event)))) | ||||
| 	return gboolean(caller.SinkEvent(wrapGstBaseTransform(self), gst.FromGstEventUnsafeNone(unsafe.Pointer(event)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformSrcEvent | ||||
| @@ -165,7 +165,7 @@ func goGstBaseTransformSrcEvent(self *C.GstBaseTransform, event *C.GstEvent) C.g | ||||
| 	caller := elem.(interface { | ||||
| 		SrcEvent(self *GstBaseTransform, event *gst.Event) bool | ||||
| 	}) | ||||
| 	return gboolean(caller.SrcEvent(wrapGstBaseTransform(self), gst.FromGstEventUnsafe(unsafe.Pointer(event)))) | ||||
| 	return gboolean(caller.SrcEvent(wrapGstBaseTransform(self), gst.FromGstEventUnsafeNone(unsafe.Pointer(event)))) | ||||
| } | ||||
|  | ||||
| //export goGstBaseTransformStart | ||||
| @@ -195,7 +195,7 @@ func goGstBaseTransformSubmitInputBuffer(self *C.GstBaseTransform, isDiscont C.g | ||||
| 	return C.GstFlowReturn(caller.SubmitInputBuffer( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gobool(isDiscont), | ||||
| 		gst.FromGstBufferUnsafe(unsafe.Pointer(input)), | ||||
| 		gst.FromGstBufferUnsafeNone(unsafe.Pointer(input)), | ||||
| 	)) | ||||
| } | ||||
|  | ||||
| @@ -207,8 +207,8 @@ func goGstBaseTransformTransform(self *C.GstBaseTransform, inbuf, outbuf *C.GstB | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(caller.Transform( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.FromGstBufferUnsafe(unsafe.Pointer(inbuf)), | ||||
| 		gst.FromGstBufferUnsafe(unsafe.Pointer(outbuf)), | ||||
| 		gst.FromGstBufferUnsafeNone(unsafe.Pointer(inbuf)), | ||||
| 		gst.FromGstBufferUnsafeNone(unsafe.Pointer(outbuf)), | ||||
| 	)) | ||||
| } | ||||
|  | ||||
| @@ -221,8 +221,8 @@ func goGstBaseTransformTransformCaps(self *C.GstBaseTransform, direction C.GstPa | ||||
| 	out := caller.TransformCaps( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.PadDirection(direction), | ||||
| 		gst.FromGstCapsUnsafe(unsafe.Pointer(caps)), | ||||
| 		gst.FromGstCapsUnsafe(unsafe.Pointer(filter)), | ||||
| 		gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps)), | ||||
| 		gst.FromGstCapsUnsafeNone(unsafe.Pointer(filter)), | ||||
| 	) | ||||
| 	if out == nil { | ||||
| 		return nil | ||||
| @@ -238,7 +238,7 @@ func goGstBaseTransformTransformIP(self *C.GstBaseTransform, buf *C.GstBuffer) C | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(caller.TransformIP( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.FromGstBufferUnsafe(unsafe.Pointer(buf)), | ||||
| 		gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)), | ||||
| 	)) | ||||
| } | ||||
|  | ||||
| @@ -250,9 +250,9 @@ func goGstBaseTransformTransformMeta(self *C.GstBaseTransform, outbuf *C.GstBuff | ||||
| 	}) | ||||
| 	return gboolean(caller.TransformMeta( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.FromGstBufferUnsafe(unsafe.Pointer(outbuf)), | ||||
| 		gst.FromGstBufferUnsafeNone(unsafe.Pointer(outbuf)), | ||||
| 		gst.FromGstMetaUnsafe(unsafe.Pointer(meta)), | ||||
| 		gst.FromGstBufferUnsafe(unsafe.Pointer(inbuf)), | ||||
| 		gst.FromGstBufferUnsafeNone(unsafe.Pointer(inbuf)), | ||||
| 	)) | ||||
| } | ||||
|  | ||||
| @@ -265,9 +265,9 @@ func goGstBaseTransformTransformSize(self *C.GstBaseTransform, direction C.GstPa | ||||
| 	ok, othersize := caller.TransformSize( | ||||
| 		wrapGstBaseTransform(self), | ||||
| 		gst.PadDirection(direction), | ||||
| 		gst.FromGstCapsUnsafe(unsafe.Pointer(caps)), | ||||
| 		gst.FromGstCapsUnsafeNone(unsafe.Pointer(caps)), | ||||
| 		int64(size), | ||||
| 		gst.FromGstCapsUnsafe(unsafe.Pointer(othercaps)), | ||||
| 		gst.FromGstCapsUnsafeNone(unsafe.Pointer(othercaps)), | ||||
| 	) | ||||
| 	if ok { | ||||
| 		*outsize = C.gsize(othersize) | ||||
|   | ||||
| @@ -115,14 +115,14 @@ func wrapCollectData(ptr *C.GstCollectData) *CollectData { return &CollectData{p | ||||
| func (c *CollectData) Instance() *C.GstCollectData { return c.ptr } | ||||
|  | ||||
| // Collect returns the owner CollectPads | ||||
| func (c *CollectData) Collect() *CollectPads { return wrapCollectPads(c.ptr.collect) } | ||||
| func (c *CollectData) Collect() *CollectPads { return wrapCollectPadsNone(c.ptr.collect) } | ||||
|  | ||||
| // Pad returns the pad managed by this data. | ||||
| func (c *CollectData) Pad() *gst.Pad { return gst.FromGstPadUnsafe(unsafe.Pointer(c.ptr.pad)) } | ||||
| func (c *CollectData) Pad() *gst.Pad { return gst.FromGstPadUnsafeNone(unsafe.Pointer(c.ptr.pad)) } | ||||
|  | ||||
| // Buffer returns the currently queued buffer. | ||||
| func (c *CollectData) Buffer() *gst.Buffer { | ||||
| 	return gst.FromGstBufferUnsafe(unsafe.Pointer(c.ptr.buffer)) | ||||
| 	return gst.FromGstBufferUnsafeNone(unsafe.Pointer(c.ptr.buffer)) | ||||
| } | ||||
|  | ||||
| // Pos returns the position in the buffer. | ||||
| @@ -158,12 +158,21 @@ type collectPadsFuncMap struct { | ||||
|  | ||||
| // NewCollectPads creates a new CollectPads instance. | ||||
| func NewCollectPads() *CollectPads { | ||||
| 	return wrapCollectPads(C.gst_collect_pads_new()) | ||||
| 	return wrapCollectPadsFull(C.gst_collect_pads_new()) | ||||
| } | ||||
|  | ||||
| func wrapCollectPads(ptr *C.GstCollectPads) *CollectPads { | ||||
| func wrapCollectPadsFull(ptr *C.GstCollectPads) *CollectPads { | ||||
| 	collect := &CollectPads{ | ||||
| 		Object:  gst.FromGstObjectUnsafe(unsafe.Pointer(ptr)), | ||||
| 		Object:  gst.FromGstObjectUnsafeFull(unsafe.Pointer(ptr)), | ||||
| 		funcMap: &collectPadsFuncMap{}, | ||||
| 	} | ||||
| 	collect.selfPtr = gopointer.Save(collect) | ||||
| 	return collect | ||||
| } | ||||
|  | ||||
| func wrapCollectPadsNone(ptr *C.GstCollectPads) *CollectPads { | ||||
| 	collect := &CollectPads{ | ||||
| 		Object:  gst.FromGstObjectUnsafeNone(unsafe.Pointer(ptr)), | ||||
| 		funcMap: &collectPadsFuncMap{}, | ||||
| 	} | ||||
| 	collect.selfPtr = gopointer.Save(collect) | ||||
| @@ -225,7 +234,7 @@ func (c *CollectPads) ClipRunningTime(data *CollectData, buf *gst.Buffer) (ret g | ||||
| 		nil, | ||||
| 	)) | ||||
| 	if goutbuf != nil { | ||||
| 		outbuf = gst.FromGstBufferUnsafe(unsafe.Pointer(goutbuf)) | ||||
| 		outbuf = gst.FromGstBufferUnsafeFull(unsafe.Pointer(goutbuf)) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
| @@ -262,7 +271,7 @@ func (c *CollectPads) Peek(data *CollectData) *gst.Buffer { | ||||
| 	if buf == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstBufferUnsafe(unsafe.Pointer(buf)) | ||||
| 	return gst.FromGstBufferUnsafeFull(unsafe.Pointer(buf)) | ||||
| } | ||||
|  | ||||
| // Pop the buffer currently queued in data. This function should be called with the pads STREAM_LOCK held, such | ||||
| @@ -272,7 +281,7 @@ func (c *CollectPads) Pop(data *CollectData) *gst.Buffer { | ||||
| 	if buf == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstBufferUnsafe(unsafe.Pointer(buf)) | ||||
| 	return gst.FromGstBufferUnsafeFull(unsafe.Pointer(buf)) | ||||
| } | ||||
|  | ||||
| // QueryDefault is the Default GstCollectPads query handling that elements should always chain up to to ensure | ||||
| @@ -293,7 +302,7 @@ func (c *CollectPads) ReadBuffer(data *CollectData, size uint) *gst.Buffer { | ||||
| 	if buf == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstBufferUnsafe(unsafe.Pointer(buf)) | ||||
| 	return gst.FromGstBufferUnsafeFull(unsafe.Pointer(buf)) | ||||
| } | ||||
|  | ||||
| // RemovePad removes a pad from the collection of collect pads. This function will also free the GstCollectData | ||||
| @@ -428,5 +437,5 @@ func (c *CollectPads) TakeBuffer(data *CollectData, size uint) *gst.Buffer { | ||||
| 	if buf == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstBufferUnsafe(unsafe.Pointer(buf)) | ||||
| 	return gst.FromGstBufferUnsafeFull(unsafe.Pointer(buf)) | ||||
| } | ||||
|   | ||||
| @@ -22,7 +22,7 @@ func goGstCollectPadsBufferFunc(pads *C.GstCollectPads, data *C.GstCollectData, | ||||
| 	var wrappedBuf *gst.Buffer | ||||
| 	var wrappedData *CollectData | ||||
| 	if buf != nil { | ||||
| 		wrappedBuf = gst.FromGstBufferUnsafe(unsafe.Pointer(buf)) | ||||
| 		wrappedBuf = gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)) | ||||
| 		defer wrappedBuf.Unref() | ||||
| 	} | ||||
| 	if data != nil { | ||||
| @@ -38,7 +38,7 @@ func goGstCollectPadsClipFunc(pads *C.GstCollectPads, data *C.GstCollectData, in | ||||
| 	collectPads := iface.(*CollectPads) | ||||
| 	f := collectPads.funcMap.clipFunc | ||||
|  | ||||
| 	buf := gst.FromGstBufferUnsafe(unsafe.Pointer(inbuf)) | ||||
| 	buf := gst.FromGstBufferUnsafeNone(unsafe.Pointer(inbuf)) | ||||
| 	defer buf.Unref() | ||||
|  | ||||
| 	ret, gooutbuf := f(collectPads, wrapCollectData(data), buf) | ||||
| @@ -64,7 +64,7 @@ func goGstCollectPadsEventFunc(pads *C.GstCollectPads, data *C.GstCollectData, e | ||||
| 	collectPads := iface.(*CollectPads) | ||||
| 	f := collectPads.funcMap.eventFunc | ||||
|  | ||||
| 	return gboolean(f(collectPads, wrapCollectData(data), gst.FromGstEventUnsafe(unsafe.Pointer(event)))) | ||||
| 	return gboolean(f(collectPads, wrapCollectData(data), gst.FromGstEventUnsafeNone(unsafe.Pointer(event)))) | ||||
| } | ||||
|  | ||||
| //export goGstCollectPadsFlushFunc | ||||
| @@ -91,5 +91,5 @@ func goGstCollectPadsQueryFunc(pads *C.GstCollectPads, data *C.GstCollectData, q | ||||
| 	collectPads := iface.(*CollectPads) | ||||
| 	f := collectPads.funcMap.queryFunc | ||||
|  | ||||
| 	return gboolean(f(collectPads, wrapCollectData(data), gst.FromGstQueryUnsafe(unsafe.Pointer(query)))) | ||||
| 	return gboolean(f(collectPads, wrapCollectData(data), gst.FromGstQueryUnsafeNone(unsafe.Pointer(query)))) | ||||
| } | ||||
|   | ||||
| @@ -28,7 +28,7 @@ func ToGstPushSrc(obj interface{}) *GstPushSrc { | ||||
|  | ||||
| // wrapGstPushSrc wraps the given unsafe.Pointer in a GstPushSrc instance. | ||||
| func wrapGstPushSrc(obj *C.GstPushSrc) *GstPushSrc { | ||||
| 	return &GstPushSrc{&GstBaseSrc{gst.FromGstElementUnsafe(unsafe.Pointer(obj))}} | ||||
| 	return &GstPushSrc{&GstBaseSrc{gst.FromGstElementUnsafeNone(unsafe.Pointer(obj))}} | ||||
| } | ||||
|  | ||||
| // Instance returns the underlying C GstBaseSrc instance | ||||
|   | ||||
| @@ -43,5 +43,5 @@ func goGstPushSrcFill(src *C.GstPushSrc, buf *C.GstBuffer) C.GstFlowReturn { | ||||
| 	caller := glib.FromObjectUnsafePrivate(unsafe.Pointer(src)).(interface { | ||||
| 		Fill(*GstPushSrc, *gst.Buffer) gst.FlowReturn | ||||
| 	}) | ||||
| 	return C.GstFlowReturn(caller.Fill(wrapGstPushSrc(src), gst.FromGstBufferUnsafe(unsafe.Pointer(buf)))) | ||||
| 	return C.GstFlowReturn(caller.Fill(wrapGstPushSrc(src), gst.FromGstBufferUnsafeNone(unsafe.Pointer(buf)))) | ||||
| } | ||||
|   | ||||
| @@ -18,7 +18,7 @@ func TypeFindHelper(pad *gst.Pad, size uint64) *gst.Caps { | ||||
| 	if caps == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstCapsUnsafe(unsafe.Pointer(caps)) | ||||
| 	return gst.FromGstCapsUnsafeFull(unsafe.Pointer(caps)) | ||||
| } | ||||
|  | ||||
| // TypeFindHelperForBuffer tries to find what type of data is contained in the given GstBuffer, | ||||
| @@ -42,7 +42,7 @@ func TypeFindHelperForBuffer(obj *gst.Object, buffer *gst.Buffer) (*gst.Caps, gs | ||||
| 	if caps == nil { | ||||
| 		return nil, gst.TypeFindProbability(prob) | ||||
| 	} | ||||
| 	return gst.FromGstCapsUnsafe(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| 	return gst.FromGstCapsUnsafeFull(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| } | ||||
|  | ||||
| // TypeFindHelperForBufferWithExtension ries to find what type of data is contained in the given GstBuffer, | ||||
| @@ -73,7 +73,7 @@ func TypeFindHelperForBufferWithExtension(obj *gst.Object, buffer *gst.Buffer, e | ||||
| 	if caps == nil { | ||||
| 		return nil, gst.TypeFindProbability(prob) | ||||
| 	} | ||||
| 	return gst.FromGstCapsUnsafe(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| 	return gst.FromGstCapsUnsafeFull(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| } | ||||
|  | ||||
| // TypeFindHelperForData tries to find what type of data is contained in the given data, | ||||
| @@ -97,7 +97,7 @@ func TypeFindHelperForData(obj *gst.Object, data []byte) (*gst.Caps, gst.TypeFin | ||||
| 	if caps == nil { | ||||
| 		return nil, gst.TypeFindProbability(prob) | ||||
| 	} | ||||
| 	return gst.FromGstCapsUnsafe(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| 	return gst.FromGstCapsUnsafeFull(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| } | ||||
|  | ||||
| // TypeFindHelperForDataWithExtension ries to find what type of data is contained in the given data, | ||||
| @@ -128,7 +128,7 @@ func TypeFindHelperForDataWithExtension(obj *gst.Object, data []byte, extension | ||||
| 	if caps == nil { | ||||
| 		return nil, gst.TypeFindProbability(prob) | ||||
| 	} | ||||
| 	return gst.FromGstCapsUnsafe(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| 	return gst.FromGstCapsUnsafeFull(unsafe.Pointer(caps)), gst.TypeFindProbability(prob) | ||||
| } | ||||
|  | ||||
| // TypeFindHelperForExtension tries to find the best GstCaps associated with extension. | ||||
| @@ -148,5 +148,5 @@ func TypeFindHelperForExtension(obj *gst.Object, extension string) *gst.Caps { | ||||
| 	if caps == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return gst.FromGstCapsUnsafe(unsafe.Pointer(caps)) | ||||
| 	return gst.FromGstCapsUnsafeFull(unsafe.Pointer(caps)) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Avi Zimmerman
					Avi Zimmerman