Re: [Rhythmbox-devel] Problem with faac encoded m4a files
- From: Gunnar Degnbol <degnbol danbbs dk>
- To: Jaap Haitsma <jaap haitsma org>
- Cc: rhythmbox-devel gnome org
- Subject: Re: [Rhythmbox-devel] Problem with faac encoded m4a files
- Date: Fri, 24 Jun 2005 02:23:22 +0200
Jaap Haitsma wrote:
Gunnar Degnbol wrote:
I can't get Rhythmbox to play m4a files encoded with faac. m4a files
encoded with iTunes work, and the faac files play on my iPod Shuffle,
and in AmaroK and XMMS.
I am using Fedora Core 4 on x86, and have installed all the plugins and
decoders with yum. faac is compiled from sources, as the rpm does
not have mp4 support.
The -d option tells me the files are identified as video/quicktime
instead of audio/x-m4a (what I see for an iTunes encoded file):
[0x91f5a58] [rb_metadata_load] rb-metadata-gst.c:468 (23:57:25):
loading metadata for uri: file:///home/gunnar/ai/American_Idiot.m4a
[0x91f5a58] [rb_metadata_gst_typefind_cb] rb-metadata-gst.c:421
(23:57:25): found type video/quicktime
[0x91f5a58] [rb_metadata_gst_load_tag] rb-metadata-gst.c:360
(23:57:25): uri: file:///home/gunnar/ai/American_Idiot.m4a tag: title
...
--gst-debug-level=5 produces a 1.2 MB logfile, that is a bit hard to make
sense of. Gstreamer seems to understand that it is an audio file,
until it
suddenly is a video.
Is this a Rhythmbox problem or a Gstreamer bug? Has anybody had any
similar
problem?
I guess it's gstreamer bug. You can try playing it using the command
line utility gst-launch (Do a man gst-launch to see how to play a music
file). If you see the same behaviour ovethere it's caused by gstreamer
Jaap
It depends. "gst-launch -v filesrc=filename ! spider ! alsasink" plays
both files, but it also plays the audio side of a QuickTime movie, which
Rhythmbox of course wants to avoid.
The faac encoded aac file 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.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
While the 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
The bug could be fixed in one or all of faac, which could be more like
the iTunes encoder (though it is good enough for iTunes and iPod), or
gstreamer, which ought to know that a file without a video stream is not
a QuickTime movie, or Rhythmbox, which could identify videos using the
presence of a video stream, instead of relying on the mime type returned
by gstreamer.
Gunnar
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]