diff options
author | Changhyeok Bae <changhyeok.bae@gmail.com> | 2017-05-31 02:39:38 +0000 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2017-09-08 16:19:01 +0000 |
commit | cb0b5d9dc435fe4d4eb89629a9a93311bed841bd (patch) | |
tree | e4bb44e4588e876988820abb538cdc83dc4f0eea /meta-ivi-common/recipes-multimedia/pulseaudio/pulseaudio-10.0/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch | |
parent | 3d32b328ebece6019b118c83f56150b5c6947cd5 (diff) |
Upgrade to pyro
u-boot: v2017.01
dlt-daemon: Remove gzipnative inheritance
- gzipnative.bbclass is removed in pyro branch.
- See ab0f46400c113c0d893be872727a67739d5e794d in poky.
gpm: Remove bbappend file
- upstream(meta-openembedded) is using git(v1.99.7) and this is not
required anymore.
gnutls: Remove bbappend file
- The patch is already applied in upstream.
agl-image-minimal: Remove ROOTFS_PKGMANAGE_BOOTSTRAP
- ROOTFS_PKGMANAGE_BOOTSTRAP is removed in upstream.
- Please see 529244ee212fe14019e35a5f163fab705ddbf141 in poky.
freetype: Change hash value for v2.7.1 binary
shadow: Remove shadow_%.bbappend
- It's already applied upstream poky.
Remove nativesdk-packagegroup-sdk-host.bbappend
- It's already applied in upstream poky.
faac: Remove bbappend file
- It's already applied meta-openembedded upstream.
pulseaudio: Change bbappend naming
- Upstream yocto provides pulseaudio v10.0.
weston: re-create patch to apply new version (v2.0.0)
- Remove 0001-compositor-drm.c-Launch-without-input-devices.patch
because it's already applied in new version.
mesa: Remove 12.0.3 recipe and fix build error for qemux86-64
- Yocto upstream supports 17.0.2 and v12.0.3 is not required anymore in
raspberrypi
- Error:
| configure: error: --enable-gallium-llvm selected but llvm-config is
not found
wayland-ivi-extension: Upgrade to latest master version
- Due to weston upgrade, wayland-ivi-extension should be upgraded.
packagegroup-ivi-common-core-multimedia: Remove alsa-lib
- alsa-lib has empty package and it's not required anymore.
Add agl-driver and agl-passenger in group and passwd
- Parsing Error:
agl-users: groupname agl-passenger does not have a static ID defined.
poky-agl.conf: Change gstreamer default version to v1.10.x
- Yocto upstream moves gstreamer to v1.10.4.
af-main: Fix build error
- Error:
file /usr/local conflicts between attempted installs of
af-main-1.0-r0.corei7_64 and base-files-3.0.14-r89.qemux86_64
intel-corei7-64: Change gstreamer-vaapi-1.0 name
- gstreamer-vaapi-1.0 is moved to oe-core and its name is changed to
gstreamer1.0-vaapi.
linux-raspberrypi: Drop 4.4 bbappend
- The upstream meta-raspberrypi doesn't support v4.4 anymore.
- CVE patches are not required anymore.
glibc: Remove bbappend
- The bug-20116 is already applied in 2.25
cynara,security-manager: Fix build error
- cynara: Replace bb.data to d
- security-manager: Temporarily use 'no' in APPLY variable
u-boot-ota: Add SRC_URI
- In pyro, SRC_URI and S is moved from .inc to .bb
linux-yocto: Remove 4.8 and 4.4 bbappend
- Yocto 2.3 (Pyro) doesn't support v4.8 kernel anymore.
- CVE patches in meta-agl-bsp are already applied in Yocto 2.3.
tcf-agent: Remove bbappend file
- This change is merged to upstream poky (pyro)
bluez5: Remove recipe and add .bbappend
- Yocto 2.3 (Pyro) already has same version.
- bluetooth.conf file is added in .bbappend
python-pycrypto: Remove recipe
- meta-openembedded (Pyro) already has same version.
meta-agl-bsp/classes/image.bbclass: Arrange for pyro
- image.bbclass is taken from poky/meta/classes/image.bbclass and only
changed IMAGE_TYPE_vm variable.
libsoup: Fix native build error temporarily
v2 (jsmoeller):
meta-agl-bsp/meta-ti:
- workaround patches in meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
- fix old python code in meta-ti/recipes-arago/ipumm-fw/ipumm-fw_3.00.13.00.bb
- workaround patches in meta-ti/recipes-arago/weston/weston_%.bbappend
- make specific to dra7xx-evm:
-- meta-ti/recipes-bsp/alsa-state/alsa-state.bbappend
-- meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend
-- rename meta-ti/recipes-multimedia/pulseaudio/pulseaudio/dra7xx-evm-set-default-sink-source.patch
-- rename meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
TODO/FIXME's in:
- meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
- meta-agl-bsp/meta-ti/recipes-arago/weston/weston_%.bbappend
- meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
- meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend
Bug-AGL: SPEC-646
Change-Id: I4162ae887d3334e9102575e3724483aa25f4bd9c
Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10457
Diffstat (limited to 'meta-ivi-common/recipes-multimedia/pulseaudio/pulseaudio-10.0/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch')
-rw-r--r-- | meta-ivi-common/recipes-multimedia/pulseaudio/pulseaudio-10.0/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/meta-ivi-common/recipes-multimedia/pulseaudio/pulseaudio-10.0/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch b/meta-ivi-common/recipes-multimedia/pulseaudio/pulseaudio-10.0/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch new file mode 100644 index 000000000..eb485ca7c --- /dev/null +++ b/meta-ivi-common/recipes-multimedia/pulseaudio/pulseaudio-10.0/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch @@ -0,0 +1,189 @@ +From e4469df7c69316b49cad93dd288badc98fa1cad5 Mon Sep 17 00:00:00 2001 +From: Sangchul Lee <sangchul1011@gmail.com> +Date: Sat, 27 Aug 2016 21:33:17 +0900 +Subject: [PATCH 3/6] volume ramp: adding volume ramping to sink-input + +The original patch is + - https://review.tizen.org/git/?p=platform/upstream/pulseaudio.git;a=commit;h=98042248fd67ce0ab3807c5c472c0d5d8b0f99d3 + - by Jaska Uimonen <jaska.uimonen <at> helsinki.fi> + +Signed-off-by: Sangchul Lee <sc11.lee@samsung.com> +--- + src/pulsecore/sink-input.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++ + src/pulsecore/sink-input.h | 11 ++++++++- + 2 files changed, 71 insertions(+), 1 deletion(-) + +diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c +index 8ec63b5..cc8953f 100644 +--- a/src/pulsecore/sink-input.c ++++ b/src/pulsecore/sink-input.c +@@ -526,6 +526,11 @@ int pa_sink_input_new( + reset_callbacks(i); + i->userdata = NULL; + ++ if (data->flags & PA_SINK_INPUT_START_RAMP_MUTED) ++ pa_cvolume_ramp_int_init(&i->ramp, PA_VOLUME_MUTED, data->sample_spec.channels); ++ else ++ pa_cvolume_ramp_int_init(&i->ramp, PA_VOLUME_NORM, data->sample_spec.channels); ++ + i->thread_info.state = i->state; + i->thread_info.attached = false; + pa_atomic_store(&i->thread_info.drained, 1); +@@ -542,6 +547,8 @@ int pa_sink_input_new( + i->thread_info.playing_for = 0; + i->thread_info.direct_outputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func); + ++ i->thread_info.ramp = i->ramp; ++ + pa_assert_se(pa_idxset_put(core->sink_inputs, i, &i->index) == 0); + pa_assert_se(pa_idxset_put(i->sink->inputs, pa_sink_input_ref(i), NULL) == 0); + +@@ -923,6 +930,8 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa + while (tchunk.length > 0) { + pa_memchunk wchunk; + bool nvfs = need_volume_factor_sink; ++ pa_cvolume target; ++ pa_bool_t tmp; + + wchunk = tchunk; + pa_memblock_ref(wchunk.memblock); +@@ -959,6 +968,16 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa + pa_volume_memchunk(&wchunk, &i->sink->sample_spec, &i->volume_factor_sink); + } + ++ /* check for possible volume ramp */ ++ if (pa_cvolume_ramp_active(&i->thread_info.ramp)) { ++ pa_memchunk_make_writable(&wchunk, 0); ++ pa_volume_ramp_memchunk(&wchunk, &i->sink->sample_spec, &(i->thread_info.ramp)); ++ } else if ((tmp = pa_cvolume_ramp_target_active(&(i->thread_info.ramp)))) { ++ pa_memchunk_make_writable(&wchunk, 0); ++ pa_cvolume_ramp_get_targets(&i->thread_info.ramp, &target); ++ pa_volume_memchunk(&wchunk, &i->sink->sample_spec, &target); ++ } ++ + pa_memblockq_push_align(i->thread_info.render_memblockq, &wchunk); + } else { + pa_memchunk rchunk; +@@ -975,6 +994,16 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa + pa_volume_memchunk(&rchunk, &i->sink->sample_spec, &i->volume_factor_sink); + } + ++ /* check for possible volume ramp */ ++ if (pa_cvolume_ramp_active(&(i->thread_info.ramp))) { ++ pa_memchunk_make_writable(&rchunk, 0); ++ pa_volume_ramp_memchunk(&rchunk, &i->sink->sample_spec, &(i->thread_info.ramp)); ++ } else if (pa_cvolume_ramp_target_active(&(i->thread_info.ramp))) { ++ pa_memchunk_make_writable(&rchunk, 0); ++ pa_cvolume_ramp_get_targets(&i->thread_info.ramp, &target); ++ pa_volume_memchunk(&rchunk, &i->sink->sample_spec, &target); ++ } ++ + pa_memblockq_push_align(i->thread_info.render_memblockq, &rchunk); + pa_memblock_unref(rchunk.memblock); + } +@@ -1339,6 +1368,31 @@ int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key) { + return 0; + } + ++/* Called from main thread */ ++void pa_sink_input_set_volume_ramp( ++ pa_sink_input *i, ++ const pa_cvolume_ramp *ramp, ++ pa_bool_t send_msg, ++ pa_bool_t save) { ++ ++ pa_sink_input_assert_ref(i); ++ pa_assert_ctl_context(); ++ pa_assert(PA_SINK_INPUT_IS_LINKED(i->state)); ++ pa_assert(ramp); ++ ++ pa_cvolume_ramp_convert(ramp, &i->ramp, i->sample_spec.rate); ++ ++ pa_log_debug("setting volume ramp with target vol:%d and length:%ld", ++ i->ramp.ramps[0].target, ++ i->ramp.ramps[0].length); ++ ++ ++ /* This tells the sink that volume ramp changed */ ++ if (send_msg) ++ pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP, ++ NULL, 0, NULL) == 0); ++} ++ + /* Called from main context */ + static void set_real_ratio(pa_sink_input *i, const pa_cvolume *v) { + pa_sink_input_assert_ref(i); +@@ -1932,6 +1986,13 @@ int pa_sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int64_t + } + return 0; + ++ case PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP: ++ /* we have ongoing ramp where we take current start values */ ++ pa_cvolume_ramp_start_from(&i->thread_info.ramp, &i->ramp); ++ i->thread_info.ramp = i->ramp; ++ pa_sink_input_request_rewind(i, 0, true, false, false); ++ return 0; ++ + case PA_SINK_INPUT_MESSAGE_SET_SOFT_MUTE: + if (i->thread_info.muted != i->muted) { + i->thread_info.muted = i->muted; +diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h +index 86deab2..6e1b211 100644 +--- a/src/pulsecore/sink-input.h ++++ b/src/pulsecore/sink-input.h +@@ -32,6 +32,7 @@ + #include <pulsecore/client.h> + #include <pulsecore/sink.h> + #include <pulsecore/core.h> ++#include <pulsecore/mix.h> + + typedef enum pa_sink_input_state { + PA_SINK_INPUT_INIT, /*< The stream is not active yet, because pa_sink_input_put() has not been called yet */ +@@ -58,7 +59,8 @@ typedef enum pa_sink_input_flags { + PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND = 256, + PA_SINK_INPUT_NO_CREATE_ON_SUSPEND = 512, + PA_SINK_INPUT_KILL_ON_SUSPEND = 1024, +- PA_SINK_INPUT_PASSTHROUGH = 2048 ++ PA_SINK_INPUT_PASSTHROUGH = 2048, ++ PA_SINK_INPUT_START_RAMP_MUTED = 4096, + } pa_sink_input_flags_t; + + struct pa_sink_input { +@@ -121,6 +123,9 @@ struct pa_sink_input { + * this.*/ + bool save_sink:1, save_volume:1, save_muted:1; + ++ /* for volume ramps */ ++ pa_cvolume_ramp_int ramp; ++ + pa_resample_method_t requested_resample_method, actual_resample_method; + + /* Returns the chunk of audio data and drops it from the +@@ -249,6 +254,8 @@ struct pa_sink_input { + pa_usec_t requested_sink_latency; + + pa_hashmap *direct_outputs; ++ ++ pa_cvolume_ramp_int ramp; + } thread_info; + + void *userdata; +@@ -265,6 +272,7 @@ enum { + PA_SINK_INPUT_MESSAGE_SET_STATE, + PA_SINK_INPUT_MESSAGE_SET_REQUESTED_LATENCY, + PA_SINK_INPUT_MESSAGE_GET_REQUESTED_LATENCY, ++ PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP, + PA_SINK_INPUT_MESSAGE_MAX + }; + +@@ -370,6 +378,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, bool s + void pa_sink_input_add_volume_factor(pa_sink_input *i, const char *key, const pa_cvolume *volume_factor); + int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key); + pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, bool absolute); ++void pa_sink_input_set_volume_ramp(pa_sink_input *i, const pa_cvolume_ramp *ramp, pa_bool_t send_msg, pa_bool_t save); + + void pa_sink_input_set_mute(pa_sink_input *i, bool mute, bool save); + +-- +1.9.1 + |