mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
raop: Add back initial volume RTSP SET_PARAMETER request on connect
Regression introduced in commit 8c6407f: raop: Merge TCP and UDP code paths + refactoring Anyway, we need to determine if initial volume has to be setup before sending RECORD or after: - Setting it up *before* shouldn't be a problem: sink.c waits for CONNECT state, set the volume and client.c triggers RECORD only once he's got the SET_PARAMETER reply from server. - Setting it up *after* seems to be more difficult if we try not to send any audio before receiving the SET_PARAMETER reply form server. A solution may be to send SET_PARAMETER just after the RECORD server response is received and hope that it get processed by server during the 2sec latency/buffering time... Attached patch implement that last solution. Works for me, but I cannot guaranty it will with your hardware...
This commit is contained in:
parent
b81ceb6707
commit
cd09b88691
1 changed files with 5 additions and 0 deletions
|
|
@ -95,6 +95,8 @@ enum {
|
|||
|
||||
static void userdata_free(struct userdata *u);
|
||||
|
||||
static void sink_set_volume_cb(pa_sink *s);
|
||||
|
||||
static void raop_state_cb(pa_raop_state_t state, void *userdata) {
|
||||
struct userdata *u = userdata;
|
||||
|
||||
|
|
@ -228,6 +230,9 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
|
|||
/* Our stream has been suspended so we just flush it... */
|
||||
pa_rtpoll_set_timer_disabled(u->rtpoll);
|
||||
pa_raop_client_flush(u->raop);
|
||||
} else {
|
||||
/* Set the initial volume */
|
||||
sink_set_volume_cb(u->sink);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue