rafael2k / darkice

DarkIce is a live audio streamer. It records audio from an audio interface (e.g. sound card), encodes it and sends it to a streaming server. This is the official development repository of Darkice.
http://www.darkice.org
200 stars 47 forks source link

darkice 1.1 pulseaudio 3.0 buffer issues #85

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. use pulseaudio 3.0 and load null sink
2. Configure darkice to use pulseaudio on null.monitor and stream to localhost
3. Start darkice with -v 10

What is the expected output? What do you see instead?
I expect no issues
instead I see "BufferedSink" messages immediately (see log below)
after some few seconds, "remaining" reaches "1" and stream skips and hicks.

What version of the product are you using? On what operating system?
darkice 1.1 on Ubuntu 13.04 64-bit streaming to icecast 2.3.3

Please provide any additional information below.

Debug log output from darkice:
03-May-2013 20:16:27 BufferedSink, new peak: 394
03-May-2013 20:16:27 BufferedSink, remaining: 81526
03-May-2013 20:16:27 BufferedSink, new peak: 785
03-May-2013 20:16:27 BufferedSink, remaining: 81135
03-May-2013 20:16:27 BufferedSink, new peak: 1163
03-May-2013 20:16:27 BufferedSink, remaining: 80757
03-May-2013 20:16:27 BufferedSink, new peak: 1534
03-May-2013 20:16:27 BufferedSink, remaining: 80386
03-May-2013 20:16:27 BufferedSink, new peak: 1904
03-May-2013 20:16:27 BufferedSink, remaining: 80016
[....]

As I am streaming to localhost, there cannotbe any network issues.

When I use darkice trunk (svn revision 510) with the exact same setup, there 
are no "BufferedSink" messages and stream works fine.

Sadly with svn trunk, darkice disconnects after about 2 hours of streaming, so 
this is no workaround for me.

Darkice Config:

[general]
duration = 0
bufferSecs = 3
reconnect = yes

[input]
device = pulseaudio
paSourceName = null.monitor
sampleRate = 44100
bitsPerSample = 16
channel = 2

[icecast2-0]
bitrateMode = cbr
format = mp3
bitrate = 128
quality = 0.7
channel = 2
server = 127.0.0.1
port = 8000
password = XXXXXXXXXXXXX
mountPoint = stream.mp3
public = no

Original issue reported on code.google.com by daniel.e...@gmail.com on 3 May 2013 at 7:02

GoogleCodeExporter commented 9 years ago
I now compiled a pulseaudio 2.1 and sadly the issue is still existing. So 
writing about pulseaudio 3.0 was misleading. Sorry...

Original comment by daniel.e...@gmail.com on 3 May 2013 at 7:58

GoogleCodeExporter commented 9 years ago
When I connect darkice to pulseaudio using alsa plugin (by setting "device = 
default" in darkice.cfg), then I still get a bunch of BufferedSinks messages 
(about 10 perhaps), then they stop appearing. Stream works fine then.

Seems that's my workaround for now, tho it's quite ugly. And I need to test for 
some days to be sure it's stable.

Original comment by daniel.e...@gmail.com on 4 May 2013 at 6:04

GoogleCodeExporter commented 9 years ago
I compiled and tested all revisions since r500. Did not take long. I found the 
causing issue to be resolved in r503, I guess it's the CastSink.cpp changes.

So it's up to you if you want to leave this issue open until the next release 
or if you want to close it.

My monologue ends here, sorry for the fuzz ;)

Original comment by daniel.e...@gmail.com on 4 May 2013 at 8:13

GoogleCodeExporter commented 9 years ago
Daniel, please join us in our maling list: 
http://www.freelists.org/list/darkice
I'll investigate the issue, thanks.

Original comment by rafael2k...@gmail.com on 14 May 2013 at 3:19

GoogleCodeExporter commented 9 years ago
Regression commited in 515 (for r503).
Thanks Daniel.

Original comment by rafael2k...@gmail.com on 14 May 2013 at 3:25

GoogleCodeExporter commented 9 years ago
I hope that was no misunderstanding.

Revision 500 (= Release 1.1) has the bug, while Revision 503 _fixes_ the bug. 
So there is no need for any changes, just perhaps leaving this bug report open, 
so people having this problem in version 1.1 know that it's already fixed in 
SVN and will be gone in next release.

Original comment by daniel.e...@gmail.com on 15 May 2013 at 7:25