dont use panics in examples

This commit is contained in:
tinyzimmer
2020-10-03 15:58:29 +03:00
parent 80b29100fa
commit d869a6bea3

View File

@@ -10,22 +10,22 @@ import (
"github.com/tinyzimmer/go-gst/gst/app" "github.com/tinyzimmer/go-gst/gst/app"
) )
func createPipeline() *gst.Pipeline { func createPipeline() (*gst.Pipeline, error) {
gst.Init(nil) gst.Init(nil)
pipeline, err := gst.NewPipeline("") pipeline, err := gst.NewPipeline("")
if err != nil { if err != nil {
panic(err) return nil, err
} }
src, err := gst.NewElement("audiotestsrc") src, err := gst.NewElement("audiotestsrc")
if err != nil { if err != nil {
panic(err) return nil, err
} }
sink, err := app.NewAppSink() sink, err := app.NewAppSink()
if err != nil { if err != nil {
panic(err) return nil, err
} }
pipeline.AddMany(src, sink.Element) pipeline.AddMany(src, sink.Element)
@@ -78,7 +78,7 @@ func createPipeline() *gst.Pipeline {
}, },
}) })
return pipeline return pipeline, nil
} }
func mainLoop(pipeline *gst.Pipeline) error { func mainLoop(pipeline *gst.Pipeline) error {
@@ -106,7 +106,11 @@ func mainLoop(pipeline *gst.Pipeline) error {
func main() { func main() {
examples.Run(func() error { examples.Run(func() error {
pipeline := createPipeline() var pipeline *gst.Pipeline
var err error
if pipeline, err = createPipeline(); err != nil {
return err
}
return mainLoop(pipeline) return mainLoop(pipeline)
}) })