Re: [pulseaudio-discuss] [PATCH] loopback: Add a modarg for disabling remixing.

2011-05-15 Thread Colin Guthrie
Thought this one may be coming :)

In my tree now.

Cheers

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] loopback: Add a modarg for disabling remixing.

2011-05-15 Thread Colin Guthrie
'Twas brillig, and Paul Menzel at 15/05/11 23:17 did gyre and gimble:
 Am Sonntag, den 15.05.2011, 15:12 +0100 schrieb Colin Guthrie:
 Thought this one may be coming :)

 In my tree now.
 
 Does some documentation need to be added?

Yeah the modules page on the wiki could always do with updating (there
are several undocumented modules there too).

It would be really nice to be able to create documentation automatically
from the source tree... but that's a larger project!

Col
-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] loopback: Add a modarg for disabling remixing.

2011-05-14 Thread mar...@saepia.net
Wow, thank you!

m.

2011/5/14 Tanu Kaskinen ta...@iki.fi:
 ---
  src/modules/module-loopback.c |   18 +-
  1 files changed, 13 insertions(+), 5 deletions(-)

 diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c
 index 9a8640b..024337f 100644
 --- a/src/modules/module-loopback.c
 +++ b/src/modules/module-loopback.c
 @@ -59,7 +59,8 @@ PA_MODULE_USAGE(
         sink_input_role=media.role for the sink input 
         source_output_role=media.role for the source output 
         source_dont_move=boolean 
 -        sink_dont_move=boolean);
 +        sink_dont_move=boolean 
 +        remix=remix channels? );

  #define DEFAULT_LATENCY_MSEC 200

 @@ -120,6 +121,7 @@ static const char* const valid_modargs[] = {
     source_output_role,
     source_dont_move,
     sink_dont_move,
 +    remix,
     NULL,
  };

 @@ -407,7 +409,7 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t 
 nbytes, pa_memchunk *chunk
     u-in_pop = FALSE;

     if (pa_memblockq_peek(u-memblockq, chunk)  0) {
 -        pa_log_info(Coud not peek into queue);
 +        pa_log_info(Could not peek into queue);
         return -1;
     }

 @@ -645,6 +647,7 @@ int pa__init(pa_module *m) {
     pa_memchunk silence;
     uint32_t adjust_time_sec;
     const char *n;
 +    pa_bool_t remix = TRUE;

     pa_assert(m);

 @@ -663,6 +666,11 @@ int pa__init(pa_module *m) {
         goto fail;
     }

 +    if (pa_modargs_get_value_boolean(ma, remix, remix)  0) {
 +        pa_log(Invalid boolean remix parameter);
 +        goto fail;
 +    }
 +
     ss = sink-sample_spec;
     map = sink-channel_map;
     if (pa_modargs_get_sample_spec_and_channel_map(ma, ss, map, 
 PA_CHANNEL_MAP_DEFAULT)  0) {
 @@ -713,7 +721,7 @@ int pa__init(pa_module *m) {

     pa_sink_input_new_data_set_sample_spec(sink_input_data, ss);
     pa_sink_input_new_data_set_channel_map(sink_input_data, map);
 -    sink_input_data.flags = PA_SINK_INPUT_VARIABLE_RATE;
 +    sink_input_data.flags = PA_SINK_INPUT_VARIABLE_RATE | (remix ? 0 : 
 PA_SINK_INPUT_NO_REMIX);

     sink_dont_move = FALSE;
     if (pa_modargs_get_value_boolean(ma, sink_dont_move, sink_dont_move)  
 0) {
 @@ -764,8 +772,8 @@ int pa__init(pa_module *m) {
         pa_proplist_sets(source_output_data.proplist, 
 PA_PROP_MEDIA_ICON_NAME, n);

     pa_source_output_new_data_set_sample_spec(source_output_data, ss);
 -    pa_sink_input_new_data_set_channel_map(sink_input_data, map);
 -    source_output_data.flags = (pa_source_output_flags_t)0;
 +    pa_source_output_new_data_set_channel_map(source_output_data, map);
 +    source_output_data.flags = (remix ? 0 : PA_SOURCE_OUTPUT_NO_REMIX);

     source_dont_move = FALSE;
     if (pa_modargs_get_value_boolean(ma, source_dont_move, 
 source_dont_move)  0) {
 --
 1.7.5.1

 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss