[gst-devel] faad plugin and "Gain control not yet implemented"
Stefan Monnier
monnier at iro.umontreal.ca
Thu Apr 14 14:37:13 CEST 2005
I'm trying to get my Rhythmbox to play my m4a files on a Fedora Core 2 box.
I installed the faad2-2.0-2.20040923.1.fc2.rf.x86_64.rpm package.
The "faad" command can decode my m4a files just fine.
I also compiled gst-plugins-0.8.9 (actually "cvs update -r RELEASE_0_8_9")
with mad and faad. The mad plugin part plays my MP3 just fine (thank god:
I couldn't stand xmms's skips any more), but the faad plugin doesn't work:
- first I had to tweak the configure script because it tries to compile
a file with a call to faacDecOpen, but the C file is wrong.
It does something like
void faacDecOpen ();
main () { faacDecOpen(); }
which will fail because on my faad2 package the faad.h include file
renames faacDecOpen via a macro, so I replaced the test code with:
#include <faad.h>
main () { faacDecOpen(); }
- but once the compilation went through I still can't get it to work.
all commands give me an error "Gain control not yet implemented".
I tried googling but haven't found any useful answer.
I've appended the debug-level-3 output, just in case it might help,
Stefan
% gst-launch-0.8 --gst-debug-level 3 filesrc location=$HOME/music/scratch/Fito\ Paez/Antologia/1-11\ 11\ Y\ 6.m4a ! faad ! filesink location=/dev/null
INFO (0x50acc0 - 309304:23:52.278169000) GST_INIT(19125) gstcpu.c(55):_gst_cpu_initialize: CPU features: (00000000) NONE
INFO (0x50acc0 - 309304:23:52.279647000) GST_PLUGIN_LOADING(19125) gstplugin.c(134):_gst_plugin_register_static: loaded static plugin "gstcoreelements"
INFO (0x50acc0 - 309304:23:52.285902000) default(19125) gstxmlregistry.c(697):gst_xml_registry_load: loaded user_registry in 0,000309 seconds (/u/monnier/.gstreamer-0.8/registry.xml)
INFO (0x50acc0 - 309304:23:52.502321000) default(19125) gstxmlregistry.c(697):gst_xml_registry_load: loaded global_registry in 0,213623 seconds (/u/monnier/pkg/gstreamer/var/cache/gstreamer-0.8/registry.xml)
INFO (0x50acc0 - 309304:23:52.503019000) GST_PIPELINE(19125) gstparse.c(130):gst_parse_launch: parsing pipeline description filesrc location=/u/monnier/music/scratch/Fito\ Paez/Antologia/1-11\ 11\ Y\ 6.m4a ! faad ! filesink location=/dev/null
INFO (0x50acc0 - 309304:23:52.509377000) GST_PLUGIN_LOADING(19125) gstplugin.c(356):gst_plugin_check_file: looks like a gst plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstelements.so"
INFO (0x50acc0 - 309304:23:52.515159000) GST_PLUGIN_LOADING(19125) gstplugin.c(447):gst_plugin_load_file: plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstelements.so" loaded
INFO (0x50acc0 - 309304:23:52.517879000) GST_ELEMENT_FACTORY(19125) gstelementfactory.c(298):gst_element_factory_create: creating "filesrc"
INFO (0x50acc0 - 309304:23:52.522801000) GST_ELEMENT_PADS(19125) gstelement.c(1175):gst_element_add_pad:<GstFileSrc at 0x5e27d0> adding pad 'src'
INFO (0x50acc0 - 309304:23:52.540101000) GST_PLUGIN_LOADING(19125) gstplugin.c(356):gst_plugin_check_file: looks like a gst plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstfaad.so"
INFO (0x50acc0 - 309304:23:52.543433000) GST_PLUGIN_LOADING(19125) gstplugin.c(356):gst_plugin_check_file: looks like a gst plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstaudio.so"
INFO (0x50acc0 - 309304:23:52.545974000) GST_PLUGIN_LOADING(19125) gstplugin.c(447):gst_plugin_load_file: plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstaudio.so" loaded
INFO (0x50acc0 - 309304:23:52.550718000) GST_PLUGIN_LOADING(19125) gstplugin.c(447):gst_plugin_load_file: plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstfaad.so" loaded
INFO (0x50acc0 - 309304:23:52.555338000) GST_ELEMENT_FACTORY(19125) gstelementfactory.c(298):gst_element_factory_create: creating "faad"
INFO (0x50acc0 - 309304:23:52.560355000) GST_ELEMENT_PADS(19125) gstelement.c(1175):gst_element_add_pad:<GstFaad at 0x5e5ad0> adding pad 'sink'
INFO (0x50acc0 - 309304:23:52.565339000) GST_ELEMENT_PADS(19125) gstelement.c(1175):gst_element_add_pad:<GstFaad at 0x5e5ad0> adding pad 'src'
INFO (0x50acc0 - 309304:23:52.570190000) GST_ELEMENT_FACTORY(19125) gstelementfactory.c(298):gst_element_factory_create: creating "filesink"
INFO (0x50acc0 - 309304:23:52.575163000) GST_ELEMENT_PADS(19125) gstelement.c(1175):gst_element_add_pad:<GstFileSink at 0x5e6c00> adding pad 'sink'
INFO (0x50acc0 - 309304:23:52.580333000) GST_ELEMENT_FACTORY(19125) gstelementfactory.c(298):gst_element_factory_create: creating "pipeline"
INFO (0x50acc0 - 309304:23:52.586464000) GST_PLUGIN_LOADING(19125) gstplugin.c(356):gst_plugin_check_file: looks like a gst plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstoptscheduler.so"
INFO (0x50acc0 - 309304:23:52.590995000) GST_PLUGIN_LOADING(19125) gstplugin.c(447):gst_plugin_load_file: plugin "/u/monnier/pkg/gstreamer/lib/gstreamer-0.8/libgstoptscheduler.so" loaded
INFO (0x50acc0 - 309304:23:52.595438000) GST_PARENTAGE(19125) gstbin.c(526):gst_bin_add:<pipeline0> adding element "filesrc0"
INFO (0x50acc0 - 309304:23:52.600340000) GST_PARENTAGE(19125) gstbin.c(526):gst_bin_add:<pipeline0> adding element "faad0"
INFO (0x50acc0 - 309304:23:52.605120000) GST_PARENTAGE(19125) gstbin.c(526):gst_bin_add:<pipeline0> adding element "filesink0"
INFO (0x50acc0 - 309304:23:52.610095000) GST_PIPELINE(19125) ./grammar.y(413):gst_parse_perform_link: linking filesrc0:(any) to faad0:(any) (0/0) with caps "(NULL)"
INFO (0x50acc0 - 309304:23:52.615084000) GST_ELEMENT_PADS(19125) gstelement.c(1893):gst_element_link_pads_filtered: trying to link element filesrc0:(any) to element faad0:(any)
INFO (0x50acc0 - 309304:23:52.619908000) GST_PADS(19125) gstpad.c(1693):gst_pad_can_link_filtered: trying to link filesrc0:src and faad0:sink
INFO (0x50acc0 - 309304:23:52.624922000) GST_PADS(19125) gstpad.c(1814):gst_pad_link_filtered: trying to link filesrc0:src and faad0:sink
INFO (0x50acc0 - 309304:23:52.629999000) scheduler(19125) gstoptimalscheduler.c(2123):gst_opt_scheduler_pad_link: scheduling link between filesrc0:src and faad0:sink
INFO (0x50acc0 - 309304:23:52.640281000) GST_PADS(19125) gstpad.c(1908):gst_pad_link_filtered: linked filesrc0:src and faad0:sink, successful
INFO (0x50acc0 - 309304:23:52.640642000) GST_PIPELINE(19125) ./grammar.y(413):gst_parse_perform_link: linking faad0:(any) to filesink0:(any) (0/0) with caps "(NULL)"
INFO (0x50acc0 - 309304:23:52.645631000) GST_ELEMENT_PADS(19125) gstelement.c(1893):gst_element_link_pads_filtered: trying to link element faad0:(any) to element filesink0:(any)
INFO (0x50acc0 - 309304:23:52.650727000) GST_PADS(19125) gstpad.c(1693):gst_pad_can_link_filtered: trying to link faad0:src and filesink0:sink
INFO (0x50acc0 - 309304:23:52.656387000) GST_PADS(19125) gstpad.c(1814):gst_pad_link_filtered: trying to link faad0:src and filesink0:sink
INFO (0x50acc0 - 309304:23:52.661668000) scheduler(19125) gstoptimalscheduler.c(2123):gst_opt_scheduler_pad_link: scheduling link between faad0:src and filesink0:sink
INFO (0x50acc0 - 309304:23:52.665489000) GST_PADS(19125) gstpad.c(1908):gst_pad_link_filtered: linked faad0:src and filesink0:sink, successful
RUNNING pipeline ...
INFO (0x50acc0 - 309304:23:52.675218000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<pipeline0> setting state from NULL to PLAYING
INFO (0x50acc0 - 309304:23:52.680211000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesrc0> setting state from NULL to READY
INFO (0x50acc0 - 309304:23:52.685192000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<faad0> setting state from NULL to READY
INFO (0x50acc0 - 309304:23:52.690435000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesink0> setting state from NULL to READY
INFO (0x50acc0 - 309304:23:52.695357000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesrc0> setting state from READY to PAUSED
INFO (0x50acc0 - 309304:23:52.700323000) filesrc(19125) gstfilesrc.c(771):gst_filesrc_open_file:<filesrc0> opening file /u/monnier/music/scratch/Fito Paez/Antologia/1-11 11 Y 6.m4a
INFO (0x50acc0 - 309304:23:52.706459000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<faad0> setting state from READY to PAUSED
INFO (0x50acc0 - 309304:23:52.711307000) GST_CAPS(19125) gstpad.c(1334):gst_pad_link_call_link_functions:<faad0:src> pad doesn't accept caps audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)8000, channels=(int)1
INFO (0x50acc0 - 309304:23:52.715217000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesink0> setting state from READY to PAUSED
INFO (0x50acc0 - 309304:23:52.721248000) GST_CAPS(19125) gstpad.c(1334):gst_pad_link_call_link_functions:<faad0:src> pad doesn't accept caps audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)8000, channels=(int)1
INFO (0x50acc0 - 309304:23:52.725358000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesrc0> setting state from PAUSED to PLAYING
INFO (0x50acc0 - 309304:23:52.730326000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<faad0> setting state from PAUSED to PLAYING
INFO (0x50acc0 - 309304:23:52.735295000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesink0> setting state from PAUSED to PLAYING
INFO (0x50acc0 - 309304:23:52.745122000) scheduler(19125) gstoptimalscheduler.c(1690):gst_opt_scheduler_state_transition: setting scheduler state to running
INFO (0x50acc0 - 309304:23:52.745717000) GST_EVENT(19125) gstevent.c(175):gst_event_new: creating new event type 4: 0x52d550
INFO (0x50acc0 - 309304:23:52.750518000) GST_PADS(19125) gstpad.c(4045):gst_pad_event_default_dispatch:<faad0:sink> Sending event 0x52d550 to all internally linked pads
INFO (0x50acc0 - 309304:23:52.755333000) GST_EVENT(19125) gstevent.c(96):_gst_event_free: freeing event 0x52d550
ERROR (0x50acc0 - 309304:23:52.760675000) default(19125) gstfaad.c(637):gst_faad_chain:<faad0> Failed to decode buffer: Gain control not yet implemented
INFO (0x50acc0 - 309304:23:52.765272000) GST_ERROR_SYSTEM(19125) gstelement.c(2606):gst_element_error_full: signaling error in faad0: Could not decode stream.
ERROR: from element /pipeline0/faad0: Could not decode stream.
Additional debug info:
gstfaad.c(637): gst_faad_chain: /pipeline0/faad0:
Failed to decode buffer: Gain control not yet implemented
INFO (0x50acc0 - 309304:23:52.785033000) GST_ERROR_SYSTEM(19125) gstelement.c(2634):gst_element_error_full: signalled error in faad0: Could not decode stream.
INFO (0x50acc0 - 309304:23:52.785356000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<faad0> setting state from PLAYING to PAUSED
ERROR (0x50acc0 - 309304:23:52.790264000) scheduler(19125) gstoptimalscheduler.c(2797):gst_opt_scheduler_iterate:<GstOptScheduler at 0x5e8960> in error state
INFO (0x50acc0 - 309304:23:52.795587000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<pipeline0> setting state from PLAYING to PAUSED
INFO (0x50acc0 - 309304:23:52.800564000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesrc0> setting state from PLAYING to PAUSED
INFO (0x50acc0 - 309304:23:52.805387000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesink0> setting state from PLAYING to PAUSED
INFO (0x50acc0 - 309304:23:52.810360000) scheduler(19125) gstoptimalscheduler.c(1686):gst_opt_scheduler_state_transition: setting scheduler state to stopped
Execution ended after 2 iterations (sum 69686000 ns, average 34843000 ns, min 14613000 ns, max 55073000 ns).
INFO (0x50acc0 - 309304:23:52.821741000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<pipeline0> setting state from PAUSED to NULL
INFO (0x50acc0 - 309304:23:52.827166000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesrc0> setting state from PAUSED to READY
INFO (0x50acc0 - 309304:23:52.831745000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<faad0> setting state from PAUSED to READY
INFO (0x50acc0 - 309304:23:52.841398000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesink0> setting state from PAUSED to READY
INFO (0x50acc0 - 309304:23:52.841791000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesrc0> setting state from READY to NULL
INFO (0x50acc0 - 309304:23:52.851684000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<faad0> setting state from READY to NULL
INFO (0x50acc0 - 309304:23:52.852098000) GST_STATES(19125) gstelement.c(2825):gst_element_set_state_func:<filesink0> setting state from READY to NULL
INFO (0x50acc0 - 309304:23:52.856921000) scheduler(19125) gstoptimalscheduler.c(2650):gst_opt_scheduler_pad_unlink: unscheduling link between filesrc0:src and faad0:sink
INFO (0x50acc0 - 309304:23:52.861949000) GST_PARENTAGE(19125) gstbin.c(572):gst_bin_remove_func:<pipeline0> removed child "filesrc0"
INFO (0x50acc0 - 309304:23:52.866862000) GST_REFCOUNTING(19125) gstelement.c(3103):gst_element_dispose:<filesrc0> dispose
INFO (0x50acc0 - 309304:23:52.871655000) GST_ELEMENT_PADS(19125) gstpad.c(1015):gst_pad_unlink: unlinking filesrc0:src(0x5e3780) and faad0:sink(0x5e5ee0)
INFO (0x50acc0 - 309304:23:52.876649000) GST_ELEMENT_PADS(19125) gstpad.c(1071):gst_pad_unlink: unlinked filesrc0:src and faad0:sink
INFO (0x50acc0 - 309304:23:52.881637000) scheduler(19125) gstoptimalscheduler.c(2650):gst_opt_scheduler_pad_unlink: unscheduling link between faad0:src and filesink0:sink
INFO (0x50acc0 - 309304:23:52.886439000) GST_PARENTAGE(19125) gstbin.c(572):gst_bin_remove_func:<pipeline0> removed child "faad0"
INFO (0x50acc0 - 309304:23:52.891415000) GST_REFCOUNTING(19125) gstelement.c(3103):gst_element_dispose:<faad0> dispose
INFO (0x50acc0 - 309304:23:52.896380000) GST_ELEMENT_PADS(19125) gstpad.c(1015):gst_pad_unlink: unlinking faad0:src(0x5e6850) and filesink0:sink(0x5e6d50)
INFO (0x50acc0 - 309304:23:52.901733000) GST_ELEMENT_PADS(19125) gstpad.c(1071):gst_pad_unlink: unlinked faad0:src and filesink0:sink
INFO (0x50acc0 - 309304:23:52.906508000) GST_PARENTAGE(19125) gstbin.c(572):gst_bin_remove_func:<pipeline0> removed child "filesink0"
INFO (0x50acc0 - 309304:23:52.911468000) GST_REFCOUNTING(19125) gstelement.c(3103):gst_element_dispose:<filesink0> dispose
INFO (0x50acc0 - 309304:23:52.916444000) GST_REFCOUNTING(19125) gstelement.c(3103):gst_element_dispose:<pipeline0> dispose
%
More information about the gstreamer-devel
mailing list