-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
New SoundSource/AudioSource API #411
Conversation
Most of the audio decoders should be in a pretty good condition now:
I'm already using the new code in "production-like" scenarios (at least M4A, MP3, FLAC), no problems so far. The following decoders have only been adapted to the new Audio-/SoundSource interfaces, compile without errors, and should (as far as I was able to test it) work:
|
OK, probably I should look only on you final result. |
#define strncasecmp strnicmp | ||
#endif | ||
|
||
#ifdef __M4AHACK__ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's this for? Inst uint32_t and unsigned long equal on our target devices?
Please add a comment to the code.
I get a segfault when enabling keylock using soundtouch: Note: nonZeroCount was 20832, is now 20745 Program received signal SIGABRT, Aborted. |
* is moved to the beginning of m_leftoverBuffer, so empty it first (possibly | ||
* with this method). If src and dest overlap, I'll hurt you. | ||
*/ | ||
void AudioSourceMediaFoundation::copyFrames(sample_type *dest, size_t *destFrames, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can probably improve this by using https://github.com/mixxxdj/mixxx/blob/master/src/util/pa_ringbuffer.c
I do not want to put this work on you. So please left a TODO(XXX) here.
Thanks to Stephan Balmer for the detailed report and the files!
...and fix the "bits per sample" attribute
Conflicts: src/library/browse/browsetablemodel.cpp
Doof, I accidentally merged this to master. |
Really sorry about that :(. On the plus side, this branch can now merge to master since we've cut a 1.12 release branch :). |
@uklotzde I sent you a PR that fixes the mac build. |
@rryan Thanks for the OS X fixes! Actually less than I expected :) Should I open a new PR for this branch? |
@uklotzde -- no need -- just merged to master for real now. Thanks! |
This seams to be fail on Window builds. Any idea? |
The prefix "audioSrcCfg." is missing -> "audioSrcCfg.channelCountHint" Caused by a last minute change yesterday. I enclosed this configuration On 04/23/2015 07:22 AM, Daniel Schürmann wrote:
|
This is the first step towards a better/cleaner SoundSource API.
The operations for reading audio data have been moved into the
new abstract base class AudioSource.
Currently SoundSource inherits from AudioSource for technical reasons.
This is too much much coupling that needs to be broken up. I have
already some ideas on how to resolve it, but first this work needs to
be integrated.
During the refactoring I've noticed, that the quality and maturity of the
audio decoders for different file types greatly varies:
Good/mature:
Mediocre:
Ugly/inefficient:
Untested AudioSource API:
Unfinished AudioSource API (just a hack):
Especially the code for the M4A decoder should be revised and cleaned up as
soon as possible, followed by a review of the MP3 decoder. Reading audio
data must work as stable and efficient as possible. This has priority over
the improvement of the internal software architecture!