You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
(1) |
Nov
|
Dec
(8) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(5) |
Feb
(3) |
Mar
|
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(11) |
Aug
(31) |
Sep
(2) |
Oct
(21) |
Nov
(16) |
Dec
(56) |
| 2009 |
Jan
(12) |
Feb
(5) |
Mar
(34) |
Apr
(9) |
May
(5) |
Jun
(7) |
Jul
(18) |
Aug
(5) |
Sep
(2) |
Oct
(6) |
Nov
(50) |
Dec
|
| 2010 |
Jan
(3) |
Feb
(67) |
Mar
(135) |
Apr
(30) |
May
(2) |
Jun
(11) |
Jul
|
Aug
(18) |
Sep
(12) |
Oct
(4) |
Nov
(17) |
Dec
(11) |
| 2011 |
Jan
(14) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Stefan K. <en...@ho...> - 2009-07-14 13:49:10
|
kommanapalli srirammurthy schrieb:
> ------------------------------------------------------------------------
> *From:* Stephen M. Webb <ste...@xa...>
> *To:* gst...@li...
> *Sent:* Monday, 13 July, 2009 5:39:42 PM
> *Subject:* Re: [Gstreamer-openmax] File not playing with Playbin...
>
> Thank you Stephen for your reply....
>
> On 13/07/09 01:31, Sriramamurti K wrote:
> >
> > what can be the Issue? Is My approach is correct. Can i implement
> > filter like this ?
>
> You can implement a filter like that. You cannot use a filter like
> that with
> playbin. Your approach is incorrect.
>
> Then How can i test my filter with Top level applications like Totem
> Player etc ..
> Because back-end to these applications is Playbin Right ?
>
> > If Yes What playbin is expecting from *myfilter* point of view ?
> > Please any one have idea on this Please help me to solve this problem.
> > I got stuck at this point... If Any info needed let me know...
>
> Playbin expects to select a video decoder filter for your Mpeg4 video
> stream,
> which it will pipe through the ffmpegcolorspace and videoscale filters
> to a
> selected video sink. Caps are negotiated along the pipeline during
> the setup
> and preroll. Once the caps are negotiated, the first frame is sent
> along the
> pipeline from source to sink. The same happens for audio.
>
> I understand about Playbin requirements now.If i implement Dummy
> filters for Decoders and Renders (both audio and Video) above chain
> will work or not ? (I mean with Playbin)
>
> If you have written a plugin that acts as a video (or audio) sink and
> expect
> it to take the place of a decoder, you will wait a very, very long
> time for
> the setup and preroll phase to complete. I hope your decoder does not
> use
> hardware that requires a system restart between runs on failure.
>
> This I am not able to understand. I am having own OpenMax Hardware for
> all components like Demuxer, Decoders and Renders. As i said i am
> implemented my filter as Demuxer. Meanwhile i am implemented Dummy
> Sinks for both audio and video Sinks. with these i am able to test my
> filters with following chain.
>
* Do the plugins have a rank>0. Otherwise playbin or playbin2 are not
considering them.
* Make sure there are no elements with same or higher rank on the system
where you test
* Make sure that your demux gets choosen. Does it have the right
template caps set on its sink-pad?
Stefan
> gst-launch-0.10 filesrc location=/home/sample_mpeg4.mp4 ! MyDemuxer
> name=demux {demux.audio_00 ! MyAudioSink } {demux.video_00 !
> MyVideoSink }
>
> So please suggest how my filter architecture should be ? So that i am
> able test with Top level media player applications..
>
>
>
> Thanks & Regards
> Sriramamurti Kommanapalli
>
|
|
From: kommanapalli s. <sri...@ya...> - 2009-07-14 11:12:52
|
Hi Felipe, With Playbin2 i am getting status like playbin only. Any way i am posted same question in gstreamer-devel mailing list. But there i am not getting any response. And Some how my filter is dealing with openMax integration with gstreamer thats why i posted here... Thanks & Regards Sriramamurti Kommanapalli ________________________________ From: Felipe Contreras <fel...@gm...> To: Stephen Webb <ste...@xa...> Cc: gst...@li... Sent: Tuesday, 14 July, 2009 2:38:16 PM Subject: Re: [Gstreamer-openmax] File not playing with Playbin... On Mon, Jul 13, 2009 at 3:09 PM, Stephen M. Webb<ste...@xa...> wrote: > On 13/07/09 01:31, Sriramamurti K wrote: >> >> what can be the Issue? Is My approach is correct. Can i implement >> filter like this ? > > You can implement a filter like that. You cannot use a filter like that with > playbin. Your approach is incorrect. Yeah, playbin is not meant for that, however, playbin2 might just work. However, this is not a question for gst-openmax, you'll probably have more luck discussing in the main GStreamer mailing list. Cheers. -- Felipe Contreras ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Gstreamer-openmax mailing list Gst...@li... https://lists.sourceforge.net/lists/listinfo/gstreamer-openmax Looking for local information? Find it on Yahoo! Local http://in.local.yahoo.com/ |
|
From: kommanapalli s. <sri...@ya...> - 2009-07-14 10:42:44
|
________________________________
From: Stephen M. Webb <ste...@xa...>
To: gst...@li...
Sent: Monday, 13 July, 2009 5:39:42 PM
Subject: Re: [Gstreamer-openmax] File not playing with Playbin...
Thank you Stephen for your reply....
On 13/07/09 01:31, Sriramamurti K wrote:
>
> what can be the Issue? Is My approach is correct. Can i implement
> filter like this ?
You can implement a filter like that. You cannot use a filter like that with
playbin. Your approach is incorrect.
Then How can i test my filter with Top level applications like Totem Player etc ..
Because back-end to these applications is Playbin Right ?
> If Yes What playbin is expecting from *myfilter* point of view ?
> Please any one have idea on this Please help me to solve this problem.
> I got stuck at this point... If Any info needed let me know...
Playbin expects to select a video decoder filter for your Mpeg4 video stream,
which it will pipe through the ffmpegcolorspace and videoscale filters to a
selected video sink. Caps are negotiated along the pipeline during the setup
and preroll. Once the caps are negotiated, the first frame is sent along the
pipeline from source to sink. The same happens for audio.
I understand about Playbin requirements now.If i implement Dummy filters for Decoders and Renders (both audio and Video) above chain will work or not ? (I mean with Playbin)
If you have written a plugin that acts as a video (or audio) sink and expect
it to take the place of a decoder, you will wait a very, very long time for
the setup and preroll phase to complete. I hope your decoder does not use
hardware that requires a system restart between runs on failure.
This I am not able to understand. I am having own OpenMax Hardware for all components like Demuxer, Decoders and Renders. As i said i am implemented my filter as Demuxer. Meanwhile i am implemented Dummy Sinks for both audio and video Sinks. with these i am able to test my filters with following chain.
gst-launch-0.10 filesrc location=/home/sample_mpeg4.mp4 ! MyDemuxer name=demux {demux.audio_00 ! MyAudioSink } {demux.video_00 ! MyVideoSink }
So please suggest how my filter architecture should be ? So that i am able test with Top level media player applications..
Thanks & Regards
Sriramamurti Kommanapalli
Looking for local information? Find it on Yahoo! Local http://in.local.yahoo.com/ |
|
From: Felipe C. <fel...@gm...> - 2009-07-14 09:08:26
|
On Mon, Jul 13, 2009 at 3:09 PM, Stephen M. Webb<ste...@xa...> wrote: > On 13/07/09 01:31, Sriramamurti K wrote: >> >> what can be the Issue? Is My approach is correct. Can i implement >> filter like this ? > > You can implement a filter like that. You cannot use a filter like that with > playbin. Your approach is incorrect. Yeah, playbin is not meant for that, however, playbin2 might just work. However, this is not a question for gst-openmax, you'll probably have more luck discussing in the main GStreamer mailing list. Cheers. -- Felipe Contreras |
|
From: Stephen M. W. <ste...@xa...> - 2009-07-13 12:25:32
|
On 13/07/09 01:31, Sriramamurti K wrote: > > what can be the Issue? Is My approach is correct. Can i implement > filter like this ? You can implement a filter like that. You cannot use a filter like that with playbin. Your approach is incorrect. > If Yes What playbin is expecting from *myfilter* point of view ? > Please any one have idea on this Please help me to solve this problem. > I got stuck at this point... If Any info needed let me know... Playbin expects to select a video decoder filter for your Mpeg4 video stream, which it will pipe through the ffmpegcolorspace and videoscale filters to a selected video sink. Caps are negotiated along the pipeline during the setup and preroll. Once the caps are negotiated, the first frame is sent along the pipeline from source to sink. The same happens for audio. If you have written a plugin that acts as a video (or audio) sink and expect it to take the place of a decoder, you will wait a very, very long time for the setup and preroll phase to complete. I hope your decoder does not use hardware that requires a system restart between runs on failure. -- Stephen M. Webb |
|
From: Sriramamurti K <sri...@gm...> - 2009-07-13 05:31:13
|
Dear All I am Implementing a gstreamer openMax filter which takes the data and demultiplex it, decodes and renders data. My requirement is all above three (Demultiplex, Decoding,Rendering) should be happen in one filter. Because i am using openMax Tunneling Feature here.For that i am implemented one filter and i am able to test successfully with following command *gst-launch-0.10 filesrc location=/home/sample_mpeg4.mp4 ! myfilter* *Log:* 0:00:00.555228381 3378 0x973d050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "filesrc" 0:00:00.599705602 3378 0x973d050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "myfilter" Setting pipeline to PAUSED ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "pipeline0". Execution ended after 5320879719 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... *Issue is *when same file playing with *playbin*... means following command *gst-launch-0.10 playbin uri=file:///home/sample_mpeg4.mp4* *Log:* 0:00:00.118240731 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "playbin" Setting pipeline to PAUSED ... 0:00:00.121225434 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create: creating element "fakesink" named "test" 0:00:00.121568527 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create: creating element "filesrc" named "source" 0:00:00.131147831 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "decodebin" 0:00:00.132296003 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create: creating element "typefind" named "typefind" 0:00:00.132704867 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create: creating element "fakesink" named "fakesink" 0:00:00.154780461 3389 0x9ed7050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "*myfilter*" Pipeline is PREROLLING ... then pipeline is *hanging*... here what can be the Issue? Is My approach is correct. Can i implement filter like this ? If Yes What playbin is expecting from *myfilter* point of view ? Please any one have idea on this Please help me to solve this problem. I got stuck at this point... If Any info needed let me know... Thanks & Regards Sriramamurti Kommanapalli |
|
From: Felipe C. <fel...@gm...> - 2009-06-21 19:38:07
|
On Sun, Jun 21, 2009 at 4:33 PM, Prajnashi S<pra...@gm...> wrote: > > BTW, > It seems http://github.com/felipec/gst-openmax/commits/android still > in 0.10.0.4, right? Yes, I wanted to make it easy for you to test so I used your code as a base, and work backwards from there, always having a working version. If you prefer to start from scratch and implement the workarounds based on 0.10.0.5 that would be even better :) Cheers. -- Felipe Contreras |
|
From: Felipe C. <fel...@gm...> - 2009-06-21 19:35:56
|
On Sun, Jun 21, 2009 at 4:23 PM, Prajnashi S<pra...@gm...> wrote: > > Hi, Felipe, > I just went through your changes in > http://github.com/felipec/gst-openmax/commits/android with following > questions when rebase to 0.10.0.5 > > 1) Why you want to remove "BUILD_WITH_ANDROID". Don't you want gstomx > in android share same base with other platform? Well, if we follow that approach then we'll have BUILD_WITH_ANDROID, BUILD_WITH_TI, BUILD_WITH_BELLAGIO, BUILD_WITH_NOKIA, etc. The code would quickly become a mess. The promise of OpenMAX IL is that exactly the same code will work on all omx implementations, but of course that's not the case. Workarounds are needed, but they need to be minimized. Have you noticed the 'omap' branch? Instead of having #ifdefs all over the place all the workarounds are in one branch, so if you don't use TI's omx implementation you are not bothered by all that noise. Ideally TI should fix their implementation so that no workarounds are needed, and I've been pushing them to do just that. For now if you want to use TI's omx you need to use the 'omap' branch. I was thinking the same should be done for Android, however I'm considering other alternatives. If we follow a different path it won't be BUILD_WITH_ANDROID, the change in behavior should be at run-time, and the code for the workaround should be separate from the main code. For now I think it's better to have an 'android' branch just like the 'omap' branch. > 2) PV omx uses ms as timestamp, which does not compliant with OMX > spec. I asked it in android group, but no one give me reply. The worse > thing is, TI OMX in omapzoom follow it. So, in order to avoid further > changes, I plan to change gstomx to use ms as well. That's ok. Do as many changes as you need, however, please make each workaround a separate commit and clearly specify why it's needed in the commit message. -- Felipe Contreras |
|
From: Prajnashi S <pra...@gm...> - 2009-06-21 14:46:06
|
BTW, It seems http://github.com/felipec/gst-openmax/commits/android still in 0.10.0.4, right? On Sun, Jun 21, 2009 at 9:23 PM, Prajnashi S<pra...@gm...> wrote: > Hi, Felipe, > I just went through your changes in > http://github.com/felipec/gst-openmax/commits/android with following > questions when rebase to 0.10.0.5 > > 1) Why you want to remove "BUILD_WITH_ANDROID". Don't you want gstomx > in android share same base with other platform? > 2) PV omx uses ms as timestamp, which does not compliant with OMX > spec. I asked it in android group, but no one give me reply. The worse > thing is, TI OMX in omapzoom follow it. So, in order to avoid further > changes, I plan to change gstomx to use ms as well. > > > > On Fri, May 29, 2009 at 6:17 AM, Felipe > Contreras<fel...@gm...> wrote: >> >> On Thu, May 28, 2009 at 7:06 PM, Prajnashi S <pra...@gm...> wrote: >>> >>> Hi, >>> The pre-release gst-android-0-10-22-01 is published. Although there >>> are many bugs, but you can clone repo and build the whole system from >>> now. Thanks Edwards and other contributes for this project. :-) >>> >>> http://groups.google.com/group/prajnashi/web/pre-release-gst-android-0-10-22-01 >> >> Cool :) >> >> Shouldn't this: >> $ repo -u git://github.com/prajnashi/android-gst-manifest.git >> >> Be: >> $ repo init -u git://github.com/prajnashi/android-gst-manifest.git >> >> How about rebasing your patches on top of gst-openmax 0.10.0.5? >> >> -- >> Felipe Contreras >> >> --~--~---------~--~----~------------~-------~--~----~ >> You received this message because you are subscribed to the Google Groups "Android-GStreamer" group. >> To post to this group, send email to pra...@go... >> To unsubscribe from this group, send email to pra...@go... >> For more options, visit this group at http://groups.google.com/group/prajnashi?hl=en >> -~----------~----~----~----~------~----~------~--~--- >> >> > > > > -- > -- Prajnashi S > -- -- Prajnashi S |
|
From: Prajnashi S <pra...@gm...> - 2009-06-21 13:23:27
|
Hi, Felipe, I just went through your changes in http://github.com/felipec/gst-openmax/commits/android with following questions when rebase to 0.10.0.5 1) Why you want to remove "BUILD_WITH_ANDROID". Don't you want gstomx in android share same base with other platform? 2) PV omx uses ms as timestamp, which does not compliant with OMX spec. I asked it in android group, but no one give me reply. The worse thing is, TI OMX in omapzoom follow it. So, in order to avoid further changes, I plan to change gstomx to use ms as well. On Fri, May 29, 2009 at 6:17 AM, Felipe Contreras<fel...@gm...> wrote: > > On Thu, May 28, 2009 at 7:06 PM, Prajnashi S <pra...@gm...> wrote: >> >> Hi, >> The pre-release gst-android-0-10-22-01 is published. Although there >> are many bugs, but you can clone repo and build the whole system from >> now. Thanks Edwards and other contributes for this project. :-) >> >> http://groups.google.com/group/prajnashi/web/pre-release-gst-android-0-10-22-01 > > Cool :) > > Shouldn't this: > $ repo -u git://github.com/prajnashi/android-gst-manifest.git > > Be: > $ repo init -u git://github.com/prajnashi/android-gst-manifest.git > > How about rebasing your patches on top of gst-openmax 0.10.0.5? > > -- > Felipe Contreras > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google Groups "Android-GStreamer" group. > To post to this group, send email to pra...@go... > To unsubscribe from this group, send email to pra...@go... > For more options, visit this group at http://groups.google.com/group/prajnashi?hl=en > -~----------~----~----~----~------~----~------~--~--- > > -- -- Prajnashi S |
|
From: 박민석 <ms...@ke...> - 2009-06-04 01:05:14
|
<style> P {margin-top:0px;margin-bottom:0px;} </style>
<P><IMG SRC=http://webmail.keti.re.kr:8080/nara/servlet/webmail.WebMailReConfServ/451023></P>
<P> </P>
<P> </P>
<P> Thanks for fast advice.</P>
<P> </P>
<P>My final goal is to use an openmax component for the filesrc and the fast way may be to modify the omx_filereadersrc....</P>
<P> </P>
<P> </P>
<P>But at this stage, I have no idea which one has problem, filereadersrc plugin of gst-openmax or filereader component of libomxil-bellagio</P>
<P> </P>
<P>I guess filereader comp. of bellagio has no bug. buf filereadersrc plugin of gst-openmax is defined by EXPEPIMENTAL now, so I think filereadersrc is not yet completed.</P>
<P> </P>
<P>Do you have any idea how to solve this problem?</P>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px" TYPE="CITE">> Hi All, <BR>> <BR>> <BR>> <BR>> I have some questions regarding omx_filereadersrc. <BR>> <BR>> <BR>> <BR>> Below command does work. I can hear the sound of "test.ogg" <BR>> <BR>> gst-launch filesrc location="test.ogg" ! omx_vorbisdec ! omx_audiosink <BR>> <BR>> <BR>> <BR>> <BR>> <BR>> But the below command doesn't work! <BR>> <BR>> gst-launch omx_filereadersrc file-name="test.ogg" ! omx_vorbisdec ! omx_audiosink <BR>> <BR>> <BR>> <BR>> and the messages are as follows: <BR>> <BR>> Setting pipeline to PAUSED ... <BR>> <BR>> OMX-In omx_base_component_DoStateSet: Port 1 Disabled So no wait <BR>> <BR>> Pipeline is PREROLLED ... <BR>> <BR>> Setting pipeline to PLAYING ... <BR>> <BR>> New clock: GstSystemClock <BR>> <BR>> OMX-this input stream is not an Ogg stream <BR>> <BR>> <BR>> <BR>> Currently the omx_filereadersrc component is not yet tested completely? <BR><BR>That's correct, I can't recall what was the last time I used it. It's <BR>probably not working any more. <BR><BR>I'll make sure it's disabled by default in the next release. <BR><BR>Patches to fix it are welcome :) <BR><BR>Cheers. <BR><BR>-- <BR>Felipe Contreras </BLOCKQUOTE><br><br><PRE><P>Min-Seok Park</P>
<P>===============================</P>
<P>Korea Electronics Technology Institute</P>
<P>Multi-Media IP</P>
<P>Tel.031-789-7381</P>
<P>Fax.031-789-7379</P>
<P>=============================== </P></PRE>
|
|
From: Felipe C. <fel...@no...> - 2009-06-03 09:54:40
|
On Wed, Jun 03, 2009 at 09:49:58AM +0200, ext 박민석 wrote: > [http://webmail.keti.re.kr:8080/nara/servlet/webmail.WebMailReConfServ/450879] > > Hi All, > > > > I have some questions regarding omx_filereadersrc. > > > > Below command does work. I can hear the sound of "test.ogg" > > gst-launch filesrc location="test.ogg" ! omx_vorbisdec ! omx_audiosink > > > > > > But the below command doesn't work! > > gst-launch omx_filereadersrc file-name="test.ogg" ! omx_vorbisdec ! omx_audiosink > > > > and the messages are as follows: > > Setting pipeline to PAUSED ... > > OMX-In omx_base_component_DoStateSet: Port 1 Disabled So no wait > > Pipeline is PREROLLED ... > > Setting pipeline to PLAYING ... > > New clock: GstSystemClock > > OMX-this input stream is not an Ogg stream > > > > Currently the omx_filereadersrc component is not yet tested completely? That's correct, I can't recall what was the last time I used it. It's probably not working any more. I'll make sure it's disabled by default in the next release. Patches to fix it are welcome :) Cheers. -- Felipe Contreras |
|
From: 박민석 <ms...@ke...> - 2009-06-03 08:44:38
|
<style> P {margin-top:0px;margin-bottom:0px;} </style>
<P><IMG SRC=http://webmail.keti.re.kr:8080/nara/servlet/webmail.WebMailReConfServ/450879></P>
<P>Hi All,</P>
<P> </P>
<P>I have some questions regarding omx_filereadersrc.</P>
<P> </P>
<P>Below command does work. I can hear the sound of "test.ogg"</P>
<P> gst-launch filesrc location="test.ogg" ! omx_vorbisdec ! omx_audiosink</P>
<P> </P>
<P> </P>
<P>But the below command doesn't work!</P>
<P> gst-launch <STRONG>omx_filereadersrc file-name</STRONG>="test.ogg" ! omx_vorbisdec ! omx_audiosink</P>
<P> </P>
<P>and the messages are as follows:</P>
<P> Setting pipeline to PAUSED ... </P>
<P> OMX-In omx_base_component_DoStateSet: Port 1 Disabled So no wait </P>
<P> Pipeline is PREROLLED ... </P>
<P> Setting pipeline to PLAYING ... </P>
<P> New clock: GstSystemClock </P>
<P> OMX-this input stream is not an Ogg stream </P>
<P> </P>
<P>Currently the omx_filereadersrc component is not yet tested completely?</P>
<P> </P>
<P>My test environments are like this.</P>
<P> Kubuntu 9.04<BR> gstreamer 0.10.22</P>
<P> gst-plugin-base 0.10.22</P>
<P> gst-plugin-good 0.10.14</P>
<P> gst-openmax 0.10.0.5<BR> libomxil-bellagio 0.9.1</P>
<P> </P>
<P>Thanks for any suggestions.</P>
<P>Best Regards,</P>
<P>Min-Seok Park</P><br><br><PRE><P>박민석 드림</P>
<P>================</P>
<P>전자부품연구원</P>
<P>멀티미디어IP</P>
<P>Tel.031-789-7381</P>
<P>Fax.031-789-7379</P>
<P>================</P>
<P> </P></PRE>
|
|
From: Felipe C. <fel...@gm...> - 2009-05-18 21:04:26
|
On Mon, May 18, 2009 at 10:13 PM, pl bossart <bos...@gm...> wrote:
> Thanks Felipe for your reply.
>
>> I assume you are using bellagio omxil. First of all I think you should
>> measure the overhead of bellagio mp3dec component. I have a simple
>> test application that you might want to use[1].
>
> Yes this is after having installed bellagio and gst-openmax as per
> your freedesktop web site. Thanks for the pointer, will give it a try.
>
>> Second, I wouldn't recommend to use omx_audiosink, I focus only on
>> encoders/decoders so I don't know how well performing the rest of the
>> wrappers are, if they work at all.
>
> Well, I tried to use alsasink or pulsesink instead, no luck. Cannot
> mix gstreamer elements with omx ones. Not sure if this is a Bellagio
> issue or an gst-openmax one...
>
>> Third, it's better if you use mp3parse before omx_mp3dec.
>
> Not sure why, this relies on libmad which does not need pre-parsing?
The main reason is so you can seek :)
But also you'll get proper timestamps which are required if you want
to play nice with GStreamer. This is required if you want to use
native GStreamer sinks. This is described somewhat in the wiki:
For MP3 you'll also need the mp3parse element, otherwise you'll get:
GStreamer-CRITICAL **: gst_segment_clip: assertion
`segment->format == format' failed
If you really don't want to use mp3dec you can still play with
pulsesink/alsasink by doing this:
omx_mp3dec use-timestamps=false
>> And forth, you can enable zero-copy by turning on
>> share_{input,output}_buffer flags internally. It's a hack because it's
>> against the OpenMAX IL standard, but there's no other way to achieve
>> zero-copy on certain scenarios. You might even need to disable some
>> checks in bellagio for that to work.
>
> Sounds ugly....
Yeap, but it works fine :)
It's the only real issue I've found with the OpenMAX IL spec,
unfortunately nobody cares =/
The good thing is that I haven't found an implementation where this
hack doesn't work.
>> For reference, I've been able to decode MP3's on OMAP3 platform using
>> ~1% of CPU. It was an experimental omx component; TI's component uses
>> more CPU on ARM side.
>
> I guess the MP3 decoder does not run on the ARM, unless you run it at 700+MHz?
Heh, nope I forgot to mention that it runs on the DSP side. Just to
prove the point that gst-openmax overhead can't be _that_ big.
--
Felipe Contreras
|
|
From: pl b. <bos...@gm...> - 2009-05-18 19:14:05
|
Thanks Felipe for your reply.
> I assume you are using bellagio omxil. First of all I think you should
> measure the overhead of bellagio mp3dec component. I have a simple
> test application that you might want to use[1].
Yes this is after having installed bellagio and gst-openmax as per
your freedesktop web site. Thanks for the pointer, will give it a try.
> Second, I wouldn't recommend to use omx_audiosink, I focus only on
> encoders/decoders so I don't know how well performing the rest of the
> wrappers are, if they work at all.
Well, I tried to use alsasink or pulsesink instead, no luck. Cannot
mix gstreamer elements with omx ones. Not sure if this is a Bellagio
issue or an gst-openmax one...
> Third, it's better if you use mp3parse before omx_mp3dec.
Not sure why, this relies on libmad which does not need pre-parsing?
> And forth, you can enable zero-copy by turning on
> share_{input,output}_buffer flags internally. It's a hack because it's
> against the OpenMAX IL standard, but there's no other way to achieve
> zero-copy on certain scenarios. You might even need to disable some
> checks in bellagio for that to work.
Sounds ugly....
> For reference, I've been able to decode MP3's on OMAP3 platform using
> ~1% of CPU. It was an experimental omx component; TI's component uses
> more CPU on ARM side.
I guess the MP3 decoder does not run on the ARM, unless you run it at 700+MHz?
|
|
From: Felipe C. <fel...@gm...> - 2009-05-16 08:58:18
|
On Sat, May 16, 2009 at 2:46 AM, pl bossart <bos...@gm...> wrote:
> Bear with me if this is a known issue, it's been 5 years since I last
> looked at OpenMAX IL. Not sure if my ex-colleagues Diego and Giulio
> are still in the loop.
>
> I am trying to quantify the overhead due to gst-openmax, compared to
> plain old existing gstreamer elements. On an Atom/Ubuntu platform in
> ST/GV3off, I get the following residencies:
> madplay: 13% C0
> gst-launch filesrc ! mad ! audioconvert ! alsasink: 16% C0 (fine)
> gst-launch filesrc ! omx_mp3dec ! omx_audiosink: 63% C0 (not good)
>
> Any idea what's happening? All the three configurations rely on the
> same libmad and the same test file.
I assume you are using bellagio omxil. First of all I think you should
measure the overhead of bellagio mp3dec component. I have a simple
test application that you might want to use[1].
Second, I wouldn't recommend to use omx_audiosink, I focus only on
encoders/decoders so I don't know how well performing the rest of the
wrappers are, if they work at all.
Third, it's better if you use mp3parse before omx_mp3dec.
And forth, you can enable zero-copy by turning on
share_{input,output}_buffer flags internally. It's a hack because it's
against the OpenMAX IL standard, but there's no other way to achieve
zero-copy on certain scenarios. You might even need to disable some
checks in bellagio for that to work.
For reference, I've been able to decode MP3's on OMAP3 platform using
~1% of CPU. It was an experimental omx component; TI's component uses
more CPU on ARM side.
Cheers.
[1] http://people.freedesktop.org/~felipec/omx/
--
Felipe Contreras
|
|
From: pl b. <bos...@gm...> - 2009-05-15 23:47:03
|
Bear with me if this is a known issue, it's been 5 years since I last looked at OpenMAX IL. Not sure if my ex-colleagues Diego and Giulio are still in the loop. I am trying to quantify the overhead due to gst-openmax, compared to plain old existing gstreamer elements. On an Atom/Ubuntu platform in ST/GV3off, I get the following residencies: madplay: 13% C0 gst-launch filesrc ! mad ! audioconvert ! alsasink: 16% C0 (fine) gst-launch filesrc ! omx_mp3dec ! omx_audiosink: 63% C0 (not good) Any idea what's happening? All the three configurations rely on the same libmad and the same test file. Thanks for your help Pierre |
|
From: Sriramamurti K <sri...@gm...> - 2009-05-11 12:34:01
|
Dear all, VEDA is introducing a new Internship program as per the details given below. For registration, one can do the same at www.vedaiit.com. For any further details contact VEDA IIT. VEDA Internship Program - This is a new program started with the intention of creating job-ready VLSI engineers for the Industry. - Candidates selected for this innovative program will be provided 4 months basic training in VLSI Design sponsored by industry and based on the performance will be provided opportunity for 1 year Internship to work on live projects for the consortium companies in Chip Design and Verification. - During Internship, candidates will be paid a fixed stipend of Rs. 10,000/- per month. - Candidates with BE/BTech/MS/ME/MTech Qualification in Electronics, Electrical, Computer Science, Information Technology, Instrumentation, Communications are eligible to apply Aware of the industry demands and requirements, VEDA believes that this internship program highly enriches the candidates with contemporary VLSI Design skills that lead to potential employment in leading design houses. HR (SoCtronics) -- Thanks & Regards Sriramamurti Kommanapalli SoCtronics Pvt.Ltd. http://www.soctronics.com/ Road No :2 ,Banjara Hills, Hyderabad - 530034, Ph:09885969831 |
|
From: Felipe C. <fel...@gm...> - 2009-04-26 23:27:07
|
Wrong log, this is the correct one:
Edward Hervey (2):
autogen.sh : Use git submodule
Install and use pre-commit indentation hook from common
Felipe Contreras (163):
Go back to development.
Cleanup the new volume element.
Update library name to new bellagio library.
Fix warnings.
Check for NULL buffers when sending eos.
Temporary disable buffer flushs.
Use BufferCountActual instead of BufferCountMin.
Allow AllocateBuffer.
Random cleanups.
Use G_UNLIKELY when finding the GType.
Finish processing when receiving omx eos event.
Cleanup pad_event in base_filter.
Cleanup pad_event in base_sink.
Rename port enable/disable to resume/pause.
Add port allocate/free/start buffer functions.
Add option to flush the async_queue.
Store the port_index.
Allow multiple setup_ports calls.
Add port semaphore.
Add port enable/disable functions.
Flush the queue when disabling the port.
Make port_enable more extensible.
New omx interface.
Add omx interface to base_sink.
Add omx interface to base_filter.
Add activate_push in base_sink.
Save omx ports as element data of the gst pads.
Make omx state changes more strict.
Add core_for_each_port helper in util.
Add flushing functions in util.
Improve flushing in base_filter.
More general improvements in flushing.
Add separate mp2dec element.
Free codec_data
Add new jpegenc component wrapper.
Allow child classes to override the share_output_buffer workaround.
Improve message when the shared output buffer workaround is misbehaving.
Improve error message when pusing output buffers.
Properly set the true return reason.
Set right caps for amrwbenc.
Fix speech codecs samplerates.
Fix warnings in jpegenc.
Improve buffer sizes in jpegenc.
Update ADPCM sample rate.
Random cleanups.
Add adpcm layout.
Update G729 media-type.
Use more efficient int scaler.
Fix initialization of buffers for processing.
Release output buffer when there's flushing.
Cleanup flushing mechanism for seeking.
Properly deinitialize when going to READY.
Add new semaphore utility.
Add stress unit tests for async_queue.
Random cleanups.
Improve internal libomxil unit tests.
Improve debug logging for gstomx util.
Fix EOS handling when omx hasn't been initialized.
Improve G711 caps negotiation.
Fix G711 decoder caps.
Rename avcenc to h264enc.
Fix iLBC caps negotiation.
Fix seeking when using zero-copy.
jpegenc: Add quality property.
Allow child classes to override the share_input_buffer workaround.
adpcm: Fix capabilities negotation.
More specific caps for all audio elements.
Random cleanups.
Missing cleanups from old git repo.
util: Fix for allocate buffer.
Send initial codec_data buffer.
sink: Cleanup element details.
aacdec: Store codec-data.
Remove TI-specific stuff.
Fix crash on certain race condition.
util: More debug logging.
util: Make omx errors more verbose.
basefilter: handle codec-data from omx
Create .gitignore file
Make libcheck optional
Update copyright notice for 2009.
Fix libcheck' check
util: detect more unrecoverable errors
check_gstomx: cleanup codes-tyle
util: fix crash when OMX_Init errors
util: cleanup request_imp
Set more proper framerate in the caps templates
video encoders: trivial cleanups
General update to framerate handling
basefilter: fix init race condition
Cleanup global scope
Trivial code-style cleanups
Cleanup enums
Remove automatic pre-commit hook
Remove common submodule
Some cleanups to the 'common' stuff
Rename 'initialized' to 'ready'
Cleanup .gitignore
Even more framerate improvements
videoenc: fix Q.16 framerate calculation
Remove stdbool.h
Use memset instead of calloc
util: handle more errors from omx
Trivial cleanups
basefilter: trivial cleanup
util: fix break statements in event_handler
util: make OMX_AllocateBuffer configurable
basefilter: plug a leak
Add environment variables for testing
util: avoid double-free
jpegenc: fix quality setting
plugin: refactor
Replace dispose with finalize
basesink,basesrc: fix library and component name
basesink: chain up activatepush
Add ignore files for 'tests' dir
plugin: trivial whitespace fix
g729enc: trivial cleanup for default DTX
basefilter: appropriately return wrong state
Revert "Do not hang in state change when flushing."
Improve error handling
util: add timeout to wait_for_state
util: cleanup timeout stuff
basefilter: trivial cleanup
util: display error message sooner
Remove unused variables
Trivial cleanups
test: fix gcc warnings
util: remove g_omx_sem and use shared g_sem
Cleanups
Add shave build option
Use 'git describe' for automatic version
Move common stuff to build-aux
configure.ac: cleanup
.gitignore: cleanup
Fix distribution
git-version-gen: fix for old versions of git
basesink: don't hang on downward state change
basesink: move omx initalization to pad link
basesink: add empty change_state function
basesink: align gst and omx states in base_sink
basesink: initalize omx when changing to READY
Always check the omx state
util: don't set artificial omx errors
util: handle all errors
base_filter: cleanup PAUSED_TO_READY
util: nicer error messages
Trivial cleanup; rename client_data field
util: improve logging
plugin: trivial cleanup
plugin: trivial cleanup
Add 'update-common' script
build: improve version generation
basefilter: cleanup
Add core_stop function to split core_finish
util: trivial rearrange
Remove core_finish, use core_unload
plugin: decrease priority of vorbisdec
build: add enable-experimental option
Remove ChangeLog
autogen.sh: fix build and cleanups
Add 'patches' directory to the dist
Update README
Frederik Vernelen (2):
Allow null buffers.
Add new volume element.
basesink: add NXP copyright
Jan Schmidt (1):
configure.ac: trivial cleanup
Marco Ballesio (1):
Properly calculate timestamps when input buffers are split
Mark Nauwelaerts (8):
Do not hang in state change when flushing.
Fix mt issue when loading/unloading omxil.
Serialize EOS sending.
Handle unrecoverable errors.
Fix format specifier in debug statement.
Fix race in test.
g729enc: set caps on srcpad
basefilter: don't start task when omx is not ready
Olivier Crête (1):
g711enc: Only try to fetch structure from caps if it exists.
René Stadler (16):
Forward pad event properly.
amrnbenc: Add rate=8000 field to amr caps
amrwbenc: Add rate=16000 field to amr caps
Fix configure failing because of missing m4 directory.
aacdec: Don't set the profile.
Don't limit framerate to 30fps for video decoder pad templates.
Pass on correct sink framerate fraction.
aacenc: Fix src caps by not relying on settings_changed callback.
Fix unused variables breaking the build.
util: Fix crash when dlopen() fails.
aacenc: Propagate bitrate property value to component.
aacenc: Add output-format property, setting eAACStreamFormat.
aacenc: Implement profile property.
jpegenc: Forward upstream framerate in caps.
basefilter: release ready_lock when core_prepare fails
jpegenc: fix classification
Sriram Murthy (1):
audio_sink: Set correct class.
Tim-Philipp Müller (1):
.gitignore: ignore more
--
Felipe Contreras
|
|
From: Felipe C. <fel...@gm...> - 2009-04-26 23:17:48
|
Hi, gst-openmax is a GStreamer plug-in that allows communication with OpenMAX IL components. OpenMAX IL is an industry standard that provides an abstraction layer for computer graphics, video, and sound routines. It has been pushed specially by key industry players in embedded systems. After almost one year of development it's time for another pre-release (hopefully the last before the first release). The list of changes is huge, but I'll try to summarize them: * Massive stability improvements, specially while seeking and init/deinitalizing * Speech elements now actually work in real RTP calls * H.264 and AAC extradata handled properly * Error handling and safety checks implemented * A lot of code refactoring and cleanups * Improved unit tests * Many bug fixes Part of the old 'tunneling' branch has been merged, and another part has been rebased on top of the new master, however more work needs to be done. After the branch has been rebased, work on the code-style update can start, if GStreamer developers still wish to do that. A new official 'omap' (long-lived) branch has been created for Texas Intruments' OpenMAX IL implementation. The patches are distributed in the tarball. Also, there are patches to use gst-openmax on Android's OpenMAX IL implementation[1]. Work has been started to merge them into the master branch. [1] http://groups.google.com/group/prajnashi AFAIK the only thing missing for the first release is documentation, so I'll try to work on that, but maybe it can wait for 0.10.2, let's see. Thanks to all the people that contributed to the release. Tarballs can be found here: http://gstreamer.freedesktop.org/src/gst-openmax/pre/ Bugs resolved: * 548776: gstomx mpe4dec can not work with qtdemux * 569014: Dependency for check should be optional * 576114: omx_vorbisdec trumps oggdemux while accepting all applica... * 576499: build scripts use -Werror option, and build fails because... Changes since 0.10.0.4: Edward Hervey (2): autogen.sh : Use git submodule Install and use pre-commit indentation hook from common Felipe Contreras (335): Initial commit. Use GStreamer's common autotools macros. Add GNU standard files. Add some error handling. Generate proper capabilities for the output buffer in the vorbis decoder. Add some sample gst-launch pipelines. Set version to 1.1 for now. Remove base "set_caps" and use "settings_changed_cb". New MPEG4v decoder. Now the ports are extensible. Set omx parameters from gst caps. Rename Base to BaseFilter. Add missing files. Add ALSA sink. Improve logging. Fix a small memory leak. Fix zerocopy. Implement zerocopy on the base sink. This looks better. More readable. Add timestamp information. Whitespace fixes. Add more capabilities for MPEG-4 video dec. Add use-timestamps property. Add property for the OpenMAX component name. Add video sink. More proper autoconf. Don't hang if not properly initialized. Specify the srcpad capabilities of the videosink. Use timestamps by default on the base filter Add flush support for seeking on the base filter Add more debugging stuff to the base filter Fixes for new Bellagio versions New H.263 video decoder Fix description for video decoder elements Whitespace fixes Allow multiple OpenMAX IL implementations at the same time. Update README. Make some elements primary by default. Update the README. Include common release make commands. Update to first pre-release version. Add missing files to the tarball. Add more missing files. Bump version. Add more missing files. Make logging level 4(DEBUG) more verbose. Add comment about wring to a read-only parameter. Add multiple new component wrappers. Add AMR-NB decoder wrapper. Add compilation time flag for zero-copy. Small cleanups for AAC decoder. Add omx_setup to set some component configurations early. Modify AAC decoder temporarily to allow decoding without a parser. Don't crash if the GStreamer input buffer are owned by the previous element. Modify the MP3 decoder to use parsed input stream. Upgrade the rank of AAC and AMR-NB decoders. Fixes for non-zero-copy behavior. Generate ChangeLog. Fix wrong H.264 decoder and MPEG-4 encoder element initialization. Add videosink rotation. Fix MPEG-4 video encoder, and cleanups. Copy H.264 decoder changes to MPEG-4. Reorganize parameters' setup. More verbose debugging. Whitespace fixes for video decoders. Update ChangeLog. Reorganize parameters's setup for H.263 decoder. New videodec base element. Add missing files from last commit. Update copyright. Don't use reserved prefix on header definitions. Rename alsasink to audiosink. Dumb fixes. Don't try to set wrong color format on base videodec. More zero-copy flexibility and fixes on base filter. Add GLib misc macros for base filter. Enforce OpenMAX components to call the settings changed event. Remove unneeded stuff on util, and use inline. Use proper inline keywords. Fix vorbisdec. Improve timestamp handling on base filter. Use "libomx.so.0" by default. Whitespace fixes. Set OpenMAX parameters more properly for video elements. New base videoenc class. Free pBuffer data. Properly allocate memory that would eventually be freed. Allow fake settings changed notification for now. Update audiosink and other cleanups. Fix amrnbdec default component name. Update ChangeLog. Update README. Add Khronos headers to the distribution. Update ChangeLog. Fix screwed up ChangeLog. Bump version number, we are in development again. Use right caps for amrnbdec (not contained). Add new AMR-WB decoder element. Handle video encoder's real codec. New H.263 encoder. New WMV decoder wrapper. Destroy ports when finishing decoding. Properly set the coloformat in the base videoenc. Random cleanups for base video stuff. New H.264/AVC encoder wrapper. Fix stupid segmentation fault when doing play->stop->play. Propagate gst_pad_push return value. Fix seeking. Random fixes and cleanups. Cleanup videodecoders. Remember to fetch colorformat properly. Properly pause/resume the omx component in basesink when flushing. Add bitrate property to base videoenc. New pause util function that properly waits for the state change. New AAC encoder wrapper. Random cleanup and fixes for AAC encoder. New amrnbenc wrapper. Cleanup audio elements. Add bitrate parameter for amrnbenc. Add new amrwbenc wrapper. Add bitrate property to aacenc. Cleanup the AMR encoders. Fix copyright notice. New ADPCM encoder/decoder. Add initial unit tests. Use minimun buffer count. Upate max framerate for wmvdec. Add comment regarding non-standard usage. Fix racing condition. Misc cleanups. Build cvs versions with -Werror. Use fixed number of channels for ADPCM. Add mpegversion 2 in AAC elements. Remove duplicated commit. Add G.711 encoder and decoder. Proper description. Add new G.729 encoder and decoder. Proper description. Fix wrong G729 commit. Fix g711dec caps. Save codec data information from the container. Cleanup async_queue. GThread is more proper since we are using mutexes and conditions. Move async_queue to new util library. Add simple unit tests. Add unit tests for dummy libomxil. Cleanup tests. Add simple gstomx unit test. Increase timeout for gstomx tests. Cleanups in dummy libomxil. Build util first. Output omx_buffer from the chain function. Initial async_queue changes. Add flush commands. Add flush unit test. Skip the normal checks when flushing the queues. More warnings and cleanups. Fix flushing. Use flush command completed event. Update base sink for async changes. Update base src for async changes. Add install target in manual Makefile. Add iLBC encoder/decoder. Fix warnings. Fix more warnings. Cleanup gstomx_util. Reorganize header requirements. Update copyright. Update FSF address. Remove unused header inclusions. Remove unused files. Build system updates. Tag 0.10.0.4. Go back to development. Cleanup the new volume element. Update library name to new bellagio library. Fix warnings. Check for NULL buffers when sending eos. Temporary disable buffer flushs. Use BufferCountActual instead of BufferCountMin. Allow AllocateBuffer. Random cleanups. Use G_UNLIKELY when finding the GType. Finish processing when receiving omx eos event. Cleanup pad_event in base_filter. Cleanup pad_event in base_sink. Rename port enable/disable to resume/pause. Add port allocate/free/start buffer functions. Add option to flush the async_queue. Store the port_index. Allow multiple setup_ports calls. Add port semaphore. Add port enable/disable functions. Flush the queue when disabling the port. Make port_enable more extensible. New omx interface. Add omx interface to base_sink. Add omx interface to base_filter. Add activate_push in base_sink. Save omx ports as element data of the gst pads. Make omx state changes more strict. Add core_for_each_port helper in util. Add flushing functions in util. Improve flushing in base_filter. More general improvements in flushing. Add separate mp2dec element. Free codec_data Add new jpegenc component wrapper. Allow child classes to override the share_output_buffer workaround. Improve message when the shared output buffer workaround is misbehaving. Improve error message when pusing output buffers. Properly set the true return reason. Set right caps for amrwbenc. Fix speech codecs samplerates. Fix warnings in jpegenc. Improve buffer sizes in jpegenc. Update ADPCM sample rate. Random cleanups. Add adpcm layout. Update G729 media-type. Use more efficient int scaler. Fix initialization of buffers for processing. Release output buffer when there's flushing. Cleanup flushing mechanism for seeking. Properly deinitialize when going to READY. Add new semaphore utility. Add stress unit tests for async_queue. Random cleanups. Improve internal libomxil unit tests. Improve debug logging for gstomx util. Fix EOS handling when omx hasn't been initialized. Improve G711 caps negotiation. Fix G711 decoder caps. Rename avcenc to h264enc. Fix iLBC caps negotiation. Fix seeking when using zero-copy. jpegenc: Add quality property. Allow child classes to override the share_input_buffer workaround. adpcm: Fix capabilities negotation. More specific caps for all audio elements. Random cleanups. Missing cleanups from old git repo. util: Fix for allocate buffer. Send initial codec_data buffer. sink: Cleanup element details. aacdec: Store codec-data. Remove TI-specific stuff. Fix crash on certain race condition. util: More debug logging. util: Make omx errors more verbose. basefilter: handle codec-data from omx Create .gitignore file Make libcheck optional Update copyright notice for 2009. Fix libcheck' check util: detect more unrecoverable errors check_gstomx: cleanup codes-tyle util: fix crash when OMX_Init errors util: cleanup request_imp Set more proper framerate in the caps templates video encoders: trivial cleanups General update to framerate handling basefilter: fix init race condition Cleanup global scope Trivial code-style cleanups Cleanup enums Remove automatic pre-commit hook Remove common submodule Some cleanups to the 'common' stuff Rename 'initialized' to 'ready' Cleanup .gitignore Even more framerate improvements videoenc: fix Q.16 framerate calculation Remove stdbool.h Use memset instead of calloc util: handle more errors from omx Trivial cleanups basefilter: trivial cleanup util: fix break statements in event_handler util: make OMX_AllocateBuffer configurable basefilter: plug a leak Add environment variables for testing util: avoid double-free jpegenc: fix quality setting plugin: refactor Replace dispose with finalize basesink,basesrc: fix library and component name basesink: chain up activatepush Add ignore files for 'tests' dir plugin: trivial whitespace fix g729enc: trivial cleanup for default DTX basefilter: appropriately return wrong state Revert "Do not hang in state change when flushing." Improve error handling util: add timeout to wait_for_state util: cleanup timeout stuff basefilter: trivial cleanup util: display error message sooner Remove unused variables Trivial cleanups test: fix gcc warnings util: remove g_omx_sem and use shared g_sem Cleanups Add shave build option Use 'git describe' for automatic version Move common stuff to build-aux configure.ac: cleanup .gitignore: cleanup Fix distribution git-version-gen: fix for old versions of git basesink: don't hang on downward state change basesink: move omx initalization to pad link basesink: add empty change_state function basesink: align gst and omx states in base_sink basesink: initalize omx when changing to READY Always check the omx state util: don't set artificial omx errors util: handle all errors base_filter: cleanup PAUSED_TO_READY util: nicer error messages Trivial cleanup; rename client_data field util: improve logging plugin: trivial cleanup plugin: trivial cleanup Add 'update-common' script build: improve version generation basefilter: cleanup Add core_stop function to split core_finish util: trivial rearrange Remove core_finish, use core_unload plugin: decrease priority of vorbisdec build: add enable-experimental option Remove ChangeLog autogen.sh: fix build and cleanups Add 'patches' directory to the dist Update README Frederik Vernelen (3): Allow null buffers. Add new volume element. basesink: add NXP copyright Jan Schmidt (1): configure.ac: trivial cleanup Marco Ballesio (1): Properly calculate timestamps when input buffers are split Mark Nauwelaerts (8): Do not hang in state change when flushing. Fix mt issue when loading/unloading omxil. Serialize EOS sending. Handle unrecoverable errors. Fix format specifier in debug statement. Fix race in test. g729enc: set caps on srcpad basefilter: don't start task when omx is not ready Olivier Crête (1): g711enc: Only try to fetch structure from caps if it exists. René Stadler (16): Forward pad event properly. amrnbenc: Add rate=8000 field to amr caps amrwbenc: Add rate=16000 field to amr caps Fix configure failing because of missing m4 directory. aacdec: Don't set the profile. Don't limit framerate to 30fps for video decoder pad templates. Pass on correct sink framerate fraction. aacenc: Fix src caps by not relying on settings_changed callback. Fix unused variables breaking the build. util: Fix crash when dlopen() fails. aacenc: Propagate bitrate property value to component. aacenc: Add output-format property, setting eAACStreamFormat. aacenc: Implement profile property. jpegenc: Forward upstream framerate in caps. basefilter: release ready_lock when core_prepare fails jpegenc: fix classification Sriram Murthy (1): audio_sink: Set correct class. Stefan Kost (1): Build cvs versions with -Werror. Tim-Philipp Müller (1): .gitignore: ignore more -- Felipe Contreras |
|
From: Felipe C. <fel...@gm...> - 2009-04-02 08:13:48
|
On Thu, Apr 2, 2009 at 10:50 AM, Gillian Fiennes <ai....@gm...> wrote: > Dear all, > > Hi. > > I am a newbie to GstOpenMAX. I want to get it work on x86 firstly. I > followed strictly with the instructions on this page > (http://freedesktop.org/wiki/GstOpenMAX). My working environment was Ubuntu > 8.10 and I want to use Totem-gstreamer as the front-end. I compiled and > installed all packages (gstreamer 0.10.22, Bellagio omxil, gstopenmax) and > exported the environment variables. When I started Totem-gstreamer and > choose to play a file, the problems occurred. For example, if I want to play > a MPEG-4 file, the errors showed on screen saying that > > The playback of this movie requires the following decoders which are not > installed: > > MPEG-4 AAC decoder > MPEG-4 Video decode > > And here was the Log: > > [start] > root@fiennes-810:~# totem-gstreamer > Xlib: extension "RANDR" missing on display ":0.0". > 0:00:14.160030999 30293 0x9e97018 INFO omx > gstomx_base_filter.c:81:change_state:<omxmpeg4dec0> changing state NULL - > READY > > ** (totem-gstreamer:30293): WARNING **: libomxil.so.0: cannot open shared > object file: No such file or directory > > ** Message: don't know how to handle video/mpeg, mpegversion=(int)4, > systemstream=(boolean)false, > codec_data=(buffer)000001b001000001b58913000001000000012000c4f8404d8800cd16843c1463000001b24c61766335312e34302e34, > width=(int)720, height=(int)480, framerate=(fraction)25/2 > 0:00:14.272662105 30293 0x9e97018 INFO omx > gstomx_base_filter.c:81:change_state:<omxaacdec0> changing state NULL - > READY > > ** (totem-gstreamer:30293): WARNING **: libomxil.so.0: cannot open shared > object file: No such file or directory > ..... > [end] > > The gstopenmax seemed to start work but interrupt. I googled around and > can't figure out what caused the problem. Actually I can not find the > library libomxil.so.0. > > So could anybody give me some glues or suggesions ? Thanks a lot. Are you sure you followed the instructions? It seems to me that you are using gst-openmax 0.10.0.4 which uses libomxil.so.0, but latest bellagio renamed the binary to libomxil-belagio.so.0. That has been changed in the git repository, which is the recommended way to get the sourcecode right now, not the pre-release tarball. I'm working on a release to avoid these issues. -- Felipe Contreras |
|
From: Gillian F. <ai....@gm...> - 2009-04-02 07:50:06
|
Dear all, Hi. I am a newbie to GstOpenMAX. I want to get it work on x86 firstly. I followed strictly with the instructions on this page ( http://freedesktop.org/wiki/GstOpenMAX). My working environment was Ubuntu 8.10 and I want to use Totem-gstreamer as the front-end. I compiled and installed all packages (gstreamer 0.10.22, Bellagio omxil, gstopenmax) and exported the environment variables. When I started Totem-gstreamer and choose to play a file, the problems occurred. For example, if I want to play a MPEG-4 file, the errors showed on screen saying that *The playback of this movie requires the following decoders which are not installed: MPEG-4 AAC decoder MPEG-4 Video decode* And here was the Log: *[start]* root@fiennes-810:~# totem-gstreamer Xlib: extension "RANDR" missing on display ":0.0". 0:00:14.160030999 30293 0x9e97018 INFO omx gstomx_base_filter.c:81:change_state:<omxmpeg4dec0> changing state NULL - READY ** (totem-gstreamer:30293): WARNING **: libomxil.so.0: cannot open shared object file: No such file or directory ** Message: don't know how to handle video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b001000001b58913000001000000012000c4f8404d8800cd16843c1463000001b24c61766335312e34302e34, width=(int)720, height=(int)480, framerate=(fraction)25/2 0:00:14.272662105 30293 0x9e97018 INFO omx gstomx_base_filter.c:81:change_state:<omxaacdec0> changing state NULL - READY ** (totem-gstreamer:30293): WARNING **: libomxil.so.0: cannot open shared object file: No such file or directory ..... *[end]* The gstopenmax seemed to start work but interrupt. I googled around and can't figure out what caused the problem. Actually I can not find the library libomxil.so.0. So could anybody give me some glues or suggesions ? Thanks a lot. Best wishes, Fiennes |
|
From: Felipe C. <fel...@gm...> - 2009-04-01 16:21:50
|
On Wed, Apr 1, 2009 at 6:45 PM, Stephen M. Webb <ste...@xa...> wrote: > On 01/04/09 11:15, Felipe Contreras wrote: >> >> Yeah, that's the next step, I plan to implement something like: >> ./configure MAPPING=maemo >> >> Would that fit your use case? > > No, configuring at compile time won't help, I need to configure at runtime. I > want to be able to distribute a single gstreamer-openmax library binary > package for, say, Cortex-A8 and be able to configure it at runtime (well, > install time) for the actual hardware it's running on, say OMAP3, i.MX51, or > QSD8x50. Just for example. > >> I am planning to do that soon, but of course I would not get mad if >> you beat me to it :) > > I was hoping you'd say you were just about to check in the changes. I will > now frown and grumble and see what I can come up with. Ah, I see. Well, there's definitely plans on that, but it's pretty low on my priority list =/ My idea was to create a gst-openmax registry, with this API: http://bugzilla.gnome.org/show_bug.cgi?id=350477 -- Felipe Contreras |
|
From: Stephen M. W. <ste...@xa...> - 2009-04-01 15:45:25
|
On 01/04/09 11:15, Felipe Contreras wrote: > > Yeah, that's the next step, I plan to implement something like: > ./configure MAPPING=maemo > > Would that fit your use case? No, configuring at compile time won't help, I need to configure at runtime. I want to be able to distribute a single gstreamer-openmax library binary package for, say, Cortex-A8 and be able to configure it at runtime (well, install time) for the actual hardware it's running on, say OMAP3, i.MX51, or QSD8x50. Just for example. > I am planning to do that soon, but of course I would not get mad if > you beat me to it :) I was hoping you'd say you were just about to check in the changes. I will now frown and grumble and see what I can come up with. -- Stephen M. Webb ste...@xa... www.xandros.com |
|
From: Felipe C. <fel...@gm...> - 2009-04-01 15:15:43
|
On Wed, Apr 1, 2009 at 4:57 PM, Stephen M. Webb <ste...@xa...> wrote: > I have a number of hardware codecs for various boards from various vendors and > I'm trying to integrate them nicely with gst-openmax. The recent refactoring > that split the components into a table is great, but I need to be able to do > it from a config file so that I can use the soft codecs from bellagio for > some things on some target platforms and the vendor-supplied hard codecs for > other things on other platforms. I also need to specify the use of > AllocateBuffer vs. UseBuffer on a per-component basis from that same > configuration file. Yeah, that's the next step, I plan to implement something like: ./configure MAPPING=maemo Would that fit your use case? And yeah, I also would want to specify allocate vs use on a per-component basis, as well as the share_*_buffer hacks. > Is there any plan in the very near future to implement this? I don't want to > duplicate any effort. I am planning to do that soon, but of course I would not get mad if you beat me to it :) Cheers. -- Felipe Contreras |