{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":271333537,"defaultBranch":"master","name":"sof","ownerLogin":"andyross","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-06-10T16:48:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/300115?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1720033364.0","currentOid":""},"activityList":{"items":[{"before":"25cd28cb398f46f9c65bfa84916092a80503fc17","after":"1c25b2af0545addc9717f3e9cbcbb28975fbb96e","ref":"refs/heads/uuid-registry","pushedAt":"2024-07-04T15:51:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"uuid: Use new UUID registry pervasively\n\nStrip out all the literall UUID management from existing C code (the\nAPI itself still works for any out-of-tree or test code users) and\nexclusively use the new, much simpler, SOF_DEFINE_REG_UUID() macro\nwhich sources IDs from the registry by name.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"uuid: Use new UUID registry pervasively"}},{"before":"a9d2117fe8b28a15f1c050c4ec3f6133b0bcdf6d","after":"25cd28cb398f46f9c65bfa84916092a80503fc17","ref":"refs/heads/uuid-registry","pushedAt":"2024-07-04T15:19:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"uuid: Use new UUID registry pervasively\n\nStrip out all the literall UUID management from existing C code (the\nAPI itself still works for any out-of-tree or test code users) and\nexclusively use the new, much simpler, SOF_DEFINE_REG_UUID() macro\nwhich sources IDs from the registry by name.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"uuid: Use new UUID registry pervasively"}},{"before":"e229eb2e27eb022cbc01546163a05156e89380d8","after":"a9d2117fe8b28a15f1c050c4ec3f6133b0bcdf6d","ref":"refs/heads/uuid-registry","pushedAt":"2024-07-04T14:54:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"uuid: Use new UUID registry pervasively\n\nStrip out all the literall UUID management from existing C code (the\nAPI itself still works for any out-of-tree or test code users) and\nexclusively use the new, much simpler, SOF_DEFINE_REG_UUID() macro\nwhich sources IDs from the registry by name.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"uuid: Use new UUID registry pervasively"}},{"before":"fc2fba0c67c738a0fcac1c1492febaa5c8cac2bc","after":"bbe4f4165eaac9e62cdade074e2429bf4ce36622","ref":"refs/heads/fuzz-native_sim","pushedAt":"2024-07-03T20:18:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Port fuzzer to upstream \"native_sim\" board\n\nThe older native_posix board is being deprecated, use native_sim,\nwhich is the future-proof API. Mostly just swap the board target and\nchange the C API names.\n\nNote the NATIVE_SIMULATOR_IF decoaration on LLVMFuzzerTestOneInput():\nthat forces the function to be included in the first-stage zephyr.elf\nlink (otherwise it would be dropped as Zephyr/SOF itself doesn't\nreference the entry point) and to be visible as a global symbol to the\nlibfuzzer instrumentation layer.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Port fuzzer to upstream \"native_sim\" board"}},{"before":"1b3e72ddd2c883220177247b79e90f14c46c5513","after":"fc2fba0c67c738a0fcac1c1492febaa5c8cac2bc","ref":"refs/heads/fuzz-native_sim","pushedAt":"2024-07-03T19:45:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Port fuzzer to upstream \"native_sim\" board\n\nThe older native_posix board is being deprecated, use native_sim,\nwhich is the future-proof API. Mostly just swap the board target and\nchange the C API names.\n\nNote the NATIVE_SIMULATOR_IF decoaration on LLVMFuzzerTestOneInput():\nthat forces the function to be included in the first-stage zephyr.elf\nlink (otherwise it would be dropped as Zephyr/SOF itself doesn't\nreference the entry point) and to be visible as a global symbol to the\nlibfuzzer instrumentation layer.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Port fuzzer to upstream \"native_sim\" board"}},{"before":"033ccdc5348ee278916e1d6748146f354a146e1b","after":"1b3e72ddd2c883220177247b79e90f14c46c5513","ref":"refs/heads/fuzz-native_sim","pushedAt":"2024-07-03T19:11:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Port fuzzer to upstream \"native_sim\" board\n\nThe older native_posix board is being deprecated, use native_sim,\nwhich is the future-proof API. In theory this should be as simple as\njust swapping the board name at the west level, but there are a few\nchanges:\n\nThe C API is broadly identical between the two, modulo some prefix\nrenaming.\n\nUnfortunately linkage is more of a hassle, as the fuzzing framework\ninverts the sense of \"entry point\" and causes some trouble with the\nway native_sim does its two-stage link. We have to add some hackery:\n\n 1. Make sure the fuzz entry point doesn't get dropped during the\n initial zephyr.elf link, as it calls OS/sim layer and not the\n reverse.\n\n 2. Force it to be a global symbol in the final stage, so it can be\n seen by the code in libfuzzer that needs to call it (normally\n all Zephyr-side symbols are forced to be library-private to\n prevent collisions with the global Linux/glibc namespace\n environment)\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Port fuzzer to upstream \"native_sim\" board"}},{"before":null,"after":"033ccdc5348ee278916e1d6748146f354a146e1b","ref":"refs/heads/fuzz-native_sim","pushedAt":"2024-07-03T19:02:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Port fuzzer to upstream \"native_sim\" board\n\nThe older native_posix board is being deprecated, use native_sim,\nwhich is the future-proof API. In theory this should be as simple as\njust swapping the board name at the west level, but there are a few\nchanges:\n\nThe C API is broadly identical between the two, modulo some prefix\nrenaming.\n\nUnfortunately linkage is more of a hassle, as the fuzzing framework\ninverts the sense of \"entry point\" and causes some trouble with the\nway native_sim does its two-stage link. We have to add some hackery:\n\n 1. Make sure the fuzz entry point doesn't get dropped during the\n initial zephyr.elf link, as it calls OS/sim layer and not the\n reverse.\n\n 2. Force it to be a global symbol in the final stage, so it can be\n seen by the code in libfuzzer that needs to call it (normally\n all Zephyr-side symbols are forced to be library-private to\n prevent collisions with the global Linux/glibc namespace\n environment)\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Port fuzzer to upstream \"native_sim\" board"}},{"before":"d51fa68079aed2dcb8f27f6e2eaffe15c79e7850","after":"e229eb2e27eb022cbc01546163a05156e89380d8","ref":"refs/heads/uuid-registry","pushedAt":"2024-06-27T17:57:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"uuid: Use new UUID registry pervasively\n\nStrip out all the literall UUID management from existing C code (the\nAPI itself still works for any out-of-tree or test code users) and\nexclusively use the new, much simpler, SOF_DEFINE_REG_UUID() macro\nwhich sources IDs from the registry by name.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"uuid: Use new UUID registry pervasively"}},{"before":null,"after":"cf6b04607737eab7c7db8a852dd0bec590de74e5","ref":"refs/heads/aec-sparse","pushedAt":"2024-06-26T23:54:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"google_aec: Sparse fixups\n\nCommit 0eb34dbb9214 (\"google_aec: Don't allocate giant blobs on the\nheap\") dropped some sparse annotations and exposed warnings with\ndealing with the cached temporary buffers handed to the AEC code.\n\nUnfortunately the underlying API isn't sparse-aware, so rather than go\nthrough the trouble to keep the tags consistent through the new\nconversion API (which is a little non-trivial syntactically) just to\nthrow it away on entry to the library, force it off at conversion time\nfor simplicity. Essentially now it's checking that all computation in\nthis module is \"uncached\", which is fine as long as we don't try to\nmix conventions.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"google_aec: Sparse fixups"}},{"before":"dafd8d6cdc1fe55a0d9cd5274aed7d2836cae125","after":"d51fa68079aed2dcb8f27f6e2eaffe15c79e7850","ref":"refs/heads/uuid-registry","pushedAt":"2024-06-26T16:50:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"uuid: Use new UUID registry pervasively\n\nStrip out all the literall UUID management from existing C code (the\nAPI itself still works for any out-of-tree or test code users) and\nexclusively use the new, much simpler, SOF_DEFINE_REG_UUID() macro\nwhich sources IDs from the registry by name.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"uuid: Use new UUID registry pervasively"}},{"before":null,"after":"dafd8d6cdc1fe55a0d9cd5274aed7d2836cae125","ref":"refs/heads/uuid-registry","pushedAt":"2024-06-26T15:41:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"uuid: Use new UUID registry pervasively\n\nStrip out all the literall UUID management from existing C code (the\nAPI itself still works for any out-of-tree or test code users) and\nexclusively use the new, much simpler, SOF_DEFINE_REG_UUID() macro\nwhich sources IDs from the registry by name.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"uuid: Use new UUID registry pervasively"}},{"before":"b5a655d3265b85bc3893766f9f1f91a50f7e7713","after":"537c2314b06dce20437ba639cd046ae3e9befb21","ref":"refs/heads/mtl-aec-no-dts","pushedAt":"2024-06-20T16:47:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"topology2: mtl-rt5650: Add configuration for AEC w/o DTS\n\nCombinatorics get hard with all the features, but it's really useful\nto be able to test features in isolation.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"topology2: mtl-rt5650: Add configuration for AEC w/o DTS"}},{"before":"142549e6faa94d08ebb31cdb0760376aee1d9ef0","after":"018cec3a9b587dd22c164c2cb6da00e76514a463","ref":"refs/heads/aec-rework","pushedAt":"2024-06-19T15:27:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"google_aec: Rework prepare/process() to support dynamic formats\n\nBig rewrite of the core processing code of AEC:\n\nSupport both S32 and S16 input and output formats, dynamically\nselected at prepare() time based on stream configuration.\n\nCopy/convert data in maximally inlined/unrolled loops, using\ncleanly-generated (no duplication!) custom conversion utilities for\neach format variant.\n\nOrthogonalize and elaborate the validation code in prepare(). Check\nall state for all input/output streams.\n\nDecouple AEC operation from the input stream, filling zeros on\nunderflow and allowing AEC to run in circumstances where no playback\ndata exists and to recover when it starts/stops. IPC3 setups can\nexploit this now, unfortunately IPC4 always starts connected pipelines\nfrom the host kernel so sees no benefit.\n\nFix a latency bug with the original code where it would copy the\nprocessed results to the output stream before the call to\nProcessCapture() instead of after, leading to a needless delay. Copy\nthe results as soon as they are available, if the output buffer backs\nup, we'll continue at the next call to process()\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"google_aec: Rework prepare/process() to support dynamic formats"}},{"before":null,"after":"b5a655d3265b85bc3893766f9f1f91a50f7e7713","ref":"refs/heads/mtl-aec-no-dts","pushedAt":"2024-06-18T21:39:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"topology2: mtl-rt5650: Add configuration for AEC w/o DTS\n\nCombinatorics get hard with all the features, but it's really useful\nto be able to test features in isolation.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"topology2: mtl-rt5650: Add configuration for AEC w/o DTS"}},{"before":"fb41c0f18f9331967b5ed67d624f252505814fb4","after":"142549e6faa94d08ebb31cdb0760376aee1d9ef0","ref":"refs/heads/aec-rework","pushedAt":"2024-06-18T17:40:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"google_aec: Rework prepare/process() to support dynamic formats\n\nBig rewrite of the core processing code of AEC:\n\nSupport both S32 and S16 input and output formats, dynamically\nselected at prepare() time based on stream configuration.\n\nCopy/convert data in maximally inlined/unrolled loops, using\ncleanly-generated (no duplication!) custom conversion utilities for\neach format variant.\n\nOrthogonalize and elaborate the validation code in prepare(). Check\nall state for all input/output streams.\n\nDecouple AEC operation from the input stream, filling zeros on\nunderflow and allowing AEC to run in circumstances where no playback\ndata exists and to recover when it starts/stops. IPC3 setups can\nexploit this now, unfortunately IPC4 always starts connected pipelines\nfrom the host kernel so sees no benefit.\n\nFix a latency bug with the original code where it would copy the\nprocessed results to the output stream before the call to\nProcessCapture() instead of after, leading to a needless delay. Copy\nthe results as soon as they are available, if the output buffer backs\nup, we'll continue at the next call to process()\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"google_aec: Rework prepare/process() to support dynamic formats"}},{"before":"029758cbe2721024fcfae92ccfc7bb6e99b15632","after":"d38f9cd7688acbb055020f965143ecf2c983c48d","ref":"refs/heads/comp-mod-refactor","pushedAt":"2024-06-17T19:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"fix: some code does not care for non-module adapter components\n\nLegacy API that is not using module_adapter is now depreciated,\nbut there are still some modules that use it. So all common code\nmust work properly with both types of modules.\nThis commit is fixing crash in bind operation when binding\na legacy module. There also some comments added in potentially\nsimilar places, but where legacy modules cannot be used.\n\nSigned-off-by: Marcin Szkudlinski ","shortMessageHtmlLink":"fix: some code does not care for non-module adapter components"}},{"before":"35d25b13108c713c170baf7665f9b7c6a544bdb4","after":"029758cbe2721024fcfae92ccfc7bb6e99b15632","ref":"refs/heads/comp-mod-refactor","pushedAt":"2024-06-14T14:28:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"fix: some code does not care for non-module adapter components\n\nLegacy API that is not using module_adapter is now depreciated,\nbut there are still some modules that use it. So all common code\nmust work properly with both types of modules.\nThis commit is fixing crash in bind operation when binding\na legacy module. There also some comments added in potentially\nsimilar places, but where legacy modules cannot be used.\n\nSigned-off-by: Marcin Szkudlinski ","shortMessageHtmlLink":"fix: some code does not care for non-module adapter components"}},{"before":"bb28b2ded00d89fcdfbef6bcde0ec015b3ccaf3a","after":"fb41c0f18f9331967b5ed67d624f252505814fb4","ref":"refs/heads/aec-rework","pushedAt":"2024-06-11T19:49:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"google_aec: Rework prepare/process() to support dynamic formats\n\nBig rewrite of the core processing code of AEC:\n\nSupport both S32 and S16 input and output formats, dynamically\nselected at prepare() time based on stream configuration.\n\nCopy/convert data in maximally inlined/unrolled loops, using\ncleanly-generated (no duplication!) custom conversion utilities for\neach format variant.\n\nOrthogonalize and elaborate the validation code in prepare(). Check\nall state for all input/output streams.\n\nDecouple AEC operation from the input stream, filling zeros on\nunderflow and allowing AEC to run in circumstances where no playback\ndata exists and to recover when it starts/stops. IPC3 setups can\nexploit this now, unfortunately IPC4 always starts connected pipelines\nfrom the host kernel so sees no benefit.\n\nFix a latency bug with the original code where it would copy the\nprocessed results to the output stream before the call to\nProcessCapture() instead of after, leading to a needless delay. Copy\nthe results as soon as they are available, if the output buffer backs\nup, we'll continue at the next call to process()\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"google_aec: Rework prepare/process() to support dynamic formats"}},{"before":"5350c7aaec294b9a1561e2c59344906326d3ce83","after":"35d25b13108c713c170baf7665f9b7c6a544bdb4","ref":"refs/heads/comp-mod-refactor","pushedAt":"2024-06-11T18:58:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"sink/source: Add pipeline_id accessor API\n\nExpose the new pipeline_id field in sof_audio_stream_params to a\ncleaner sink/source API for use by module code. Longer term this may\nwant to be indirected by newer backends.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"sink/source: Add pipeline_id accessor API"}},{"before":"3bd5570007812ef3f1beeef7fa540c0ce71957ac","after":"5350c7aaec294b9a1561e2c59344906326d3ce83","ref":"refs/heads/comp-mod-refactor","pushedAt":"2024-06-11T18:46:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"sink/source: Add pipeline_id accessor API\n\nExpose the new pipeline_id field in sof_audio_stream_params to a\ncleaner sink/source API for use by module code. Longer term this may\nwant to be indirected by newer backends.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"sink/source: Add pipeline_id accessor API"}},{"before":"0b4b34928d53981d20a0241035c47b7514e5dd3e","after":"3bd5570007812ef3f1beeef7fa540c0ce71957ac","ref":"refs/heads/comp-mod-refactor","pushedAt":"2024-06-11T18:44:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"sink/source: Add pipeline_id accessor API\n\nExpose the new pipeline_id field in sof_audio_stream_params to a\ncleaner sink/source API for use by module code. Longer term this may\nwant to be indirected by newer backends.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"sink/source: Add pipeline_id accessor API"}},{"before":null,"after":"0b4b34928d53981d20a0241035c47b7514e5dd3e","ref":"refs/heads/comp-mod-refactor","pushedAt":"2024-06-07T16:36:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"buffer: Move pipeline_id down into stream params\n\nThe pipeline_id has historically been part of the comp_buffer struct,\nbut that is being deprecated as a public API. So move it down into\nthe contained sof_audio_stream_params struct where it can be found by\nnew style sink/source code.\n\nNote that the actual value of the pipeline ID is a little ambiguous:\non IPC3, the buffer is defined by the user in the .tplg file as part\nof a specific pipeline with a known ID. With IPC4 topology, the\nbuffers are implicitly created and will be assigned the ID of their\nsource (!) component. It is legal to define a connection across two\npipelines, and there's no ability here to recover both pipeline IDs.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"buffer: Move pipeline_id down into stream params"}},{"before":null,"after":"9f985fcd1f9f874b12661bf3700bfe18ce163f61","ref":"refs/heads/mt-fixups","pushedAt":"2024-06-07T16:33:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"module_adapter: Correct C99ism\n\nCompiler flags used with older xcc compilers still disallow\ndeclarations in for() expressions.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"module_adapter: Correct C99ism"}},{"before":"2c8fb0ad1b9f577424ae89f1786596496a5ca886","after":"bb28b2ded00d89fcdfbef6bcde0ec015b3ccaf3a","ref":"refs/heads/aec-rework","pushedAt":"2024-06-07T16:29:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"google_aec: Rework prepare/process() to support dynamic formats\n\nBig rewrite of the core processing code of AEC:\n\nSupport both S32 and S16 input and output formats, dynamically\nselected at prepare() time based on stream configuration.\n\nCopy/convert data in maximally inlined/unrolled loops, using\ncleanly-generated (no duplication!) custom conversion utilities for\neach format variant.\n\nOrthogonalize and elaborate the validation code in prepare(). Check\nall state for all input/output streams.\n\nDecouple AEC operation from the input stream, filling zeros on\nunderflow and allowing AEC to run in circumstances where no playback\ndata exists and to recover when it starts/stops. IPC3 setups can\nexploit this now, unfortunately IPC4 always starts connected pipelines\nfrom the host kernel so sees no benefit.\n\nFix a latency bug with the original code where it would copy the\nprocessed results to the output stream before the call to\nProcessCapture() instead of after, leading to a needless delay. Copy\nthe results as soon as they are available, if the output buffer backs\nup, we'll continue at the next call to process()\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"google_aec: Rework prepare/process() to support dynamic formats"}},{"before":"18cc95a3dbeced4d8402c35ee7db1eb3d4789f1a","after":"2c8fb0ad1b9f577424ae89f1786596496a5ca886","ref":"refs/heads/aec-rework","pushedAt":"2024-06-07T16:29:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"MTPRINTF","shortMessageHtmlLink":"MTPRINTF"}},{"before":"6902bc7a0da7228e9e8945aeff23bbe613a15dfb","after":"3beea52c29a4eb4320d068fd7cc04de9ff2d8a10","ref":"refs/heads/fuzz-unbreak","pushedAt":"2024-05-08T14:27:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Unbreak fuzzer support\n\nUpstream Zephyr moved the LLVM fuzzer entry point out of the arch\nlayer and made it an app responsibility, so we broke. Add back the\nsupport here that got removed.\n\nFixes #9101\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Unbreak fuzzer support"}},{"before":"4298d2fd3475cc2c1f811d3b0931cb0f22ddfc45","after":"6902bc7a0da7228e9e8945aeff23bbe613a15dfb","ref":"refs/heads/fuzz-unbreak","pushedAt":"2024-05-07T15:30:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Unbreak fuzzer support\n\nUpstream Zephyr moved the LLVM fuzzer entry point out of the arch\nlayer and made it an app responsibility, so we broke. Add back the\nsupport here that got removed.\n\nFixes #9101\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Unbreak fuzzer support"}},{"before":"406b5801cce0adc3755216416af624cee2d202bb","after":"4298d2fd3475cc2c1f811d3b0931cb0f22ddfc45","ref":"refs/heads/fuzz-unbreak","pushedAt":"2024-05-07T15:16:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Unbreak fuzzer support\n\nUpstream Zephyr moved the LLVM fuzzer entry point out of the arch\nlayer and made it an app responsibility, so we broke. Add back the\nsupport here that got removed.\n\nFixes #9101\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Unbreak fuzzer support"}},{"before":null,"after":"406b5801cce0adc3755216416af624cee2d202bb","ref":"refs/heads/fuzz-unbreak","pushedAt":"2024-05-07T15:16:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"platform/posix: Unbreak fuzzer support\n\nUpstream Zephyr moved the LLVM fuzzer entry point out of the arch\nlayer and made it an app responsibility, so we broke. Add back the\nsupport here that got removed.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"platform/posix: Unbreak fuzzer support"}},{"before":"f3bc506a95c1d2e843ca3d0d7cf4961304754e51","after":"291dcb75e897079893a69712d4621638bb256d69","ref":"refs/heads/mtk-fixups","pushedAt":"2024-03-07T17:39:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"andyross","name":"Andy Ross","path":"/andyross","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/300115?s=80&v=4"},"commit":{"message":"mt8195: Disable GOOGLE AEC MOCK by default\n\nThe mocking layer is an important debugging tool. It shouldn't be on\nby default lest we accidentally build without the real feature.\n\nSigned-off-by: Andy Ross ","shortMessageHtmlLink":"mt8195: Disable GOOGLE AEC MOCK by default"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0wNFQxNTo1MToxNS4wMDAwMDBazwAAAAR3FP3E","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0wNFQxNTo1MToxNS4wMDAwMDBazwAAAAR3FP3E","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wN1QxNzozOTozMC4wMDAwMDBazwAAAAQPXMXE"}},"title":"Activity ยท andyross/sof"}