Gstreamermm Spectrum Plugin


I am creating a gstreamermm pipeline that uses the "good" spectrum plugin to perform a fft on the audio. I think I have the pipeline working correctly (it plays the file) and I am recieving messages on the bus, but I don't know how to get the information from it. Firstly, is this the correct way to initialize it?

     Glib::RefPtr<Element> spectrum;
     spectrum = ElementFactory::create_element("spectrum");
     spectrum->property("post-messages", true);
     spectrum->property("bands", 20);
     spectrum->property("threshold", -80);

Should it be a RefPtr to an Element or AudioFilter? 

Second, in my bus message listener I have a case for a message type of Gst::MESSAGE_ELEMENT which then calls a function to get the info: "decode_spectrum(const RefPtr<Message> &message);" How do I get info like the name (should be "spectrum") and the data (magnitude in dB)?

Thanks for any insight!

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]