mirror of
https://github.com/go-gst/go-gst.git
synced 2025-10-05 07:56:51 +08:00
dont sink reference on pads from iterators
This commit is contained in:
@@ -84,8 +84,6 @@ func (m *minioSrc) GetSize(self *base.GstBaseSrc) (bool, int64) {
|
||||
}
|
||||
|
||||
func (m *minioSrc) Start(self *base.GstBaseSrc) bool {
|
||||
m.state.mux.Lock()
|
||||
defer m.state.mux.Unlock()
|
||||
|
||||
if m.state.started {
|
||||
self.ErrorMessage(gst.DomainResource, gst.ResourceErrorFailed, "MinIOSrc is already started", "")
|
||||
@@ -102,6 +100,8 @@ func (m *minioSrc) Start(self *base.GstBaseSrc) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
m.state.mux.Lock()
|
||||
|
||||
if strings.HasPrefix(m.settings.accessKeyID, "env:") {
|
||||
spl := strings.Split(m.settings.accessKeyID, "env:")
|
||||
m.settings.accessKeyID = os.Getenv(spl[len(spl)-1])
|
||||
@@ -116,6 +116,7 @@ func (m *minioSrc) Start(self *base.GstBaseSrc) bool {
|
||||
if err != nil {
|
||||
self.ErrorMessage(gst.DomainResource, gst.ResourceErrorFailed,
|
||||
fmt.Sprintf("Failed to connect to MinIO endpoint %s", m.settings.endpoint), err.Error())
|
||||
m.state.mux.Unlock()
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -124,6 +125,7 @@ func (m *minioSrc) Start(self *base.GstBaseSrc) bool {
|
||||
if err != nil {
|
||||
self.ErrorMessage(gst.DomainResource, gst.ResourceErrorOpenRead,
|
||||
fmt.Sprintf("Failed to retrieve object %q from bucket %q", m.settings.key, m.settings.bucket), err.Error())
|
||||
m.state.mux.Unlock()
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -132,11 +134,13 @@ func (m *minioSrc) Start(self *base.GstBaseSrc) bool {
|
||||
if err != nil {
|
||||
self.ErrorMessage(gst.DomainResource, gst.ResourceErrorOpenRead,
|
||||
fmt.Sprintf("Failed to stat object %q in bucket %q: %s", m.settings.key, m.settings.bucket, err.Error()), "")
|
||||
m.state.mux.Unlock()
|
||||
return false
|
||||
}
|
||||
self.Log(srcCAT, gst.LevelInfo, fmt.Sprintf("%+v", m.state.objInfo))
|
||||
|
||||
m.state.started = true
|
||||
m.state.mux.Unlock()
|
||||
|
||||
self.StartComplete(gst.FlowOK)
|
||||
|
||||
|
@@ -1133,7 +1133,7 @@ func iteratorToPadSlice(iterator *C.GstIterator) ([]*Pad, error) {
|
||||
case C.GST_ITERATOR_OK:
|
||||
cPadVoid := C.g_value_get_object((*C.GValue)(gval))
|
||||
cPad := (*C.GstPad)(cPadVoid)
|
||||
pads = append(pads, FromGstPadUnsafeFull(unsafe.Pointer(cPad)))
|
||||
pads = append(pads, wrapPad(toGObject(unsafe.Pointer(cPad))))
|
||||
C.g_value_reset((*C.GValue)(gval))
|
||||
default:
|
||||
return nil, errors.New("Pad iterator failed")
|
||||
|
Reference in New Issue
Block a user