mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
Big pile of dependant changes:
* Change pa_memblockq to carry silence memchunk instead of memblock and adapt all users
* Add new call pa_sink_input_get_silence() to get the suitable silence block for a sink input
* Implement monitoring sources properly by adding a delay queue to even out rewinds
* Remove pa_{sink|source}_ping() becaused unnecessary these days and not used
* Fix naming of various rewind related functions. Downstream is now _request_rewind(), upstream is _process_rewind()
* Fix volume adjustments for a single stream in pa_sink_render()
* Properly handle prebuf-style buffer underruns in pa_sink_input
* Don't allow rewinding to more than the last underrun
* Rework default buffering metrics selection for native protocol
* New functions pa_memblockq_prebuf_active(), pa_memblockq_silence()
* add option "mixer_reset=" to module-alsa-sink
* Other cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2283 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
7556ef5bfc
commit
62e7bc17c4
20 changed files with 950 additions and 531 deletions
|
|
@ -313,7 +313,7 @@ static struct session *session_new(struct userdata *u, const pa_sdp_info *sdp_in
|
|||
char *c;
|
||||
pa_sink *sink;
|
||||
int fd = -1;
|
||||
pa_memblock *silence;
|
||||
pa_memchunk silence;
|
||||
pa_sink_input_new_data data;
|
||||
struct timeval now;
|
||||
|
||||
|
|
@ -371,10 +371,7 @@ static struct session *session_new(struct userdata *u, const pa_sdp_info *sdp_in
|
|||
s->sink_input->attach = sink_input_attach;
|
||||
s->sink_input->detach = sink_input_detach;
|
||||
|
||||
silence = pa_silence_memblock_new(
|
||||
s->userdata->module->core->mempool,
|
||||
&s->sink_input->sample_spec,
|
||||
pa_frame_align(pa_bytes_per_second(&s->sink_input->sample_spec)/128, &s->sink_input->sample_spec));
|
||||
pa_sink_input_get_silence(s->sink_input, &silence);
|
||||
|
||||
s->memblockq = pa_memblockq_new(
|
||||
0,
|
||||
|
|
@ -384,9 +381,9 @@ static struct session *session_new(struct userdata *u, const pa_sdp_info *sdp_in
|
|||
pa_bytes_per_second(&s->sink_input->sample_spec)/10+1,
|
||||
0,
|
||||
0,
|
||||
silence);
|
||||
&silence);
|
||||
|
||||
pa_memblock_unref(silence);
|
||||
pa_memblock_unref(silence.memblock);
|
||||
|
||||
pa_rtp_context_init_recv(&s->rtp_context, fd, pa_frame_size(&s->sdp_info.sample_spec));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue