I continue to plod away at this...

Amazingly if you are familiar enough with the .m4a song, you can pick out
some familiar bits from the extremely gittery sound.

I'm missing something, its probably something obvious, but I can't spot it
atm.

To use the attached code, explode it in your src/ folder, make sure you have
libmp4v2-dev and libfaad-dev installed.   Compile, run and drop a M4A in
your library, and load/play it.

On my eeepc it only seems to correctly load the song 1/4th of the time (and
we always load at least two instances of a song every time we start it on a
deck: 1x waveform, 1x audio data, etc), so you have to be patient when
trying to load/play.

Cheers,

-G

On Mon, Sep 1, 2008 at 11:10 PM, Garth Dahlstrom <[EMAIL PROTECTED]>wrote:

> So I decided to take another look at this work starting with some digging
> through Ubuntu using "apt-get rdepends" to see what apps depend on
> libmp4v2...   I settled on a c application called cmus.   I thought maybe
> the code for the mp4 plugin could serve as a basis for our own sound source
> file.
>
> I decided to have a go at converting the plugin to c++ and trying to reduce
> the number of dependencies on other cmus source files...  I'm not a great
> pure c dev to begin with ( it took me a while to figure out that I needed to
> explicitly cast stuff when moving from c -> c++ )...
>
> The attached code is as condensed as I could get it...  I expect this guts
> of this plugin will more or less replace the crap I checked in before (with
> the exception of the parseHeader function I wrote previously); i.e. a faad
> AAC decode is required to actually get sound out of a m4a...   I'm not sure
> how well the model for fetching frames lines up with the soundsource format
> of reading data cause I'm not too familar with either.
>
> Attachments:
> - mp4-ged.cpp - modified version of cmus mp4.c (
> http://repo.or.cz/w/cmus.git?a=blob_plain;f=mp4.chb=ed1b8ff4adff64788da84c51e4c149c824dcd7d6
> )
> - *.h - header files needed to get it to compile
>
> g++ $(pkg-config --cflags QtCore) $(pkg-config --libs-only-l QtCore)
> -lmp4v2 -lfaad -o mp4-ged mp4-ged.cpp
>
> The above command is how I tested I satisfied everything, it will bitch
> about missing _start because it has no main() method.
>
> Hopefully this brain dump can serve to inspire others. :D
>
> -G
>
> On Sun, Aug 24, 2008 at 2:53 AM, Garth Dahlstrom <[EMAIL PROTECTED]>wrote:
>
>> With r2269, I committed 5 updated files (soundsourcem4a.cpp) to partially
>> enable M4A support for Mixxx.  If the C header for libmp4v2 is found in your
>> /usr/include directory (from "libmp4v2-dev"), this will be enabled in the
>> build.
>>
>> It's able to parse the header file, and I think the init is okay. The read
>> and seek functions don't work however...  I roughed out what I thought was
>> needed for these, but they don't work. :(
>>
>> So, if anyone wants to take a crack at fixing this, I'd sure appreciate
>> the help.    I've mostly been going off the docs for mp4.h @
>> http://linux.die.net/man/3/mp4
>>
>> Cheers,
>>
>> -G
>>
>> --
>> __
>> --- == __/ t.O ==--
>> http://stacktrace.org/
>>
>
>
>
> --
> __
> --- == __/ t.O ==--
> http://stacktrace.org/
>



-- 
__
--- == __/ t.O ==--
http://stacktrace.org/

Attachment: soundsourcem4a-2008-09-07.tar.bz2
Description: BZip2 compressed data

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to