Comments (3)
Hello! Thanks for the wonderful library!
Hej Zach! Happy to hear you like the library : )
I'm trying to Parse multiple .flac files concurrently where each file is being parsed by its own goroutine (not multiple goroutines parsing 1 file). Getting some flakey results because readBytes func uses a global buffer and is prone to data races.
Is there any harm not using this global buffer? Could make a slice of size n in the func itself - would allocate it on the stack up until a certain size I think.
This is the commit that introduced this: e03baec (I know it's pretty old :/ )
Definitely helpful that you dug up the commit which introduced the race condition. Thanks!
PR #57 should resolve this.
Could you check if #57 is enough to resolve your race conditions?
Cheers,
Robin
from flac.
Thank you @mewmew! Pulled the branch and can confirm it works as expected!
from flac.
Thank you @mewmew! Pulled the branch and can confirm it works as expected!
Wonderful. I'll merge PR #57 and tag the v1.0.8 release of the flac
library : )
from flac.
Related Issues (20)
- Implement LPC encoding of audio samples
- Any plans for replaygain scanning support? HOT 2
- Audio Compression HOT 7
- Convert problem in the flac2wav HOT 3
- Error when downloading package HOT 2
- Re-Implement the flac.Encode(f, stream) function HOT 5
- Sample with Rice parameter escape codes HOT 5
- Reason for using sized integer types in `StreamInfo` and `frame.Header` HOT 2
- Update seek API to use absolute rather than relative sample number HOT 2
- Flac plays slowly HOT 1
- `flac.parseStreamInfo` reports wrong type when first block is not `STREAMINFO` HOT 3
- FLAC decoder testbench HOT 7
- Last call on FLAC spec HOT 3
- IETF test cases - 3 of 64 FAIL (61 of 64 PASS) in flac.TestDecode HOT 6
- "frame.Frame.parseHeader: The flac library test cases do not yet include any audio files with block size 192." HOT 2
- IETF test cases - 1 of 64 FAIL (63 of 64 PASS) in frame.TestFrameHash (decoding audio samples) HOT 5
- proposal: move cmd example tools to external repository (to reduce external dependencies of flac)
- ci: replace Travis CI with Github actions for continuous build and test runs
- investigate why some encoding test cases are failing HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flac.