[ANN] gst-openmax 0.10.1 stable release

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

[ANN] gst-openmax 0.10.1 stable release

Felipe Contreras
Hi,

It has been a long time but finally it's here; the first stable
release of gst-openmax. Most likely it has been stable for quite some
time, but only now the code-style has migrated to GStreamer one, and a
bunch of patches from TI have been merged, so it seems like a good
time to release.

Also, this version now features a configuration mechanism, so you can
select pretty much every combination of GStreamer elements you might
need, and specify the OpenMAX IL library, component name, role, and
even your desired rank.

gst-openmax has been tested in multiple OpenMAX IL implementations,
such as Bellagio, and Texas Instrument's OMAP. Depending on the
implementation some changes might be needed, but ideally it should
work straight out-of-the-box. If you find that some changes are
needed, please contribute the changes back.

Elements supported

 * MPEG-4 encoder/decoder
 * H.263 encoder/decoder
 * H.264 encoder/decoder
 * WMV decoder
 * Vorbis decoder
 * MP3 decoder
 * Volume filter

Experimental elements (should work but not extensively tested)

 * AMR-NB encoder/decoder
 * AMR-WB encoder/decoder
 * AAC encoder/decoder
 * MP2 decoder
 * ADPCM encoder/decoder
 * G.711 encoder/decoder
 * G.729 encoder/decoder
 * iLBC encoder/decoder
 * JPEG encoder
 * video renderer
 * file reader

Compared to previous pre-releases, this version now features a configuration
mechanism, so you can select pretty much every combination of GStreamer
elements you might need, and specify the OpenMAX IL library, component name,
role, and even your desired rank.

Tarballs can be found here:
http://gstreamer.freedesktop.org/src/gst-openmax/

Compared to v0.10.0.5:

Felipe Contreras (33):
      Update I420 to PackedPlanar
      util: trivial cleanup
      util: improve timeout messages
      util: cleanup ports when going to loaded
      util: increase timeout value
      base_videoenc: use 0 as automatic bitrate
      videodec: handle empty framerate
      build: update 'common' stuff
      util: fix compilation warning
      base_filter: trivial cleanup
      base_filter: more proper printf formatting
      base_sink: remove dead assignment
      videodec: fallback framerate to 0/1
      tests: trivial fix
      Move component and library name fields to 'util'
      Reorganize core_new()
      Reorganize {library,component}-name assigns
      Make {component,library}-name read-only
      base: remove unused set_property()
      base: remove extra code
      plugin: reorganize code into get_config_path()
      plugin: add support for system-wide config
      Add example configuration
      plugin: reorganize element_table init
      plugin: make element_table const
      plugin: add support dependencies
      plugin: store element_table in plugin cache
      base-filter: improve EOS handling
      Fix compilation warnings
      Change to gst coding-style
      Generate ChangeLog
      build: remove patches extra dir
      build: add missing files to the dist

Mark Nauwelaerts (1):
      base_filter: fix race condition when shutting down

Rob Clark (21):
      Fixes for building for 64bit host
      Initial support for configuration file
      Add default configuration
      tests: update to use config file
      build: fixes for out-of-tree
      Use G_PARAM_STATIC_STRINGS
      basefilter: small fix for compile error
      Add GSTOMX_BOILERPLATE macros
      util: thread safety for _get_type() functions
      Construct GOmxPort objects in element constructor
      Simplify g_omx_port_setup()
      Don't hard-code port indexes
      core: call OMX_GetHandle in g_omx_core_new
      util: add some debug traces
      Add G_OMX_INIT_PARAM utility macro
      Add property helpers
      Add component-role support
      base: add input-buffers/output-buffers properties
      Add some debug traces
      Add GstOmxBaseAudioDec base class
      replace deprecated API

Total contributions for v0.10.1:

     1 David Schleef
     2 Edward Hervey
   370 Felipe Contreras
     2 Frederik Vermelen
     1 Frederik Vernelen
     4 Jan Schmidt
     1 Marco Ballesio
     9 Mark Nauwelaerts
     1 Olivier Crête
    16 René Stadler
    21 Rob Clark
     4 Sebastian Dröge
     1 Sriram Murthy
     1 Stefan Kost
     1 Tim-Philipp Müller

Thanks to all the contributors!

Cheers.

--
Felipe Contreras

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] gst-openmax 0.10.1 stable release

