"type='signal'," \
" interface='" DBUS_INTERFACE_BLUEZ_HEADSET "', member='PropertyChanged'"
+#define FILL_SAMPLE_SPEC_WITH_SELECTED(x_sink, x_spec) \
+do { \
+ x_spec.format = x_sink->selected_sample_format; \
+ x_spec.rate = x_sink->selected_sample_rate; \
+ x_spec.channels = 2; \
+} while(0)
+
static const char* const valid_alsa_device_modargs[] = {
"name",
"sink_name",
pa_sample_format_t prev_selected_sample_format;
pa_tz_device *device;
pa_sink *sink;
- pa_sink_input *si;
- uint32_t idx;
+ pa_sample_spec spec;
pa_assert(conn);
pa_assert(msg);
prev_selected_sample_format = sink->selected_sample_format;
sink->selected_sample_format = pa_parse_sample_format(sample_format);
- PA_IDXSET_FOREACH(si, sink->inputs, idx) {
- if (pa_sink_reconfigure(sink, &si->sample_spec, pa_sink_input_is_passthrough(si)) == -1) {
- pa_log_error("failed to reconfigure");
- pa_dbus_send_error(conn, msg, DBUS_ERROR_FAILED, "%s", "org.tizen.multimedia.audio.Internal");
- sink->selected_sample_format = prev_selected_sample_format;
- return;
- }
- break;
+ FILL_SAMPLE_SPEC_WITH_SELECTED(sink, spec);
+ if (pa_sink_reconfigure(sink, &spec, false) == -1) {
+ pa_log_error("failed to reconfigure");
+ pa_dbus_send_error(conn, msg, DBUS_ERROR_FAILED, "%s", "org.tizen.multimedia.audio.Internal");
+ sink->selected_sample_format = prev_selected_sample_format;
+ return;
}
pa_log_info("Set sample format(%s) of the device(id:%d) successfully", sample_format, device_id);
uint32_t prev_selected_sample_rate;
pa_tz_device *device;
pa_sink *sink;
- pa_sink_input *si;
- uint32_t idx;
+ pa_sample_spec spec;
pa_assert(conn);
pa_assert(msg);
prev_selected_sample_rate = sink->selected_sample_rate;
sink->selected_sample_rate = sample_rate;
- PA_IDXSET_FOREACH(si, sink->inputs, idx) {
- if (pa_sink_reconfigure(sink, &si->sample_spec, pa_sink_input_is_passthrough(si)) == -1) {
- pa_log_error("failed to reconfigure");
- pa_dbus_send_error(conn, msg, DBUS_ERROR_FAILED, "%s", "org.tizen.multimedia.audio.Internal");
- sink->selected_sample_rate = prev_selected_sample_rate;
- return;
- }
- break;
+ FILL_SAMPLE_SPEC_WITH_SELECTED(sink, spec);
+ if (pa_sink_reconfigure(sink, &spec, false) == -1) {
+ pa_log_error("failed to reconfigure");
+ pa_dbus_send_error(conn, msg, DBUS_ERROR_FAILED, "%s", "org.tizen.multimedia.audio.Internal");
+ sink->selected_sample_rate = prev_selected_sample_rate;
+ return;
}
pa_log_info("Set sample rate(%u) of the device(id:%d) successfully", sample_rate, device_id);
dbus_bool_t avoid_resampling;
pa_tz_device *device;
pa_sink *sink;
- pa_sink_input *si;
- uint32_t idx;
pa_assert(conn);
pa_assert(msg);
}
sink->avoid_resampling = avoid_resampling;
- PA_IDXSET_FOREACH(si, sink->inputs, idx) {
- if (pa_sink_reconfigure(sink, &si->sample_spec, pa_sink_input_is_passthrough(si)) == -1) {
- pa_log_error("failed to reconfigure");
- pa_dbus_send_error(conn, msg, DBUS_ERROR_FAILED, "%s", "org.tizen.multimedia.audio.Internal");
- sink->avoid_resampling = sink->origin_avoid_resampling;
- return;
- }
- }
+
pa_log_info("Set avoid-resampling(%d) to the device(id:%d)", avoid_resampling, device_id);
pa_assert_se(dbus_connection_send(conn, reply, NULL));