Ticket #49: pulseaudio-ignore-xrun.patch

File pulseaudio-ignore-xrun.patch, 1.5 kB (added by lf, 2 years ago)

Patch for ignoring xrun errors in module-tunnel.c

  • pulseaudio-0.9.5/src/modules/module-tunnel.c

    old new  
    108110 
    109111static void command_stream_killed(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata); 
    110112static void command_subscribe_event(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata); 
     113static void command_over_or_underflow(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata); 
    111114 
    112115#ifdef TUNNEL_SINK 
    113116static void command_request(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata); 
     
    120123    [PA_COMMAND_PLAYBACK_STREAM_KILLED] = command_stream_killed, 
    121124    [PA_COMMAND_RECORD_STREAM_KILLED] = command_stream_killed, 
    122125    [PA_COMMAND_SUBSCRIBE_EVENT] = command_subscribe_event,  
     126    [PA_COMMAND_OVERFLOW] = command_over_or_underflow, 
     127    [PA_COMMAND_UNDERFLOW] = command_over_or_underflow 
    123128}; 
    124129 
    125130struct userdata { 
     
    300306 
    301307#endif 
    302308 
     309static void command_over_or_underflow(pa_pdispatch *pd, uint32_t command, PA_GCC_UNUSED uint32_t tag, pa_tagstruct *t, void *userdata) { 
     310 
     311    pa_log("%sflow error occured on tunnel destination, ignoring", (command == PA_COMMAND_UNDERFLOW)?"under":"over"); 
     312} 
     313 
    303314static void stream_get_latency_callback(pa_pdispatch *pd, uint32_t command, PA_GCC_UNUSED uint32_t tag, pa_tagstruct *t, void *userdata) { 
    304315    struct userdata *u = userdata; 
    305316    pa_usec_t sink_usec, source_usec, transport_usec;