-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Static jitter buffer #34
base: master
Are you sure you want to change the base?
Conversation
…a static jitter buffer.
Hey Fouf, I just tried to merge this in to my fork and ran in to a missing function in the published gopus.
many thanks |
@dchote I still have this code kicking around, I can't vouch for it working or anything, so good luck!
This resides inside opus_nonshared.go inside the gopus directory. |
Awesome, thanks! |
I got this merged in to https://github.com/dchote/talkiepi & https://github.com/dchote/gumble Seems to be working as anticipated! Will do some heavier multi user testing tomorrow! |
@dchote why I still getting choppy sound? how to solve this problem? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fouf thanks for your contribution. There are a couple of issues I can see - I've left some comments
event := AudioPacket{ | ||
Client: c, | ||
Sender: user, | ||
if err := user.buffer.AddPacket(&jbAudioPacket{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is user.buffer
being initialised? I'm getting nil pointer dereference error here...
User: j.user, | ||
C: ch, | ||
} | ||
item.listener.OnAudioStream(&event) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This bit is broken. Creating the AudioPacket
channel and calling OnAudioStream()
should only happen once. The client has a goroutine running listening on the channel, so it doesn't make sense to be closing it every time the heap size goes to zero (which happens when nobody is speaking).
No description provided.