diff options
| author | Lennart Poettering <lennart@poettering.net> | 2009-08-15 00:05:17 +0200 | 
|---|---|---|
| committer | Lennart Poettering <lennart@poettering.net> | 2009-08-15 00:05:17 +0200 | 
| commit | e53d2fc6b57f90d937f2680fa56461d4042de87a (patch) | |
| tree | e316eb678d2715f254a54224ee746b3cf19a7b8d /src | |
| parent | 0989be13f6b5f71872f381fe2b5a7379702f20bc (diff) | |
native: handle moving() callback with NULL destination properly
Diffstat (limited to 'src')
| -rw-r--r-- | src/pulsecore/protocol-native.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index 03372204..a6124788 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -762,6 +762,7 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata,          return -1;      switch (code) { +          case PLAYBACK_STREAM_MESSAGE_REQUEST_DATA: {              pa_tagstruct *t;              int l = 0; @@ -1143,7 +1144,6 @@ static void playback_stream_request_bytes(playback_stream *s) {          pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_REQUEST_DATA, NULL, 0, NULL, NULL);  } -  /* Called from main context */  static void playback_stream_send_killed(playback_stream *p) {      pa_tagstruct *t; @@ -1617,6 +1617,9 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {      s = PLAYBACK_STREAM(i->userdata);      playback_stream_assert_ref(s); +    if (!dest) +        return; +      fix_playback_buffer_attr(s);      pa_memblockq_apply_attr(s->memblockq, &s->buffer_attr);      pa_memblockq_get_attr(s->memblockq, &s->buffer_attr); @@ -1752,6 +1755,9 @@ static void source_output_moving_cb(pa_source_output *o, pa_source *dest) {      s = RECORD_STREAM(o->userdata);      record_stream_assert_ref(s); +    if (!dest) +        return; +      fix_record_buffer_attr_pre(s);      pa_memblockq_set_maxlength(s->memblockq, s->buffer_attr.maxlength);      pa_memblockq_get_attr(s->memblockq, &s->buffer_attr);  | 
