Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

audio: codec_adapter: add Waves MaxxEffect API #3938

Closed
wants to merge 1 commit into from

Conversation

stolx
Copy link
Contributor

@stolx stolx commented Mar 20, 2021

add Waves MaxxEffect API definition.
API is required to build SOF with Waves codec.

Signed-off-by: Oleksandr Strelchenko oleksandr.strelchenko@waves.com

@stolx
Copy link
Contributor Author

stolx commented Mar 20, 2021

Hi, @cujomalainey @lgirdwood
as discussed adding Waves API definition.
since it should be on the include path I usually add it directly into src/include/ folder for local build. Not sure if it is the correct place upstream.
Please tell me if I should move API into a different folder. Note it will require adding that place to includes.

Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks all fine, just minor stuff really.

#ifndef MAXX_EFFECT_REVISION_H
#define MAXX_EFFECT_REVISION_H

#include "MaxxEffect/MaxxEffect.h"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All these headers should be under src/include/sof/audio/

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We als need a SPDX licence at the top of each file too.

Copy link
Contributor Author

@stolx stolx Mar 20, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lgirdwood regarding files placement
our API uses relative include paths like #include "MaxxEffect/MaxxEffect.h"
this requires that a folder with API is on includes path
by default src/include/sof/audio/ is not on path
will it be ok if I add it on path? something like this:

--- a/src/audio/codec_adapter/CMakeLists.txt
+++ b/src/audio/codec_adapter/CMakeLists.txt
@@ -13,4 +13,5 @@ endif()
 if(CONFIG_WAVES_CODEC)
 add_local_sources(sof codec/waves.c)
 sof_add_static_library(MaxxChrome ${CMAKE_CURRENT_LIST_DIR}/lib/release/libMaxxChrome.a)
+target_include_directories(sof PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../../include/sof/audio/)
 endif()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lgirdwood moved files and added SPDX licence identifier

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, adding this to Makefile is good.

MaxxStatus_t MaxxEffect_Revision_Get(
MaxxEffect_t* effect,
const char** revision,
uint32_t* bytes);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will need to include <stdint.h> for every file that uses the standard int types.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, thanks

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if <stdint.h> is included in a header that is included in another file?
Even then?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stolx Yes, you should include it even there. Do not ever rely on indirect inclusions, because they may change and cause headaches for future work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, got it, thanks.

#endif

/*******************************************************************************
* Get null-terminated revision string.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SOF uses doxygen for code documentation, this looks like one of the doxygen supported formats, can you confirm ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, this is a doxygen annotation

add Waves MaxxEffect API definition.
API is required to build SOF with Waves codec.

Signed-off-by: Oleksandr Strelchenko <oleksandr.strelchenko@waves.com>
@cujomalainey
Copy link
Contributor

this looks good to me. This is much appreciated.

One request, please associate your @waves.com email with your github account so we can ping people easily if bugs arise and we are looking up authors.

@stolx
Copy link
Contributor Author

stolx commented Mar 22, 2021

sure, done

@marc-hb
Copy link
Collaborator

marc-hb commented Mar 22, 2021

https://github.com/thesofproject/sof/pull/3938/checks?check_run_id=2159191749 has sof/src/include/sof/audio/MaxxEffect/MaxxStream.h:97: error: unable to resolve reference to 'CoreConcepts_DataPath_StreamFormat' for \ref command and checkpatch reports many whitespace issues.

@fredoh9 https://github.com/thesofproject/sof/pull/3938/checks?check_run_id=2159191993 has more QEMU or Docker errors and cancellations like in #3941

@lgirdwood
Copy link
Member

SOFCI TEST

@lgirdwood
Copy link
Member

Retry CI, seems to be some unrelated issues being reported too.

@lgirdwood
Copy link
Member

@stolx can you fix the doxygen CI issues, the others look unrelated and could be a Docker quota limit on GH actions or Travis.

@lgirdwood
Copy link
Member

GH actions seem to be working again. Lets rerun CI.

@lgirdwood
Copy link
Member

SOFCI TEST

@@ -13,4 +13,5 @@ endif()
if(CONFIG_WAVES_CODEC)
add_local_sources(sof codec/waves.c)
sof_add_static_library(MaxxChrome ${CMAKE_CURRENT_LIST_DIR}/lib/release/libMaxxChrome.a)
target_include_directories(sof PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../../include/sof/audio/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is implied by default isnt it?

@lgirdwood lgirdwood closed this Mar 28, 2021
@lgirdwood lgirdwood deleted the branch thesofproject:master March 28, 2021 13:44
@paulstelian97
Copy link
Collaborator

@stolx You may need to resubmit this pull request, due to change of branch name from "master" to "main".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants