mirror of
https://github.com/go-gst/go-gst.git
synced 2025-10-01 06:12:07 +08:00
31 lines
735 B
Go
31 lines
735 B
Go
package base
|
|
|
|
/*
|
|
#include "gst.go.h"
|
|
*/
|
|
import "C"
|
|
|
|
import (
|
|
"github.com/go-gst/go-glib/glib"
|
|
"github.com/go-gst/go-gst/gst"
|
|
)
|
|
|
|
// GstPushSrc represents a GstBaseSrc.
|
|
type GstPushSrc struct{ *GstBaseSrc }
|
|
|
|
// ToGstPushSrc returns a GstPushSrc object for the given object.
|
|
func ToGstPushSrc(obj interface{}) *GstPushSrc {
|
|
switch obj := obj.(type) {
|
|
case *gst.Object:
|
|
return &GstPushSrc{&GstBaseSrc{&gst.Element{Object: obj}}}
|
|
case *glib.Object:
|
|
return &GstPushSrc{&GstBaseSrc{&gst.Element{Object: &gst.Object{InitiallyUnowned: &glib.InitiallyUnowned{Object: obj}}}}}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Instance returns the underlying C GstBaseSrc instance
|
|
func (g *GstPushSrc) Instance() *C.GstPushSrc {
|
|
return C.toGstPushSrc(g.Unsafe())
|
|
}
|