cristian
I had use openmax in some of my applications and I want to see if I am doing wrong or indeed it is a bug.
I have two simple applications that decodes mp3 files : in first app I use the "mad" element for the decoder in my pipeline. Using threads , once I start the application the thread starts and begins to get the current time of stream ( I use "gst_element_query_position (pipeline, &fmt, &pos)" then with printf I display the current time on my output (like this <printf ("timestamp: %" , GST_TIME_FORMAT, GST_TIME_ARGS (pos));>. It works fine, but I put a sleep(1) in my thread to display once every 1 second.
The second application, same thing but as a decoder I use "nv_omx_mp3dec" element. Once I compile (no errors) and start the application, I get the current time always zero.
If anyone has the same problem or check if this is wrong and it works , please i would like to know.

Cristi
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] gst-openmax 0.10.1 stable release

Clark, Rob


On Mon, Oct 4, 2010 at 5:27 AM, cristiurban <[hidden email]> wrote:

I had use openmax in some of my applications and I want to see if I am doing
wrong or indeed it is a bug.
I have two simple applications that decodes mp3 files : in first app I use
the "mad" element for the decoder in my pipeline. Using threads , once I
start the application the thread starts and begins to get the current time
of stream ( I use "gst_element_query_position (pipeline, &fmt, &pos)" then
with printf I display the current time on my output (like this <printf
("timestamp: %" , GST_TIME_FORMAT, GST_TIME_ARGS (pos));>. It works fine,
but I put a sleep(1) in my thread to display once every 1 second.
The second application, same thing but as a decoder I use "nv_omx_mp3dec"
element. Once I compile (no errors) and start the application, I get the
current time always zero.
If anyone has the same problem or check if this is wrong and it works ,
please i would like to know.


Could you give the pipeline you are using in either case?  You may need an mp3parse before the decoder (if you don't already have one).

BR,
-R
 


------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] gst-openmax 0.10.1 stable release

cristian
The pipeline I am using is :
gst-launch -v filesrc location=<path to media file> ! nv_omx_mp3dec ! audioconverter ! audioresample ! alsasink (used -v for debug)
This is a command that you should verify that it is working, for these to work you must have the nvidia sound drivers. Of course, my app is in C source, and somewhere after I give the playing state I try to extract the current time and then I get zero.
If this doesn't work try the same pipeline but you must replace the "nv_omx_decoder" with "mad" and works just fine, but this I know. In time I had beed looking in OMX API to see if something wrong there, but no result yet.

Cristi.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] gst-openmax 0.10.1 stable release

Clark, Rob


On Mon, Oct 4, 2010 at 9:44 AM, cristiurban <[hidden email]> wrote:

The pipeline I am using is :
gst-launch -v filesrc location=<path to media file> ! nv_omx_mp3dec !
audioconverter ! audioresample ! alsasink (used -v for debug)
This is a command that you should verify that it is working, for these to
work you must have the nvidia sound drivers. Of course, my app is in C
source, and somewhere after I give the playing state I try to extract the
current time and then I get zero.
If this doesn't work try the same pipeline but you must replace the
"nv_omx_decoder" with "mad" and works just fine, but this I know. In time I
had beed looking in OMX API to see if something wrong there, but no result
yet.


from filesrc, you will not get timestamps.  So things like seek won't work unless your mp3 decoder is also a parser and generating it's own timestamps and supporting seeking.  My guess is that mad does this, and your OMX component does not.

Please try putting mp3parse between filesrc and nv_omx_mp3dec

BR,
-R

 

------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Gstreamer-openmax] [ANN] gst-openmax 0.10.1 stable release

Felipe Contreras
On Mon, Oct 4, 2010 at 6:04 PM, Clark, Rob <[hidden email]> wrote:

> On Mon, Oct 4, 2010 at 9:44 AM, cristiurban <[hidden email]>
> wrote:
>> The pipeline I am using is :
>> gst-launch -v filesrc location=<path to media file> ! nv_omx_mp3dec !
>> audioconverter ! audioresample ! alsasink (used -v for debug)
>> This is a command that you should verify that it is working, for these to
>> work you must have the nvidia sound drivers. Of course, my app is in C
>> source, and somewhere after I give the playing state I try to extract the
>> current time and then I get zero.
>> If this doesn't work try the same pipeline but you must replace the
>> "nv_omx_decoder" with "mad" and works just fine, but this I know. In time
>> I
>> had beed looking in OMX API to see if something wrong there, but no result
>> yet.
>
> from filesrc, you will not get timestamps.  So things like seek won't work
> unless your mp3 decoder is also a parser and generating it's own timestamps
> and supporting seeking.  My guess is that mad does this, and your OMX
> component does not.
> Please try putting mp3parse between filesrc and nv_omx_mp3dec

Yes, this is exampled in the main page:
http://freedesktop.org/wiki/GstOpenMAX

--
Felipe Contreras

------------------------------------------------------------------------------
Virtualization is moving to the mainstream and overtaking non-virtualized
environment for deploying applications. Does it make network security
easier or more difficult to achieve? Read this whitepaper to separate the
two and get a better understanding.
http://p.sf.net/sfu/hp-phase2-d2d
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Gstreamer-openmax] [ANN] gst-openmax 0.10.1 stable release

cristian
Thanks all this was my problem, now a can do my application

Cristi