[gst-devel] gstreamer thinks faac encoded m4a files are quicktime movies

Gunnar Degnbol degnbol at danbbs.dk
Sun Jul 3 15:05:16 CEST 2005


Playing faac encoded m4a files are not possible in Rhythmbox because 
gstreamer returns the type video/quicktime instead of audio/x-m4a, and 
Rhythmbox is not a video player. Files encoded with iTunes play in 
Rhythmbox, and the faac files play in iTunes and on my iPod.

The only reference to this problem I have found is this post from last 
august:
http://readlist.com/lists/gentoo.org/gentoo-user/0/2833.html


"gst-launch -v filesrc=filename ! spider ! alsasink" shows this for an 
iTunes file:

/pipeline0/filesrc0.src: caps = audio/x-m4a
/pipeline0/spider0/sink_ident.sink: caps = audio/x-m4a
/pipeline0/spider0/sink_ident.src: caps = audio/x-m4a
/pipeline0/spider0/qtdemux0.sink: caps = audio/x-m4a
/pipeline0/spider0/qtdemux0.sink: active = TRUE
/pipeline0/spider0/qtdemux0.audio_00: active = TRUE
/pipeline0/spider0/qtdemux0.audio_00: caps = audio/mpeg, 
mpegversion=(int)4, rate=(int)44100, channels=(int)2
/pipeline0/spider0/faad0.sink: caps = audio/mpeg, mpegversion=(int)4, 
rate=(int)44100, channels=(int)2
/pipeline0/spider0/faad0.sink: active = TRUE

And this for an faac file:

/pipeline0/filesrc0.src: caps = video/quicktime
/pipeline0/spider0/sink_ident.sink: caps = video/quicktime
/pipeline0/spider0/sink_ident.src: caps = video/quicktime
/pipeline0/spider0/qtdemux0.sink: caps = video/quicktime
/pipeline0/spider0/qtdemux0.sink: active = TRUE
/pipeline0/spider0/qtdemux0.audio_00: active = TRUE
/pipeline0/spider0/qtdemux0.audio_00: caps = audio/mpeg, 
mpegversion=(int)4, rate=(int)44100, channels=(int)2
/pipeline0/spider0/faad0.sink: caps = audio/mpeg, mpegversion=(int)4, 
rate=(int)44100, channels=(int)2
/pipeline0/spider0/faad0.sink: active = TRUE

A real quicktime movie shows this:

/pipeline0/alsasink0.sink: active = TRUE
/pipeline0/filesrc0.src: caps = video/quicktime
/pipeline0/spider0/sink_ident.sink: caps = video/quicktime
/pipeline0/spider0/sink_ident.src: caps = video/quicktime
/pipeline0/spider0/qtdemux0.sink: caps = video/quicktime
/pipeline0/spider0/qtdemux0.sink: active = TRUE
/pipeline0/spider0/qtdemux0.video_00: active = TRUE
/pipeline0/spider0/qtdemux0.audio_00: active = TRUE
/pipeline0/spider0/qtdemux0.audio_00: caps = audio/mpeg, layer=(int)3, 
mpegversion=(int)1, rate=(int)32000, channels=(int)2
/pipeline0/spider0/mad0.sink: caps = audio/mpeg, layer=(int)3, 
mpegversion=(int)1, rate=(int)32000, channels=(int)2
/pipeline0/spider0/mad0.sink: active = TRUE

I don't know the difference in the file between an iTunes encoded m4a 
and an faac file, but iTunes and iPod happily accepts the faac files.
Since the faac file does not contain any video data I think the 
video/quicktime file type is wrong.


Gunnar




More information about the gstreamer-devel mailing list