your chance to merge Ardour and GStreamer

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

your chance to merge Ardour and GStreamer

Paul Davis-2
Yes folks, its finally happened. I've finally conceded that Ardour might
actually have a role for GStreamer :)

I've just finished the work to use Apple's ExtAudioFile API to add
support for a number of audio file formats to Ardour on OS X, formats
not handled by libsndfile. It has occured to me that we could follow an
identical pathway on Linux (and OS X) to add support for files
handleable by GStreamer/GstPlugins that are not handled by libsndfile.
So this is a chance for some brave soul to unite GStreamer with Ardour
(and who knows where it will lead ...)

What is needed is relatively simple. Really nothing more than this
class:

class GstAudioFileSource : public AudioFileSource {
 public:
        GstAudioFileSource (const std::string& path);
        ~GstAudioFileSource ();

        /* should be obvious */
        float sample_rate () const;

        static int get_soundfile_info (const std::string& path,
               SoundFileInfo& _info, std::string& error_msg);

  protected:
        /* read cnt samples from one channel, in 32 bit float format,
           starting at start
         */

        nframes_t read_unlocked (float *dst,
                          nframes_t start, nframes_t cnt) const;

};

that is: code to initialize the object give a path, a static function to
return length, channel count and sample rate info given a path, and a
method to read a given number of audio samples from a specified
location.

Are there existing helper libs for Gst that would make this trivial to
implement? Is anyone interested in helping out with this? The result
would be:
   
   (a) in combination with Fluendo's MP3 support, Ardour could read
        MP3 files
   (b) in combination with existing Gstreamer plugins, Ardour could
        import (and edit) the audio from existing A/V files.

--p



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: your chance to merge Ardour and GStreamer

Paul Brossier-5
Hi Paul!

Good news!

I would definitely be happy to help on this. It shouldn't be too much
code writing. I won't have much time before next week, but i will pop in
on #ardour then, if no one jumps on it before!

Best, Paul

On Wed, 2008-02-27 at 08:51 -0500, Paul Davis wrote:

> Yes folks, its finally happened. I've finally conceded that Ardour might
> actually have a role for GStreamer :)
>
> I've just finished the work to use Apple's ExtAudioFile API to add
> support for a number of audio file formats to Ardour on OS X, formats
> not handled by libsndfile. It has occured to me that we could follow an
> identical pathway on Linux (and OS X) to add support for files
> handleable by GStreamer/GstPlugins that are not handled by libsndfile.
> So this is a chance for some brave soul to unite GStreamer with Ardour
> (and who knows where it will lead ...)
>
> What is needed is relatively simple. Really nothing more than this
> class:
>
> class GstAudioFileSource : public AudioFileSource {
>  public:
> GstAudioFileSource (const std::string& path);
> ~GstAudioFileSource ();
>
> /* should be obvious */
> float sample_rate () const;
>
> static int get_soundfile_info (const std::string& path,
>                SoundFileInfo& _info, std::string& error_msg);
>
>   protected:
> /* read cnt samples from one channel, in 32 bit float format,
>            starting at start
>          */
>
> nframes_t read_unlocked (float *dst,
>                           nframes_t start, nframes_t cnt) const;
>
> };
>
> that is: code to initialize the object give a path, a static function to
> return length, channel count and sample rate info given a path, and a
> method to read a given number of audio samples from a specified
> location.
>
> Are there existing helper libs for Gst that would make this trivial to
> implement? Is anyone interested in helping out with this? The result
> would be:
>    
>    (a) in combination with Fluendo's MP3 support, Ardour could read
>         MP3 files
>    (b) in combination with existing Gstreamer plugins, Ardour could
>         import (and edit) the audio from existing A/V files.
>
> --p
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel