MCPcopy
hub / github.com/ebitengine/oto / start

Method start

driver_wasapi_windows.go:166–193  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

164}
165
166func (c *wasapiContext) start() error {
167 var cerr error
168 c.comThread.Run(func() {
169 if err := c.startOnCOMThread(); err != nil {
170 cerr = err
171 return
172 }
173 })
174 if cerr != nil {
175 return cerr
176 }
177
178 go func() {
179 if err := c.loop(); err != nil {
180 if !errors.Is(err, _AUDCLNT_E_DEVICE_INVALIDATED) && !errors.Is(err, _AUDCLNT_E_RESOURCES_INVALIDATED) && !errors.Is(err, errDeviceSwitched) {
181 c.err.TryStore(err)
182 return
183 }
184
185 if err := c.restart(); err != nil {
186 c.err.TryStore(err)
187 return
188 }
189 }
190 }()
191
192 return nil
193}
194
195func (c *wasapiContext) startOnCOMThread() (ferr error) {
196 if c.enumerator == nil {

Callers 2

newWASAPIContextFunction · 0.95
restartMethod · 0.95

Calls 5

startOnCOMThreadMethod · 0.95
loopMethod · 0.95
restartMethod · 0.95
RunMethod · 0.80
TryStoreMethod · 0.80

Tested by

no test coverage detected