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
