Hi,

What else are needed to fix the bugs completely since you said this is just 
part of fix?

Peter



> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Sami Sirkia
> Sent: Tuesday, October 26, 2010 4:02 PM
> To: [email protected]
> Subject: [meego-commits] 8834: Changes to
> Trunk:Testing/pulseaudio-modules-meego
> 
> Hi,
> I have made the following changes to pulseaudio-modules-meego in project
> Trunk:Testing. Please review and accept ASAP.
> 
> Thank You,
> Sami Sirkia
> 
> [This message was auto-generated]
> 
> ---
> 
> Request #8834:
> 
>   submit:   home:sami.sirkia/pulseaudio-modules-meego(r3) ->
> Trunk:Testing/pulseaudio-modules-meego
> 
> 
> Message:
>     * Thu Oct 26 2010 Jouni Peltonen <[email protected]> -
> 0.9.21.0.20100915
> - Cmtspeech module patch changed to include alsa_sink_old primary and
> alternative
>   buffer switching. Part of the fix for BMC#8423, BMC#8428 and BMC#8605.
> 
> State:   new          2010-10-26T01:01:47 sami.sirkia
> Comment: None
> 
> 
> 
> changes files:
> --------------
> --- pulseaudio-modules-meego.changes
> +++ pulseaudio-modules-meego.changes
> @@ -0,0 +1,4 @@
> +* Thu Oct 26 2010 Jouni Peltonen <[email protected]> -
> 0.9.21.0.20100915
> +- Cmtspeech module patch changed to include alsa_sink_old primary and
> alternative
> +  buffer switching. Part of the fix for BMC#8423, BMC#8428 and BMC#8605.
> +
> 
> spec files:
> -----------
> 
> other changes:
> --------------
> 
> ++++++ pulseaudio-modules-meego-cmtspeech-ofono.patch
> --- pulseaudio-modules-meego-cmtspeech-ofono.patch
> +++ pulseaudio-modules-meego-cmtspeech-ofono.patch
> @@ -1,41 +1,54 @@
>  --- a/src/cmtspeech/cmtspeech-connection.h
>  +++ b/src/cmtspeech/cmtspeech-connection.h
> -@@ -35,6 +35,9 @@
> +@@ -35,6 +35,11 @@
>   #define CMTSPEECH_DBUS_PHONE_SSC_STATE_IF
> "com.nokia.phone.SSC"
>   #define CMTSPEECH_DBUS_PHONE_SSC_STATE_SIG
> "modem_state_changed_ind"
> 
> -+#define OFONO_DBUS_VOICECALLMANAGER_IF
> "org.ofono.VoiceCallManager"
> -+#define OFONO_DBUS_VOICECALLMANAGER_CHANGE_SIG
> "PropertyChanged"
> ++#define OFONO_DBUS_VOICECALL_IF         "org.ofono.VoiceCall"
> ++#define OFONO_DBUS_VOICECALL_CHANGE_SIG "PropertyChanged"
> ++#define ALSA_OLD_ALTERNATIVE_PROP
> "x-maemo.alsa_sink.buffers=alternative"
> ++#define ALSA_OLD_PRIMARY_PROP
> "x-maemo.alsa_sink.buffers=primary"
>  +
>   #include <cmtspeech_msgs.h>
> 
>   typedef cmtspeech_buffer_t cmtspeech_dl_buf_t;
>  --- a/src/cmtspeech/cmtspeech-connection.c
>  +++ b/src/cmtspeech/cmtspeech-connection.c
> -@@ -818,6 +818,40 @@
> +@@ -830,6 +830,51 @@
>                   }
>               }
>           }
> -+    } else if (dbus_message_is_signal(msg,
> OFONO_DBUS_VOICECALLMANAGER_IF,
> OFONO_DBUS_VOICECALLMANAGER_CHANGE_SIG)) {
> -+        pa_log_debug("Received voicecallmanager change");
> ++    } else if (dbus_message_is_signal(msg, OFONO_DBUS_VOICECALL_IF,
> OFONO_DBUS_VOICECALL_CHANGE_SIG)) {
> ++        pa_log_debug("Received voicecall change");
>  +        if (dbus_message_iter_init(msg, &args) == TRUE) {
>  +          if ((type = dbus_message_iter_get_arg_type(&args)) ==
> DBUS_TYPE_STRING) {
>  +            const char* callstr;
>  +            dbus_message_iter_get_basic(&args,&callstr);
> -+            if (strcmp(callstr,"Calls") == 0) {
> -+              pa_log_debug("Received voicecallmanager Calls array
> change");
> ++            if (strcmp(callstr,"State") == 0) {
> ++              pa_log_debug("Received voicecall state change");
>  +              if (dbus_message_iter_next (&args) == TRUE) {
> -+                DBusMessageIter callsarray;
> -+                DBusMessageIter callsarray_entry;
> -+                dbus_bool_t val;
> -+                dbus_message_iter_recurse(&args,&callsarray);
> -+                dbus_message_iter_recurse(&callsarray,
> &callsarray_entry);
> -+                if ((type =
> dbus_message_iter_get_arg_type(&callsarray_entry)) ==
> DBUS_TYPE_OBJECT_PATH) {
> -+                  pa_log_debug("Received voicecallmanager Calls array
> has entries");
> ++                DBusMessageIter callstate;
> ++                const char* callstatestr;
> ++                dbus_bool_t val = FALSE;
> ++                dbus_message_iter_recurse(&args,&callstate);
> ++
> dbus_message_iter_get_basic(&callstate,&callstatestr);
> ++                if (strcmp(callstatestr,"active") == 0) {
> ++                  pa_log_debug("Call active");
>  +                  val = TRUE;
> -+                } else {
> -+                  pa_log_debug("Received voicecallmanager Calls array
> has no entries");
> ++                } else if (strcmp(callstatestr,"disconnected") == 0) {
> ++                  pa_log_debug("Call disconnected");
>  +                  val = FALSE;
> ++                }
> ++                if (u->old_alsa_sink) {
> ++                    if (val) {
> ++
> pa_sink_update_proplist(u->old_alsa_sink,PA_UPDATE_REPLACE,pa_proplist_f
> rom_string(ALSA_OLD_ALTERNATIVE_PROP));
> ++                        pa_log_debug("Alternative buffers used on
> alsa_sink_old");
> ++                    } else {
> ++
> pa_sink_update_proplist(u->old_alsa_sink,PA_UPDATE_REPLACE,pa_proplist_f
> rom_string(ALSA_OLD_PRIMARY_PROP));
> ++                        pa_log_debug("Primary buffers used on
> alsa_sink_old");
> ++                    }
> ++                } else {
> ++                   pa_log_debug("No alsa_sink_old found");
>  +                }
>  +                pa_log_debug("Set ServerStatus to %d.", val == TRUE);
>  +                /* note: very rarely taken code path */
> @@ -47,7 +60,7 @@
>  +            }
>  +          }
>  +        } else
> -+            pa_log_error("received %s with invalid parameters",
> OFONO_DBUS_VOICECALLMANAGER_CHANGE_SIG);
> ++            pa_log_error("Received %s with invalid parameters",
> OFONO_DBUS_VOICECALL_CHANGE_SIG);
>  +
>  +        return DBUS_HANDLER_RESULT_HANDLED;
>       }
> @@ -55,14 +68,81 @@
>       return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
>  --- a/src/cmtspeech/cmtspeech-dbus.c
>  +++ b/src/cmtspeech/cmtspeech-dbus.c
> -@@ -111,6 +111,11 @@
> +@@ -109,6 +109,11 @@
> +     snprintf(rule, sizeof(rule), "type='signal',interface='%s'",
> CMTSPEECH_DBUS_PHONE_SSC_STATE_IF);
>       if (add_dbus_match(e, dbusconn, rule)) {
> -        goto fail;
> -     }
> +     goto fail;
> ++    }
>  +
> -+    snprintf(rule, sizeof(rule), "type='signal',interface='%s'",
> OFONO_DBUS_VOICECALLMANAGER_IF);
> ++    snprintf(rule, sizeof(rule), "type='signal',interface='%s'",
> OFONO_DBUS_VOICECALL_IF);
>  +    if (add_dbus_match(e, dbusconn, rule)) {
> -+  goto fail;
> -+    }
> ++    goto fail;
> +     }
> 
>       return 0;
> +--- a/src/cmtspeech/module-meego-cmtspeech.c
> ++++ b/src/cmtspeech/module-meego-cmtspeech.c
> +@@ -42,6 +42,7 @@
> +     "sink=<sink to connect to> "
> +     "source=<source to connect to> "
> +     "dbus_type=<defaults to session> "
> ++    "old_alsa_sink_name=<name of the old alsa sink>"
> + );
> + PA_MODULE_VERSION(PACKAGE_VERSION);
> +
> +@@ -49,6 +50,7 @@
> +     "sink",
> +     "source",
> +     "dbus_type",
> ++    "old_alsa_sink_name",
> +     NULL,
> + };
> +
> +@@ -100,8 +102,9 @@
> + int pa__init(pa_module*m) {
> +     pa_modargs *ma = NULL;
> +     struct userdata *u;
> +-    const char *sink_name, *source_name, *dbus_type;
> ++    const char *sink_name, *source_name, *dbus_type,
> *old_alsa_sink_name;
> +     pa_sink *sink = NULL;
> ++    pa_sink *old_alsa_sink = NULL;
> +     pa_source *source = NULL;
> +
> +     pa_assert(m);
> +@@ -114,9 +117,10 @@
> +     sink_name = pa_modargs_get_value(ma, "sink", NULL);
> +     source_name = pa_modargs_get_value(ma, "source", NULL);
> +     dbus_type = pa_modargs_get_value(ma, "dbus_type", "session");
> ++    old_alsa_sink_name = pa_modargs_get_value(ma,
> "old_alsa_sink_name", PROPLIST_SINK);
> +
> +-    pa_log_debug("Got arguments: sink=\"%s\" source=\"%s\"
> dbus_type=\"%s\"",
> +-                 sink_name, source_name, dbus_type);
> ++    pa_log_debug("Got arguments: sink=\"%s\" source=\"%s\"
> dbus_type=\"%s\" old_alsa_sink_name=\"%s\"",
> ++                 sink_name, source_name, dbus_type,
> old_alsa_sink_name);
> +
> +     u = pa_xnew0(struct userdata, 1);
> +     m->userdata = u;
> +@@ -140,6 +144,12 @@
> +         pa_log_error("Sink \"%s\" not found", sink_name);
> +         goto fail;
> +     }
> ++
> ++    if (!(old_alsa_sink = pa_namereg_get(m->core, old_alsa_sink_name,
> PA_NAMEREG_SINK))) {
> ++        pa_log_error("Old alsa sink \"%s\" not found",
> old_alsa_sink_name);
> ++    }
> ++
> ++    u->old_alsa_sink = old_alsa_sink;
> +
> +     u->sink_name = pa_xstrdup(sink_name);
> +     u->source_name = pa_xstrdup(source_name);
> +--- a/src/cmtspeech/module-meego-cmtspeech.h
> ++++ b/src/cmtspeech/module-meego-cmtspeech.h
> +@@ -68,6 +68,8 @@
> +
> +     pa_sink_input *sink_input;
> +     pa_source_output *source_output;
> ++
> ++    pa_sink *old_alsa_sink;
> +
> +     /* Access only from sink IO-thread */
> +     pa_queue *local_sideinfoq;
> 
> _______________________________________________
> Meego-commits mailing list
> [email protected]
> http://lists.meego.com/listinfo/meego-commits
_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to