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-10-31 18:10:42
|
Tejas Bhanabhagavanwala schrieb: > Hello All, > I am involved in the reasearch programme for my company. I > would like to decode .mp4 which contains video container as .h264 and > .mpeg4 on beagle board. I do not want to use opensource ffmeg codecs, > instead we have developed own video codec library and have our own apis > for the same. I have cross compiled gstreamer with the help of sbox2 for > beagle board. Now i want to integrate our codec library to openmax and > gstreamer. But i am not getting much details. Can anyone help me out > into my research project? > Waiting for your kind response. > > NOTE :: We are not using hardware(DSP) for decoding of streame, instead > we have our own video codec which is software based. Maybe this should go to general gstreamer mailing list. But anyway, you should look at other code wrappers in gstreamer and write a simmilar plugin that wrapps your decoders. Stefan > > > Thanks In Advance, > Tejas. > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > > > ------------------------------------------------------------------------ > > _______________________________________________ > Gstreamer-openmax mailing list > Gst...@li... > https://lists.sourceforge.net/lists/listinfo/gstreamer-openmax |
|
From: Tejas B. <te...@or...> - 2009-10-31 07:24:48
|
Hello All,
I am involved in the reasearch programme for my company. I would like to decode .mp4 which contains video container as .h264 and .mpeg4 on beagle board. I do not want to use opensource ffmeg codecs, instead we have developed own video codec library and have our own apis for the same. I have cross compiled gstreamer with the help of sbox2 for beagle board. Now i want to integrate our codec library to openmax and gstreamer. But i am not getting much details. Can anyone help me out into my research project?
Waiting for your kind response.
NOTE :: We are not using hardware(DSP) for decoding of streame, instead we have our own video codec which is software based.
Thanks In Advance,
Tejas. |
|
From: Tejas B. <te...@or...> - 2009-10-31 06:14:23
|
Hello All,
I am trying to configure gst-openmax for my beagle board by giving following command. But i am failed at some point and it is giving me following error.
[root@Fedora gst-openmax-0.10.0.5]# sb2 ./autogen.sh --noconfigure
+ configure run disabled
+ check for build tools
checking for autoconf >= 2.52 ... found 2.63, ok.
checking for automake >= 1.7 ... found 1.11, ok.
checking for libtoolize >= 1.5.0 ... found 1.5.26, ok.
checking for pkg-config >= 0.8.0 ... found 0.23, ok.
+ running aclocal -I m4 ...
fatal: Not a git repository (or any of the parent directories): .git
configure.ac:7: error: AC_INIT should be called with package and version arguments
/usr/share/aclocal-1.11/init.m4:26: AM_INIT_AUTOMAKE is expanded from...
configure.ac:7: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1
aclocal failed
Please help me to resolve this issue.
Thanks In Advance,
Tejas. |
|
From: Felipe C. <fel...@gm...> - 2009-10-13 09:50:09
|
On Tue, Oct 13, 2009 at 12:31 AM, Felipe Contreras <fel...@gm...> wrote: > Hi, > > This is the first public release of gst-dsp; a native GStreamer plug-in to > access Texas Instruments' DSP algorithms for OMAP3 platforms. > > The code came originally from a series of TI projects: tiopenmax[1], and > libbridge[2]. gst-dsp replaces these two layers and talks directly to the DSP > bridge driver. > > The main advantages are code simplification (5k vs 50k), and better performance > (at least 4 times less CPU usage). However, not all of the codecs have been > implemented, only MPEG-4 and H.263 video encoders and decoders, the JPEG > encoder, and H.264 is partially supported. > > Currently it's used in the Nokia N900. > > In order to make it easier for people to try it out, I created a demo image for > the beagleboard with all the required components: GStreamer, gst-dsp, DSP > public binaries, and a kernel with DSS2 and DSP bridge driver. > > The linux kernel (DSS2 + dspbridge) is at the v2.6.32-felipec1 tag in: > http://gitorious.org/~felipec/linux-omap/felipec > > The DSP algorithms are public, and come from tiopenmax: > https://gforge.ti.com/gf/download/frsrelease/170/1399/tiopenmax-0.3.5.tar.gz > > Here's the demo rootfs with the kernel image and instructions: > http://people.freedesktop.org/~felipec/beagle-2.6.32-rc3/ > > And here's the video showing it on action for both playback and recording: > http://www.youtube.com/watch?v=SN-Nw_yDQUs I removed the video because of a bug in YouTube and uploaded it again: http://www.youtube.com/watch?v=CjxkNIHBGdI Cheers. -- Felipe Contreras |
|
From: Gregoire G. <gre...@ge...> - 2009-10-13 06:26:27
|
It definitely seems to be a very nice effort that will be very useful to many projects. I will integrate on the Touch Book. Thanks, Grégoire On Tue, 2009-10-13 at 00:31 +0300, Felipe Contreras wrote: > Hi, > > This is the first public release of gst-dsp; a native GStreamer plug-in to > access Texas Instruments' DSP algorithms for OMAP3 platforms. > > The code came originally from a series of TI projects: tiopenmax[1], and > libbridge[2]. gst-dsp replaces these two layers and talks directly to the DSP > bridge driver. > > The main advantages are code simplification (5k vs 50k), and better performance > (at least 4 times less CPU usage). However, not all of the codecs have been > implemented, only MPEG-4 and H.263 video encoders and decoders, the JPEG > encoder, and H.264 is partially supported. > > Currently it's used in the Nokia N900. > > In order to make it easier for people to try it out, I created a demo image for > the beagleboard with all the required components: GStreamer, gst-dsp, DSP > public binaries, and a kernel with DSS2 and DSP bridge driver. > > The linux kernel (DSS2 + dspbridge) is at the v2.6.32-felipec1 tag in: > http://gitorious.org/~felipec/linux-omap/felipec > > The DSP algorithms are public, and come from tiopenmax: > https://gforge.ti.com/gf/download/frsrelease/170/1399/tiopenmax-0.3.5.tar.gz > > Here's the demo rootfs with the kernel image and instructions: > http://people.freedesktop.org/~felipec/beagle-2.6.32-rc3/ > > And here's the video showing it on action for both playback and recording: > http://www.youtube.com/watch?v=SN-Nw_yDQUs > > The main repository is hosted on github: > http://github.com/felipec/gst-dsp > > And there's also one specific for maemo: > http://maemo.gitorious.org/maemo-multimedia/gst-dsp > > This code wouldn't have been possible without all the contributions and > specially thanks to TI for making their code open source. > > Here's the shortlog for 0.6.0: > > Andriy Shevchenko (1): > base: fix a crash on send codec data > > Felipe Contreras (180): > Initial commit > Register dsp node > Add README > Fix and update copyrights > Add ALLOCATE_HEAP and ALLOCATE_SN to dsp_bridge > Add handy dsp_send_message > dummy: use dsp_send_message > Rename gstdsp.* to plugin.* > Makefile: cleanup > dummy: trivial clanups > Add log utility > Use log utility > dmm_buffer: size_t improvements > dmm_buffer: always unmap when freeing > dmm_buffer: use getpagesize() > dmm_buffer: alignment improvements > dmm_buffer: add user_data field > Add MPEG-4 video decoder > README: update > mp4vdec: trivial cleanup > mp4vdec: send signal to output_loop > mp4vdec: flush output buffers too > mp4vdec: reset output port > mp4vdec: extra check for null buffer > mp4vdec: use atomic operations for status > mp4vdec: use more atomic operations for status > mp4vdec: send stop signal before > mp4vdec: re-use comm buffers > dmm_buffer: reorganize a bit > dmm_buffer: add dmm_buffer_reserve > dmm_buffer: allow to re-reserve memory > dmm_buffer: allow re-mapping > mp4vdec: trivial cleanup > dmm_buffer: unmap before unreserving > mp4vdec: re-use mappings for output buffers > mp4vdec: convert flush condition to semaphore > Remove cond.h > Rename mp4vdec to vdec > vdec: trivial cleanup > vdec: trivial reorganization > vdec: prepare for multiple algos > vdec: move create_node to dsp_start > vdec: start dsp node after getting the caps > vdec: initial support for H.264 > vdec: add Juha to authors list > README: update > vdec: cleanup > vdec: make dsp_thread static > vdec: reorganize a bit > New base class > Add new video encoder > base: handle more commands > base: reorganize got_message a bit > venc: improve jpeg args > venc: send jpeg dynamic params > base: cleanup setup_output_buffers > base: remove unused buffer_count > base: reorganize a bit > base: add use_pad_alloc option > base: free mapped buffers on dsp_stop() > base: be more verbose on get_slot() > README: update > Makefile: check for missing symbols > New utility gstdsp_register() > base: detect dsp errors > base: properly handle dsp errors > base: post error in the bus > base: extra check for status in outout_loop() > base: free events array > base: reinitialize state on NULL->READY > base: use circular buffer for timestamps > base: increase ts_array > base: increase mapping cache > dummy: reorganize map_buffer > dummy: input buffers don't need alignment > dummy: cleanup > dummy: don't map buffers > venc: increase framesize limit for jpeg > base: add gstdsp_post_error() > venc: allocate a buffer when framesize is unaligned > base: decrease wait for events timeout > base: more error messages > base: re-initialize on READY->PAUSED > base: don't panic on wrong status > base: destroy node at the right time > base: catch playback completed message > base: possible memleak fixes > vdec: send codec data for MPEG-4 > base: make map cache optional > plugin: set more proper ranks > vdec: add framerate workaround > vdec: remove gstdsp_send_buffer() > base: add create_node() vmethod > base: add parsing facilities > Add h263 parser > parse: update framesize only when unset > Random cleanups > base: add support for stream params > venc: add H.263 > venc: use h263 by default > Reorganize encoders > base: send codec data for all the codecs > base: keep trying if parse func fails > base: trivial cleanup > Trivial cleanups > log: don't display info level > log: decrease log level for buffer allocs > log: add pr_test > base: rename array to cache > base: rename 'buffer' to 'comm' > base: event cleanup > base: reorganize a bit > base: assume output buffer is always there > base: remove out_buffer, use port buffer > base: store input buffer > base: trivial cleanup > base: flush ports on stop > base: plug some possible leaks > base: make map_buffer() more conservative > base: trigger semaphore after buffer modifications > base: re-use input buffer > base: add port index field > Add async queue > base: allow multiple buffers > base: allow child elements to configure the ports > vdec: increase the number of buffers to 2 > venc: trivial fixes > log: add missing include > base: re-enable queues properly > venc: decrease input buffer size > base: wait for eos > base: possible fix > Initial MPEG-4 video encoder support > gstdspvenc.h: preemptively add H.264 to the list > base: add send_codec_data() helper > vdec: use send_codec_data() > vdec: extra checks > Add skip hack > Revert "venc: forcing mpeg4 I frame each i_frame_interval" > venc: reorganize stream/dynamic params > base: trivial cleanup > base: properly set param virt addr > Add param argument to buffer callbacks > Add buffer argument to buffer callbacks > base: add buffer recv_cb > base: add check for end addr alignment > vdec: fix extra unref for codec-data > base: trivial cleanups > Rename dmm_buffer_flush() to dmm_buffer_clean() > base: fix memory read > dmm_buffer: clean instead of flush > dmm_buffer: add cache 'flush' function back > Use more proper cache functions > base: handle bad node termination > base: make EOS alignment an option > jpegenc: enable eos align > venc: improve integer framerate calculation > venc: fix bitrate calculation > venc: cleanup bitrate calculation > venc: remove jpeg from bitrate calculation > venc: tweak bitrate calculation > venc: trivial cleanups > venc: add 'quality' field > venc: calculate smaller buffer sizes > Fix some static analysis warnings > log: avoid pr_info when gst debugging is off > base: remove use_map_cache > Trivial cleanups > Cleanup type registrations > base: improve some compiler hints > dmm-buffer: check cache flush size > base: properly free node resources > Create custom dsp_node_t > dsp-bridge: store node heap ourselves > dsp-bridge: store node msgbuf ourselves > dsp-bridge: cleanup node_free > base: copy buffers when appropriate > base: remove unnecessary cache flushing > venc: set rate-control to variable > base: post critical error mesages to the bus > > Hoseok Chang (1): > venc: tune mp4v parms for better performance > > Juha Alanen (5): > vdec: set profile based on the frame size > vdec: improve H.263 args > vdec: initial support for WMV9 > venc: set profile correctly for H.263 and MPEG4 > venc: disable single scan output for JPEG encoder > > Marco Ballesio (8): > vdec: fix srcpad setup > venc: rename mp4venc_stream_params > venc: add mp4venc_out_stream_params > base: use proper buffer length > venc: forcing mpeg4 I frame each i_frame_interval > venc: reordered mp4venc_args initialization > venc: added bitrate computation formula > venc: propagate keyframes properly > > Mark Nauwelaerts (2): > base: safer buffer allocation and freeing > base: fix element ref leak > > Miguel Verdu (2): > venc: tune MPEG-4 parameters > venc: tune MPEG-4 parameters for quality > > René Stadler (3): > base: fix thread leak > base: advance timestamp pointer for empty output buffers > base: don't use DSP flushing > > Tim-Philipp Müller (1): > base: unref unused output buffer when skipping output > > Cheers. > > [1] https://gforge.ti.com/gf/project/openmax/ > [2] https://gforge.ti.com/gf/project/omapbridge/ > |
|
From: Felipe C. <fel...@gm...> - 2009-10-12 21:31:17
|
Hi, This is the first public release of gst-dsp; a native GStreamer plug-in to access Texas Instruments' DSP algorithms for OMAP3 platforms. The code came originally from a series of TI projects: tiopenmax[1], and libbridge[2]. gst-dsp replaces these two layers and talks directly to the DSP bridge driver. The main advantages are code simplification (5k vs 50k), and better performance (at least 4 times less CPU usage). However, not all of the codecs have been implemented, only MPEG-4 and H.263 video encoders and decoders, the JPEG encoder, and H.264 is partially supported. Currently it's used in the Nokia N900. In order to make it easier for people to try it out, I created a demo image for the beagleboard with all the required components: GStreamer, gst-dsp, DSP public binaries, and a kernel with DSS2 and DSP bridge driver. The linux kernel (DSS2 + dspbridge) is at the v2.6.32-felipec1 tag in: http://gitorious.org/~felipec/linux-omap/felipec The DSP algorithms are public, and come from tiopenmax: https://gforge.ti.com/gf/download/frsrelease/170/1399/tiopenmax-0.3.5.tar.gz Here's the demo rootfs with the kernel image and instructions: http://people.freedesktop.org/~felipec/beagle-2.6.32-rc3/ And here's the video showing it on action for both playback and recording: http://www.youtube.com/watch?v=SN-Nw_yDQUs The main repository is hosted on github: http://github.com/felipec/gst-dsp And there's also one specific for maemo: http://maemo.gitorious.org/maemo-multimedia/gst-dsp This code wouldn't have been possible without all the contributions and specially thanks to TI for making their code open source. Here's the shortlog for 0.6.0: Andriy Shevchenko (1): base: fix a crash on send codec data Felipe Contreras (180): Initial commit Register dsp node Add README Fix and update copyrights Add ALLOCATE_HEAP and ALLOCATE_SN to dsp_bridge Add handy dsp_send_message dummy: use dsp_send_message Rename gstdsp.* to plugin.* Makefile: cleanup dummy: trivial clanups Add log utility Use log utility dmm_buffer: size_t improvements dmm_buffer: always unmap when freeing dmm_buffer: use getpagesize() dmm_buffer: alignment improvements dmm_buffer: add user_data field Add MPEG-4 video decoder README: update mp4vdec: trivial cleanup mp4vdec: send signal to output_loop mp4vdec: flush output buffers too mp4vdec: reset output port mp4vdec: extra check for null buffer mp4vdec: use atomic operations for status mp4vdec: use more atomic operations for status mp4vdec: send stop signal before mp4vdec: re-use comm buffers dmm_buffer: reorganize a bit dmm_buffer: add dmm_buffer_reserve dmm_buffer: allow to re-reserve memory dmm_buffer: allow re-mapping mp4vdec: trivial cleanup dmm_buffer: unmap before unreserving mp4vdec: re-use mappings for output buffers mp4vdec: convert flush condition to semaphore Remove cond.h Rename mp4vdec to vdec vdec: trivial cleanup vdec: trivial reorganization vdec: prepare for multiple algos vdec: move create_node to dsp_start vdec: start dsp node after getting the caps vdec: initial support for H.264 vdec: add Juha to authors list README: update vdec: cleanup vdec: make dsp_thread static vdec: reorganize a bit New base class Add new video encoder base: handle more commands base: reorganize got_message a bit venc: improve jpeg args venc: send jpeg dynamic params base: cleanup setup_output_buffers base: remove unused buffer_count base: reorganize a bit base: add use_pad_alloc option base: free mapped buffers on dsp_stop() base: be more verbose on get_slot() README: update Makefile: check for missing symbols New utility gstdsp_register() base: detect dsp errors base: properly handle dsp errors base: post error in the bus base: extra check for status in outout_loop() base: free events array base: reinitialize state on NULL->READY base: use circular buffer for timestamps base: increase ts_array base: increase mapping cache dummy: reorganize map_buffer dummy: input buffers don't need alignment dummy: cleanup dummy: don't map buffers venc: increase framesize limit for jpeg base: add gstdsp_post_error() venc: allocate a buffer when framesize is unaligned base: decrease wait for events timeout base: more error messages base: re-initialize on READY->PAUSED base: don't panic on wrong status base: destroy node at the right time base: catch playback completed message base: possible memleak fixes vdec: send codec data for MPEG-4 base: make map cache optional plugin: set more proper ranks vdec: add framerate workaround vdec: remove gstdsp_send_buffer() base: add create_node() vmethod base: add parsing facilities Add h263 parser parse: update framesize only when unset Random cleanups base: add support for stream params venc: add H.263 venc: use h263 by default Reorganize encoders base: send codec data for all the codecs base: keep trying if parse func fails base: trivial cleanup Trivial cleanups log: don't display info level log: decrease log level for buffer allocs log: add pr_test base: rename array to cache base: rename 'buffer' to 'comm' base: event cleanup base: reorganize a bit base: assume output buffer is always there base: remove out_buffer, use port buffer base: store input buffer base: trivial cleanup base: flush ports on stop base: plug some possible leaks base: make map_buffer() more conservative base: trigger semaphore after buffer modifications base: re-use input buffer base: add port index field Add async queue base: allow multiple buffers base: allow child elements to configure the ports vdec: increase the number of buffers to 2 venc: trivial fixes log: add missing include base: re-enable queues properly venc: decrease input buffer size base: wait for eos base: possible fix Initial MPEG-4 video encoder support gstdspvenc.h: preemptively add H.264 to the list base: add send_codec_data() helper vdec: use send_codec_data() vdec: extra checks Add skip hack Revert "venc: forcing mpeg4 I frame each i_frame_interval" venc: reorganize stream/dynamic params base: trivial cleanup base: properly set param virt addr Add param argument to buffer callbacks Add buffer argument to buffer callbacks base: add buffer recv_cb base: add check for end addr alignment vdec: fix extra unref for codec-data base: trivial cleanups Rename dmm_buffer_flush() to dmm_buffer_clean() base: fix memory read dmm_buffer: clean instead of flush dmm_buffer: add cache 'flush' function back Use more proper cache functions base: handle bad node termination base: make EOS alignment an option jpegenc: enable eos align venc: improve integer framerate calculation venc: fix bitrate calculation venc: cleanup bitrate calculation venc: remove jpeg from bitrate calculation venc: tweak bitrate calculation venc: trivial cleanups venc: add 'quality' field venc: calculate smaller buffer sizes Fix some static analysis warnings log: avoid pr_info when gst debugging is off base: remove use_map_cache Trivial cleanups Cleanup type registrations base: improve some compiler hints dmm-buffer: check cache flush size base: properly free node resources Create custom dsp_node_t dsp-bridge: store node heap ourselves dsp-bridge: store node msgbuf ourselves dsp-bridge: cleanup node_free base: copy buffers when appropriate base: remove unnecessary cache flushing venc: set rate-control to variable base: post critical error mesages to the bus Hoseok Chang (1): venc: tune mp4v parms for better performance Juha Alanen (5): vdec: set profile based on the frame size vdec: improve H.263 args vdec: initial support for WMV9 venc: set profile correctly for H.263 and MPEG4 venc: disable single scan output for JPEG encoder Marco Ballesio (8): vdec: fix srcpad setup venc: rename mp4venc_stream_params venc: add mp4venc_out_stream_params base: use proper buffer length venc: forcing mpeg4 I frame each i_frame_interval venc: reordered mp4venc_args initialization venc: added bitrate computation formula venc: propagate keyframes properly Mark Nauwelaerts (2): base: safer buffer allocation and freeing base: fix element ref leak Miguel Verdu (2): venc: tune MPEG-4 parameters venc: tune MPEG-4 parameters for quality René Stadler (3): base: fix thread leak base: advance timestamp pointer for empty output buffers base: don't use DSP flushing Tim-Philipp Müller (1): base: unref unused output buffer when skipping output Cheers. [1] https://gforge.ti.com/gf/project/openmax/ [2] https://gforge.ti.com/gf/project/omapbridge/ -- Felipe Contreras |
|
From: Edward H. <bi...@gm...> - 2009-09-15 10:56:29
|
On Mon, 2009-09-14 at 17:11 -0700, jayasena s wrote: > > I would like to retrieve the clock time in gst-openmax. When I used > gst_clock_get_time(self) in output_loop, I am getting error. > GStreamer-CRITICAL **: gst_clock_get_time: assertion `GST_IS_CLOCK > (clock)' failed Most likely because either: * self is not a GstClock, or * self is NULL Edward |
|
From: jayasena s <ja...@ya...> - 2009-09-15 00:11:38
|
Hi Felipe,
I would like to retrieve the clock time in gst-openmax.
When I used gst_clock_get_time(self) in output_loop, I am getting error.
GStreamer-CRITICAL **: gst_clock_get_time: assertion `GST_IS_CLOCK (clock)' failed
Could you let know how to get the clock time using gst_clock_get_time() API.
Thanks,
Jai
|
|
From: John B. <joh...@gm...> - 2009-08-30 11:03:05
|
Hi Felipe, Felipe Contreras wrote: > On Thu, Aug 27, 2009 at 06:15:28PM +0200, ext John Bivens wrote: >> Hello, > > Hi John, > >> John Bivens wrote: >>> Hello, >>> >>> (This is my first post to this list, so please let me know if I >>> [unintentionally] break any rules...) >>> >>> A little background: I currently have some openmax libraries from a >>> third-party supplier (unfortunately binary-only, non-free software). I >>> would like to integrate them into the GStreamer framework using >>> gst-openmax on an ARM11 system based on Wind River Linux. >>> >>> I have cross-compiled the GStreamer framework, various GStreamer >>> plugins, and gst-openmax. I have also altered the element_table in >>> gstomx.c to utilize th third-party libraries and reference the proper >>> component names. So far, so good -- I think. >>> >>> When attempting to run a fakesrc through one of the openmax libraries >>> and back out to a fakesink, I get the following error: >>> >>> # gst-launch fakesrc ! omx_h264dec ! fakesink >>> Setting pipeline to PAUSED ... >>> ERROR: Pipeline doesn't want to pause. >>> Setting pipeline to NULL ... >>> FREEING pipeline ... >> By way of strace and a few debug prints, I have found that our >> third-party supplier has implemented the OpenMAX specification a bit >> differently. It seems the problem with the pipeline not pausing was >> actually an issue with a parameter being required for OMX_Init(). So I >> have gotten past this issue and am now working my way through the rest >> of their changes. I suppose I should have dug a little more deeply >> before posting my question. > > Good. Working with OpenMAX IL that's usually the reason for things not > working as they should: the implementation doesn't follow the spec > properly. Ideally you would push your vendor to fix their > implementation, but most probably first you'll have to implement some > workarounds. > > If you think those workarounds can somehow be safe for other > implementations please send the patches to the mailing list. > > Cheers. > Thanks for your reply. I certainly will if manage to get something useful. |
|
From: Felipe C. <fel...@no...> - 2009-08-30 08:40:37
|
On Thu, Aug 27, 2009 at 06:15:28PM +0200, ext John Bivens wrote: > Hello, Hi John, > John Bivens wrote: > > Hello, > > > > (This is my first post to this list, so please let me know if I > > [unintentionally] break any rules...) > > > > A little background: I currently have some openmax libraries from a > > third-party supplier (unfortunately binary-only, non-free software). I > > would like to integrate them into the GStreamer framework using > > gst-openmax on an ARM11 system based on Wind River Linux. > > > > I have cross-compiled the GStreamer framework, various GStreamer > > plugins, and gst-openmax. I have also altered the element_table in > > gstomx.c to utilize th third-party libraries and reference the proper > > component names. So far, so good -- I think. > > > > When attempting to run a fakesrc through one of the openmax libraries > > and back out to a fakesink, I get the following error: > > > > # gst-launch fakesrc ! omx_h264dec ! fakesink > > Setting pipeline to PAUSED ... > > ERROR: Pipeline doesn't want to pause. > > Setting pipeline to NULL ... > > FREEING pipeline ... > > By way of strace and a few debug prints, I have found that our > third-party supplier has implemented the OpenMAX specification a bit > differently. It seems the problem with the pipeline not pausing was > actually an issue with a parameter being required for OMX_Init(). So I > have gotten past this issue and am now working my way through the rest > of their changes. I suppose I should have dug a little more deeply > before posting my question. Good. Working with OpenMAX IL that's usually the reason for things not working as they should: the implementation doesn't follow the spec properly. Ideally you would push your vendor to fix their implementation, but most probably first you'll have to implement some workarounds. If you think those workarounds can somehow be safe for other implementations please send the patches to the mailing list. Cheers. -- Felipe Contreras |
|
From: John B. <joh...@gm...> - 2009-08-27 16:15:44
|
Hello, John Bivens wrote: > Hello, > > (This is my first post to this list, so please let me know if I > [unintentionally] break any rules...) > > A little background: I currently have some openmax libraries from a > third-party supplier (unfortunately binary-only, non-free software). I > would like to integrate them into the GStreamer framework using > gst-openmax on an ARM11 system based on Wind River Linux. > > I have cross-compiled the GStreamer framework, various GStreamer > plugins, and gst-openmax. I have also altered the element_table in > gstomx.c to utilize th third-party libraries and reference the proper > component names. So far, so good -- I think. > > When attempting to run a fakesrc through one of the openmax libraries > and back out to a fakesink, I get the following error: > > # gst-launch fakesrc ! omx_h264dec ! fakesink > Setting pipeline to PAUSED ... > ERROR: Pipeline doesn't want to pause. > Setting pipeline to NULL ... > FREEING pipeline ... > > When executing the same command with a gst-openmax debug level of 5 > (GST_DEBUG="omx:5"), I get the following: > > # gst-launch fakesrc ! omx_h264dec ! fakesink > 0:00:00.443705000 1047 0x15050 LOG omx > gstomx_base_filter.c:878:type_instance_init:<GstOmxBaseFilter@0x94848> > begin > 0:00:00.446431000 1047 0x15050 LOG omx > gstomx_base_filter.c:917:type_instance_init:<GstOmxBaseFilter@0x94848> end > Setting pipeline to PAUSED ... > 0:00:00.452901000 1047 0x15050 LOG omx > gstomx_base_filter.c:95:change_state:<omxh264dec0> begin > 0:00:00.453392000 1047 0x15050 INFO omx > gstomx_base_filter.c:99:change_state:<omxh264dec0> changing state NULL - > READY > 0:00:00.454123000 1047 0x15050 LOG omx > gstomx_base_filter.c:153:change_state:<omxh264dec0> end > ERROR: Pipeline doesn't want to pause. > Setting pipeline to NULL ... > 0:00:00.456557000 1047 0x15050 LOG omx > gstomx_base_filter.c:95:change_state:<omxh264dec0> begin > 0:00:00.457005000 1047 0x15050 INFO omx > gstomx_base_filter.c:99:change_state:<omxh264dec0> changing state NULL - > NULL > 0:00:00.457445000 1047 0x15050 LOG omx > gstomx_base_filter.c:153:change_state:<omxh264dec0> end > FREEING pipeline ... > > Unfortunately, this does not give me much information to go on -- or at > least I don't see much there that could help. If I set the GStreamer > debug level to 4 or 5 (GST_DEBUG="4" or GST_DEBUG="5"), output runs in > an endless loop, and of course does not result in the desired playback. > When setting the GStreamer debug level to 3 (GST_DEBUG="3"), however, I > get a segmentation fault at the point where the pipeline is created: > > # gst-launch fakesrc ! omx_h264dec ! fakesink > 0:00:00.001167000 1053 0x15050 INFO GST_INIT > gst.c:608:init_pre: Initializing GStreamer Core Library version 0.10.21 > 0:00:00.002487000 1053 0x15050 INFO GST_INIT > gst.c:609:init_pre: Using library installed in /usr/lib > 0:00:00.002940000 1053 0x15050 INFO GST_INIT > gst.c:619:init_pre: Linux (none) 2.6.27.18 #2 PREEMPT Thu Jun 11 > 13:16:50 JST 2009 armv6l > 0:00:00.004297000 1053 0x15050 INFO GST_INIT > gstquery.c:103:_gst_query_initialize: init queries > 0:00:00.017659000 1053 0x15050 INFO GST_INIT > gstmessage.c:73:_gst_message_initialize: init messages > 0:00:00.020762000 1053 0x15050 INFO GST_PLUGIN_LOADING > gstplugin.c:257:_gst_plugin_initialize: registering 0 static plugins > 0:00:00.023976000 1053 0x15050 INFO GST_PLUGIN_LOADING > gstplugin.c:242:gst_plugin_register_static: registered static plugin > "staticelements" > 0:00:00.024569000 1053 0x15050 INFO GST_PLUGIN_LOADING > gstplugin.c:244:gst_plugin_register_static: added static plugin > "staticelements", result: 1 > 0:00:00.029336000 1053 0x15050 INFO GST_INIT > gst.c:901:ensure_current_registry: reading registry cache: > /root/.gstreamer-0.10/registry.arm.bin > 0:00:00.196823000 1053 0x15050 INFO GST_REGISTRY > gstregistrybinary.c:1241:gst_registry_binary_read_cache: loaded > /root/.gstreamer-0.10/registry.arm.bin in 0.166966 ses > 0:00:00.200272000 1054 0x15050 INFO GST_INIT > gst.c:671:scan_and_update_registry: Validating registry cache: > /root/.gstreamer-0.10/registry.arm.bin > 0:00:00.222455000 1054 0x15050 INFO GST_INIT > gst.c:738:scan_and_update_registry: Registry cache has not changed > 0:00:00.223757000 1053 0x15050 INFO GST_INIT > gst.c:944:ensure_current_registry: registry reading and updating done, > result = 1 > 0:00:00.224632000 1053 0x15050 INFO GST_PIPELINE > gstparse.c:291:gst_parse_launch_full: parsing pipeline description > 'fakesrc ! omx_h264dec ! fakesink ' > 0:00:00.264331000 1053 0x15050 INFO GST_PLUGIN_LOADING > gstplugin.c:562:gst_plugin_load_file: plugin > "/usr/lib/gstreamer-0.10/libgstcoreelements.so" loaded > 0:00:00.265127000 1053 0x15050 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:399:gst_element_factory_create: creating element > "fakesrc" > 0:00:00.266501000 1053 0x15050 INFO GST_ELEMENT_PADS > gstelement.c:639:gst_element_add_pad:<GstBaseSrc@0x8c000> adding pad 'src' > 0:00:00.336663000 1053 0x15050 INFO GST_PLUGIN_LOADING > gstplugin.c:562:gst_plugin_load_file: plugin > "/usr/lib/gstreamer-0.10/libgstomx.so" loaded > 0:00:00.337540000 1053 0x15050 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:399:gst_element_factory_create: creating element > "omx_h264dec" > 0:00:00.339162000 1053 0x15050 INFO GST_ELEMENT_PADS > gstelement.c:639:gst_element_add_pad:<GstOmxBaseFilter@0x95848> adding > pad 'sink' > 0:00:00.339718000 1053 0x15050 INFO GST_ELEMENT_PADS > gstelement.c:639:gst_element_add_pad:<GstOmxBaseFilter@0x95848> adding > pad 'src' > 0:00:00.340641000 1053 0x15050 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:399:gst_element_factory_create: creating element > "fakesink" > 0:00:00.341886000 1053 0x15050 INFO GST_ELEMENT_PADS > gstelement.c:639:gst_element_add_pad:<GstBaseSink@0x960e0> adding pad > 'sink' > 0:00:00.343238000 1053 0x15050 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:399:gst_element_factory_create: creating element > "pipeline" > Caught SIGSEGV accessing address (nil) > Spinning. Please run 'gdb gst-launch 1053' to continue debugging, > Ctrl-C to quit, or Ctrl-\ to dump core. > > To me, this seems as if the libraries themselves are problematic -- > perhaps they are not truly openmax-compliant, or they are poorly coded, > or something else is amiss. Because of the non-free, binary-only nature > of the libraries, I cannot even begin to debug them. > > Does anyone see something here that might indicate the possibility of > another avenue of exploration (besides debugging the proprietary > libraries themselves)? Is this something that occurs with other openmax > library implementations? Or could someone give me some other pointers > or information that may lead me in the right direction? > > I am also including the output of gst-inspect here, in case it may be of > use: > > # gst-inspect > > omx: omx_mp3dec: OpenMAX IL MP3 audio decoder > > omx: omx_h264enc: OpenMAX IL H.264/AVC video encoder > > omx: omx_h264dec: OpenMAX IL H.264/AVC video decoder > > omx: omx_mpeg4dec: OpenMAX IL MPEG-4 video decoder > > iec958: ac3iec958: AC3 to IEC958 filter > > realmedia: rtspreal: RealMedia RTSP Extension > > realmedia: rdtmanager: RTP Decoder > > realmedia: rdtdepay: RDT packet parser > > realmedia: rademux: RealAudio Demuxer > > realmedia: rmdemux: RealMedia Demuxer > > mad: id3mux: id3 tag muxer > > mad: mad: mad mp3 decoder > > dvdsub: dvdsubparse: DVD subtitle parser > > dvdsub: dvdsubdec: DVD subtitle decoder > > dvdlpcmdec: dvdlpcmdec: DVD LPCM Audio decoder > > mpegaudioparse: mp3parse: MPEG1 Audio Parser > > mpegaudioparse: xingmux: MP3 Xing muxer > > mpegstream: dvddemux: DVD Demuxer > > mpegstream: mpegdemux: MPEG Demuxer > > mpegstream: mpegparse: MPEG System Parser > > asf: rtspwms: WMS RTSP Extension > > asf: asfdemux: ASF Demuxer > > videobalance: videobalance: Video balance > > multipart: multipartdemux: Multipart demuxer > > multipart: multipartmux: Multipart muxer > > spectrum: spectrum: Spectrum analyzer > > auparse: auparse: AU audio demuxer > > videobox: videobox: Video box filter > > videomixer: videomixer: Video mixer > > multifile: multifilesrc: Multi-File Source > > multifile: multifilesink: Multi-File Sink > > bayer: bayer2rgb: Bayer to RGB decoder for cameras > > aiffparse: aiffparse: AIFF audio demuxer > > pcapparse: pcapparse: PCapParse > > rawparse: videoparse: Video Parse > > rawparse: audioparse: Audio Parse > > mpeg4videoparse: mpeg4videoparse: MPEG 4 video elementary stream parser > > udp: udpsink: UDP packet sender > > udp: multiudpsink: UDP packet sender > > udp: dynudpsink: UDP packet sender > > udp: udpsrc: UDP packet receiver > > faad: faad: AAC audio decoder > > stereo: stereo: Stereo effect > > app: appsrc: AppSrc > > app: appsink: AppSink > > freeze: freeze: Stream freezer > > gstrtpmanager: gstrtpbin: RTP Bin > > gstrtpmanager: gstrtpclient: RTP Client > > gstrtpmanager: gstrtpjitterbuffer: RTP packet jitter-buffer > > gstrtpmanager: gstrtpptdemux: RTP Demux > > gstrtpmanager: gstrtpsession: RTP Session > > gstrtpmanager: gstrtpssrcdemux: RTP SSRC Demux > > wavparse: wavparse: WAV audio demuxer > > rtp: rtpdepay: RTP depayloader > > rtp: rtpac3depay: RTP packet depayloader > > rtp: rtpdvdepay: RTP DV Depayloader > > rtp: rtpdvpay: RTP DV Payloader > > rtp: rtpilbcpay: RTP Payloader for iLBC Audio > > rtp: rtpilbcdepay: RTP iLBC packet depayloader > > rtp: rtpg726depay: RTP packet depayloader > > rtp: rtpg726pay: RTP packet payloader > > rtp: rtpg729depay: RTP packet depayloader > > rtp: rtpg729pay: RTP Payloader for G729 Audio > > rtp: rtpgsmdepay: RTP packet depayloader > > rtp: rtpgsmpay: RTP GSM audio payloader > > rtp: rtpamrdepay: RTP packet depayloader > > rtp: rtpamrpay: RTP packet payloader > > rtp: rtppcmadepay: RTP packet depayloader > > rtp: rtppcmudepay: RTP packet depayloader > > rtp: rtppcmupay: RTP packet payloader > > rtp: rtppcmapay: RTP packet payloader > > rtp: rtpmpadepay: RTP packet depayloader > > rtp: rtpmpapay: RTP packet payloader > > rtp: rtpmpvdepay: RTP packet depayloader > > rtp: rtpmpvpay: RTP MPEG2 ES video payloader > > rtp: rtph263ppay: RTP packet payloader > > rtp: rtph263pdepay: RTP packet depayloader > > rtp: rtph263depay: RTP H263 packet depayloader > > rtp: rtph263pay: RTP packet payloader > > rtp: rtph264depay: RTP packet depayloader > > rtp: rtph264pay: RTP packet payloader > > rtp: rtpL16pay: RTP packet payloader > > rtp: rtpL16depay: RTP packet depayloader > > rtp: asteriskh263: RTP packet parser > > rtp: rtpmp1sdepay: RTP packet depayloader > > rtp: rtpmp2tdepay: RTP packet depayloader > > rtp: rtpmp2tpay: RTP MP2T audio payloader > > rtp: rtpmp4vpay: RTP MPEG-4 Video packet payloader > > rtp: rtpmp4vdepay: RTP packet depayloader > > rtp: rtpmp4apay: RTP packet payloader > > rtp: rtpmp4adepay: RTP packet parser > > rtp: rtpmp4gdepay: RTP packet depayloader > > rtp: rtpmp4gpay: RTP packet payloader > > rtp: rtpspeexpay: RTP packet payloader > > rtp: rtpspeexdepay: RTP packet depayloader > > rtp: rtpsv3vdepay: RTP packet depayloader > > rtp: rtptheoradepay: RTP packet depayloader > > rtp: rtptheorapay: RTP packet depayloader > > rtp: rtpvorbisdepay: RTP packet depayloader > > rtp: rtpvorbispay: RTP packet depayloader > > rtp: rtpvrawdepay: RTP packet depayloader > > rtp: rtpvrawpay: RTP packet payloader > > goom: goom: GOOM: what a GOOM! > > quicktime: qtdemux: QuickTime demuxer > > quicktime: rtpxqtdepay: RTP packet depayloader > > modplug: modplug: ModPlug > > scaletempo: scaletempo: Scaletempo > > level: level: Level > > nuvdemux: nuvdemux: Nuv demuxer > > nsfdec: nsfdec: Nsf decoder > > effectv: edgetv: EdgeTV effect > > effectv: agingtv: AgingTV effect > > effectv: dicetv: DiceTV effect > > effectv: warptv: WarpTV effect > > effectv: shagadelictv: ShagadelicTV > > effectv: vertigotv: VertigoTV effect > > effectv: revtv: RevTV effect > > effectv: quarktv: QuarkTV effect > > matroska: matroskademux: Matroska demuxer > > matroska: matroskamux: Matroska muxer > > jpeg: jpegenc: JPEG image encoder > > jpeg: jpegdec: JPEG image decoder > > jpeg: smokeenc: Smoke video encoder > > jpeg: smokedec: Smoke video decoder > > metadata: metadatademux: Metadata demuxer > > metadata: metadatamux: Metadata muxer > > video4linux2: v4l2src: Video (video4linux2/raw) Source > > rfbsrc: rfbsrc: Rfb source > > flv: flvdemux: FLV Demuxer > > flv: flvmux: FLV muxer > > mve: mvedemux: MVE Demuxer > > mve: mvemux: MVE Multiplexer > > gstinterlace: deinterlace: Deinterlace > > audiofx: audiopanorama: Stereo positioning > > audiofx: audioinvert: Audio inversion > > audiofx: audiokaraoke: AudioKaraoke > > audiofx: audioamplify: Audio amplifier > > audiofx: audiodynamic: Dynamic range controller > > audiofx: audiocheblimit: Low pass & high pass filter > > audiofx: audiochebband: Band pass & band reject filter > > audiofx: audiowsinclimit: Low pass & high pass filter > > audiofx: audiowsincband: Band pass & band reject filter > > videosignal: videoanalyse: Video analyser > > videosignal: videodetect: Video detecter > > videosignal: videomark: Video marker > > speexresample: speexresample: Audio resampler > > h264parse: h264parse: H264Parse > > avi: avidemux: Avi demuxer > > avi: avimux: Avi muxer > > avi: avisubtitle: Avi subtitle parser > > mpegtsmux: mpegtsmux: MPEG Transport Stream Muxer > > equalizer: equalizer-nbands: N Band Equalizer > > equalizer: equalizer-3bands: 3 Band Equalizer > > equalizer: equalizer-10bands: 10 Band Equalizer > > alpha: alpha: Alpha filter > > flxdec: flxdec: FLX audio decoder > > videoflip: videoflip: Video flipper > > vmnc: vmncdec: VMnc video decoder > > videocrop: videocrop: Crop > > icydemux: icydemux: ICY tag demuxer > > vcdsrc: vcdsrc: VCD Source > > sdp: sdpdemux: SDP session setup > > mpegvideoparse: mpegvideoparse: MPEG video elementary stream parser > > goom2k1: goom2k1: GOOM: what a GOOM! 2k1 edition > > gamma: gamma: Video gamma correction > > apetag: apedemux: APE tag demuxer > > y4menc: y4menc: YUV4MPEG video encoder > > selector: input-selector: Input selector > > selector: output-selector: Output selector > > alaw: alawenc: A Law audio encoder > > alaw: alawdec: A Law audio decoder > > dccp: dccpclientsrc: DCCP client source > > dccp: dccpserversink: DCCP server sink > > dccp: dccpclientsink: DCCP client sink > > dccp: dccpserversrc: DCCP server source > > taglib: id3v2mux: TagLib-based ID3v2 Muxer > > taglib: apev2mux: TagLib-based APEv2 Muxer > > wavenc: wavenc: WAV audio muxer > > tta: ttaparse: TTA file parser > > tta: ttadec: TTA audio decoder > > fbdevsink: fbdevsink: fbdev video sink > > interleave: interleave: Audio interleaver > > interleave: deinterleave: Audio deinterleaver > > rtsp: rtspsrc: RTSP packet receiver > > rtsp: rtpdec: RTP Decoder > > rtsp: rtspgoogle: Google RTSP Extension > > speed: speed: Speed > > alsaspdif: alsaspdifsink: S/PDIF ALSA audiosink > > png: pngdec: PNG image decoder > > png: pngenc: PNG image encoder > > mpegdemux2: mpegpsdemux: The Fluendo MPEG Program Stream Demuxer > > mpegdemux2: mpegtsdemux: The Fluendo MPEG Transport stream demuxer > > mpegdemux2: mpegtsparse: MPEG transport stream parser > > mulaw: mulawenc: Mu Law audio encoder > > mulaw: mulawdec: Mu Law audio decoder > > autodetect: autovideosink: Auto video sink > > autodetect: autoaudiosink: Auto audio sink > > filter: iir: Infinite Impulse Response (IIR) filter > > id3demux: id3demux: ID3 tag demuxer > > alphacolor: alphacolor: Alpha color filter > > cutter: cutter: Audio cutter > > replaygain: rganalysis: ReplayGain analysis > > replaygain: rglimiter: ReplayGain limiter > > replaygain: rgvolume: ReplayGain volume > > smpte: smpte: SMPTE transitions > > smpte: smptealpha: SMPTE transitions > > decodebin: decodebin: Decoder Bin > > typefindfunctions: application/pdf: pdf > > typefindfunctions: audio/x-nsf: nsf > > typefindfunctions: video/vivo: viv > > typefindfunctions: application/x-mmsh: no extensions > > typefindfunctions: multipart/x-mixed-replace: no extensions > > typefindfunctions: video/x-dirac: no extensions > > typefindfunctions: application/x-ms-dos-executable: cpl, msstyles, scr, > sys, ocx, exe, dll > typefindfunctions: application/x-ar: a > > typefindfunctions: application/x-tar: tar > > typefindfunctions: application/x-rar: rar > > typefindfunctions: audio/x-wavpack-correction: wvc > > typefindfunctions: audio/x-wavpack: wvp, wv > > typefindfunctions: audio/x-spc: spc > > typefindfunctions: adts_mpeg_stream: aac > > typefindfunctions: application/x-executable: no extensions > > typefindfunctions: text/x-cmml: no extensions > > typefindfunctions: application/x-ogg-skeleton: no extensions > > typefindfunctions: audio/x-celt: no extensions > > typefindfunctions: audio/x-speex: no extensions > > typefindfunctions: application/x-ogm-text: no extensions > > typefindfunctions: application/x-ogm-audio: no extensions > > typefindfunctions: application/x-ogm-video: no extensions > > typefindfunctions: video/x-theora: no extensions > > typefindfunctions: audio/x-vorbis: no extensions > > typefindfunctions: audio/x-flac: flac > > typefindfunctions: application/x-kate: no extensions > > typefindfunctions: application/x-compress: Z > > typefindfunctions: application/zip: zip > > typefindfunctions: application/x-gzip: gz > > typefindfunctions: application/x-bzip: bz2 > > typefindfunctions: image/x-sun-raster: ras > > typefindfunctions: image/x-xpixmap: xpm > > typefindfunctions: image/x-jng: jng > > typefindfunctions: video/x-mng: mng > > typefindfunctions: image/x-xcf: xcf > > typefindfunctions: audio/x-sid: sid > > typefindfunctions: audio/iLBC-sh: ilbc > > typefindfunctions: audio/x-amr-wb-sh: amr > > typefindfunctions: audio/x-amr-nb-sh: amr > > typefindfunctions: video/x-dv: dif, dv > > typefindfunctions: video/x-mve: mve > > typefindfunctions: video/x-matroska: mka, mkv > > typefindfunctions: image/tiff: tiff, tif > > typefindfunctions: image/bmp: bmp > > typefindfunctions: image/png: png > > typefindfunctions: image/gif: gif > > typefindfunctions: image/jpeg: jpeg, jpe, jpg > > typefindfunctions: application/x-ape: ape > > typefindfunctions: audio/x-shorten: shn > > typefindfunctions: audio/x-w64: w64 > > typefindfunctions: audio/x-ircam: sf > > typefindfunctions: audio/x-sds: sds > > typefindfunctions: audio/x-voc: voc > > typefindfunctions: audio/x-nist: nist > > typefindfunctions: audio/x-paris: paf > > typefindfunctions: audio/x-svx: svx, iff > > typefindfunctions: audio/x-aiff: aifc, aif, aiff > > typefindfunctions: audio/x-wav: wav > > typefindfunctions: application/xml: xml > > typefindfunctions: application/smil: smil > > typefindfunctions: application/sdp: sdp > > typefindfunctions: text/uri-list: ram > > typefindfunctions: text/plain: txt > > typefindfunctions: video/x-flv: flv > > typefindfunctions: application/x-shockwave-flash: swfl, swf > > typefindfunctions: application/x-pn-realaudio: rmvb, rm, ram, ra > > typefindfunctions: application/vnd.rn-realmedia: rmvb, rm, ram, ra > > typefindfunctions: text/html: html, htm > > typefindfunctions: video/mj2: mj2 > > typefindfunctions: image/jp2: jp2 > > typefindfunctions: image/x-quicktime: qti, qtif, qif > > typefindfunctions: video/quicktime: mov > > typefindfunctions: application/x-3gp: 3gp > > typefindfunctions: audio/x-m4a: m4a > > typefindfunctions: video/x-nuv: nuv > > typefindfunctions: video/x-h264: 264, x264, h264 > > typefindfunctions: video/mpeg4: m4v > > typefindfunctions: video/mpeg-elementary: mpg, mpeg, mpv > > typefindfunctions: application/ogg: ogm, ogg, anx > > typefindfunctions: video/mpegts: ts > > typefindfunctions: video/mpeg-sys: mpg, mpeg, mpe > > typefindfunctions: audio/x-ac3: ac3 > > typefindfunctions: audio/mpeg: mpga, mp1, mp2, mp3 > > typefindfunctions: audio/x-mod: xm, ult, stx, stm, s3m, sam, okt, mtm, > mod, med, it, imf, far, gdm, dsm, amf, 669 > typefindfunctions: audio/x-ttafile: tta > > typefindfunctions: application/x-apetag: wv, mpc, ape > > typefindfunctions: application/x-id3v1: tta, flac, ogg, mpga, mp1, mp2, mp3 > typefindfunctions: application/x-id3v2: tta, flac, ogg, mpga, mp1, mp2, mp3 > typefindfunctions: video/x-fli: fli, flc > > typefindfunctions: audio/midi: midi, mid > > typefindfunctions: audio/x-imelody: imelody, ime, imy > > typefindfunctions: video/x-vcd: dat > > typefindfunctions: video/x-cdxa: dat > > typefindfunctions: audio/qcelp: qcp > > typefindfunctions: video/x-msvideo: avi > > typefindfunctions: audio/x-au: snd, au > > typefindfunctions: audio/x-musepack: mp+, mpp, mpc > > typefindfunctions: video/x-ms-asf: wmv, wma, wm, asf > > playback: playbin2: Player Bin 2 > > playback: playbin: Player Bin > > videoscale: videoscale: Video scaler > > queue2: queue2: Queue > > audioconvert: audioconvert: Audio converter > > uridecodebin: uridecodebin: URI Decoder > > uridecodebin: decodebin2: Decoder Bin > > audioresample: audioresample: Audio scaler > > volume: volume: Volume > > tcp: multifdsink: Multi filedescriptor sink > > tcp: tcpserversrc: TCP server source > tcp: tcpserversink: TCP server sink > tcp: tcpclientsrc: TCP client source > tcp: tcpclientsink: TCP client sink > audiotestsrc: audiotestsrc: Audio test source > videotestsrc: videotestsrc: Video test source > alsa: alsasink: Audio sink (ALSA) > alsa: alsasrc: Audio source (ALSA) > alsa: alsamixer: Alsa mixer > audiorate: audiorate: Audio rate adjuster > videorate: videorate: Video rate adjuster > coreindexers: fileindex: A index that stores entries in file > coreindexers: memindex: A index that stores entries in memory > coreelements: multiqueue: MultiQueue > coreelements: typefind: TypeFind > coreelements: tee: Tee pipe fitting > coreelements: filesink: File Sink > coreelements: queue: Queue > coreelements: identity: Identity > coreelements: filesrc: File Source > coreelements: fdsink: Filedescriptor Sink > coreelements: fdsrc: Filedescriptor Source > coreelements: fakesink: Fake Sink > coreelements: fakesrc: Fake Source > coreelements: capsfilter: CapsFilter > staticelements: bin: Generic bin > staticelements: pipeline: Pipeline object > > Total count: 104 plugins, 342 features > > Many thanks in advance, > John Bivens By way of strace and a few debug prints, I have found that our third-party supplier has implemented the OpenMAX specification a bit differently. It seems the problem with the pipeline not pausing was actually an issue with a parameter being required for OMX_Init(). So I have gotten past this issue and am now working my way through the rest of their changes. I suppose I should have dug a little more deeply before posting my question. Thanks again for your time, John Bivens |
|
From: John B. <joh...@gm...> - 2009-08-27 11:33:10
|
Hello, (This is my first post to this list, so please let me know if I [unintentionally] break any rules...) A little background: I currently have some openmax libraries from a third-party supplier (unfortunately binary-only, non-free software). I would like to integrate them into the GStreamer framework using gst-openmax on an ARM11 system based on Wind River Linux. I have cross-compiled the GStreamer framework, various GStreamer plugins, and gst-openmax. I have also altered the element_table in gstomx.c to utilize th third-party libraries and reference the proper component names. So far, so good -- I think. When attempting to run a fakesrc through one of the openmax libraries and back out to a fakesink, I get the following error: # gst-launch fakesrc ! omx_h264dec ! fakesink Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. Setting pipeline to NULL ... FREEING pipeline ... When executing the same command with a gst-openmax debug level of 5 (GST_DEBUG="omx:5"), I get the following: # gst-launch fakesrc ! omx_h264dec ! fakesink 0:00:00.443705000 1047 0x15050 LOG omx gstomx_base_filter.c:878:type_instance_init:<GstOmxBaseFilter@0x94848> begin 0:00:00.446431000 1047 0x15050 LOG omx gstomx_base_filter.c:917:type_instance_init:<GstOmxBaseFilter@0x94848> end Setting pipeline to PAUSED ... 0:00:00.452901000 1047 0x15050 LOG omx gstomx_base_filter.c:95:change_state:<omxh264dec0> begin 0:00:00.453392000 1047 0x15050 INFO omx gstomx_base_filter.c:99:change_state:<omxh264dec0> changing state NULL - READY 0:00:00.454123000 1047 0x15050 LOG omx gstomx_base_filter.c:153:change_state:<omxh264dec0> end ERROR: Pipeline doesn't want to pause. Setting pipeline to NULL ... 0:00:00.456557000 1047 0x15050 LOG omx gstomx_base_filter.c:95:change_state:<omxh264dec0> begin 0:00:00.457005000 1047 0x15050 INFO omx gstomx_base_filter.c:99:change_state:<omxh264dec0> changing state NULL - NULL 0:00:00.457445000 1047 0x15050 LOG omx gstomx_base_filter.c:153:change_state:<omxh264dec0> end FREEING pipeline ... Unfortunately, this does not give me much information to go on -- or at least I don't see much there that could help. If I set the GStreamer debug level to 4 or 5 (GST_DEBUG="4" or GST_DEBUG="5"), output runs in an endless loop, and of course does not result in the desired playback. When setting the GStreamer debug level to 3 (GST_DEBUG="3"), however, I get a segmentation fault at the point where the pipeline is created: # gst-launch fakesrc ! omx_h264dec ! fakesink 0:00:00.001167000 1053 0x15050 INFO GST_INIT gst.c:608:init_pre: Initializing GStreamer Core Library version 0.10.21 0:00:00.002487000 1053 0x15050 INFO GST_INIT gst.c:609:init_pre: Using library installed in /usr/lib 0:00:00.002940000 1053 0x15050 INFO GST_INIT gst.c:619:init_pre: Linux (none) 2.6.27.18 #2 PREEMPT Thu Jun 11 13:16:50 JST 2009 armv6l 0:00:00.004297000 1053 0x15050 INFO GST_INIT gstquery.c:103:_gst_query_initialize: init queries 0:00:00.017659000 1053 0x15050 INFO GST_INIT gstmessage.c:73:_gst_message_initialize: init messages 0:00:00.020762000 1053 0x15050 INFO GST_PLUGIN_LOADING gstplugin.c:257:_gst_plugin_initialize: registering 0 static plugins 0:00:00.023976000 1053 0x15050 INFO GST_PLUGIN_LOADING gstplugin.c:242:gst_plugin_register_static: registered static plugin "staticelements" 0:00:00.024569000 1053 0x15050 INFO GST_PLUGIN_LOADING gstplugin.c:244:gst_plugin_register_static: added static plugin "staticelements", result: 1 0:00:00.029336000 1053 0x15050 INFO GST_INIT gst.c:901:ensure_current_registry: reading registry cache: /root/.gstreamer-0.10/registry.arm.bin 0:00:00.196823000 1053 0x15050 INFO GST_REGISTRY gstregistrybinary.c:1241:gst_registry_binary_read_cache: loaded /root/.gstreamer-0.10/registry.arm.bin in 0.166966 ses 0:00:00.200272000 1054 0x15050 INFO GST_INIT gst.c:671:scan_and_update_registry: Validating registry cache: /root/.gstreamer-0.10/registry.arm.bin 0:00:00.222455000 1054 0x15050 INFO GST_INIT gst.c:738:scan_and_update_registry: Registry cache has not changed 0:00:00.223757000 1053 0x15050 INFO GST_INIT gst.c:944:ensure_current_registry: registry reading and updating done, result = 1 0:00:00.224632000 1053 0x15050 INFO GST_PIPELINE gstparse.c:291:gst_parse_launch_full: parsing pipeline description 'fakesrc ! omx_h264dec ! fakesink ' 0:00:00.264331000 1053 0x15050 INFO GST_PLUGIN_LOADING gstplugin.c:562:gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstcoreelements.so" loaded 0:00:00.265127000 1053 0x15050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "fakesrc" 0:00:00.266501000 1053 0x15050 INFO GST_ELEMENT_PADS gstelement.c:639:gst_element_add_pad:<GstBaseSrc@0x8c000> adding pad 'src' 0:00:00.336663000 1053 0x15050 INFO GST_PLUGIN_LOADING gstplugin.c:562:gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstomx.so" loaded 0:00:00.337540000 1053 0x15050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "omx_h264dec" 0:00:00.339162000 1053 0x15050 INFO GST_ELEMENT_PADS gstelement.c:639:gst_element_add_pad:<GstOmxBaseFilter@0x95848> adding pad 'sink' 0:00:00.339718000 1053 0x15050 INFO GST_ELEMENT_PADS gstelement.c:639:gst_element_add_pad:<GstOmxBaseFilter@0x95848> adding pad 'src' 0:00:00.340641000 1053 0x15050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "fakesink" 0:00:00.341886000 1053 0x15050 INFO GST_ELEMENT_PADS gstelement.c:639:gst_element_add_pad:<GstBaseSink@0x960e0> adding pad 'sink' 0:00:00.343238000 1053 0x15050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "pipeline" Caught SIGSEGV accessing address (nil) Spinning. Please run 'gdb gst-launch 1053' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core. To me, this seems as if the libraries themselves are problematic -- perhaps they are not truly openmax-compliant, or they are poorly coded, or something else is amiss. Because of the non-free, binary-only nature of the libraries, I cannot even begin to debug them. Does anyone see something here that might indicate the possibility of another avenue of exploration (besides debugging the proprietary libraries themselves)? Is this something that occurs with other openmax library implementations? Or could someone give me some other pointers or information that may lead me in the right direction? I am also including the output of gst-inspect here, in case it may be of use: # gst-inspect omx: omx_mp3dec: OpenMAX IL MP3 audio decoder omx: omx_h264enc: OpenMAX IL H.264/AVC video encoder omx: omx_h264dec: OpenMAX IL H.264/AVC video decoder omx: omx_mpeg4dec: OpenMAX IL MPEG-4 video decoder iec958: ac3iec958: AC3 to IEC958 filter realmedia: rtspreal: RealMedia RTSP Extension realmedia: rdtmanager: RTP Decoder realmedia: rdtdepay: RDT packet parser realmedia: rademux: RealAudio Demuxer realmedia: rmdemux: RealMedia Demuxer mad: id3mux: id3 tag muxer mad: mad: mad mp3 decoder dvdsub: dvdsubparse: DVD subtitle parser dvdsub: dvdsubdec: DVD subtitle decoder dvdlpcmdec: dvdlpcmdec: DVD LPCM Audio decoder mpegaudioparse: mp3parse: MPEG1 Audio Parser mpegaudioparse: xingmux: MP3 Xing muxer mpegstream: dvddemux: DVD Demuxer mpegstream: mpegdemux: MPEG Demuxer mpegstream: mpegparse: MPEG System Parser asf: rtspwms: WMS RTSP Extension asf: asfdemux: ASF Demuxer videobalance: videobalance: Video balance multipart: multipartdemux: Multipart demuxer multipart: multipartmux: Multipart muxer spectrum: spectrum: Spectrum analyzer auparse: auparse: AU audio demuxer videobox: videobox: Video box filter videomixer: videomixer: Video mixer multifile: multifilesrc: Multi-File Source multifile: multifilesink: Multi-File Sink bayer: bayer2rgb: Bayer to RGB decoder for cameras aiffparse: aiffparse: AIFF audio demuxer pcapparse: pcapparse: PCapParse rawparse: videoparse: Video Parse rawparse: audioparse: Audio Parse mpeg4videoparse: mpeg4videoparse: MPEG 4 video elementary stream parser udp: udpsink: UDP packet sender udp: multiudpsink: UDP packet sender udp: dynudpsink: UDP packet sender udp: udpsrc: UDP packet receiver faad: faad: AAC audio decoder stereo: stereo: Stereo effect app: appsrc: AppSrc app: appsink: AppSink freeze: freeze: Stream freezer gstrtpmanager: gstrtpbin: RTP Bin gstrtpmanager: gstrtpclient: RTP Client gstrtpmanager: gstrtpjitterbuffer: RTP packet jitter-buffer gstrtpmanager: gstrtpptdemux: RTP Demux gstrtpmanager: gstrtpsession: RTP Session gstrtpmanager: gstrtpssrcdemux: RTP SSRC Demux wavparse: wavparse: WAV audio demuxer rtp: rtpdepay: RTP depayloader rtp: rtpac3depay: RTP packet depayloader rtp: rtpdvdepay: RTP DV Depayloader rtp: rtpdvpay: RTP DV Payloader rtp: rtpilbcpay: RTP Payloader for iLBC Audio rtp: rtpilbcdepay: RTP iLBC packet depayloader rtp: rtpg726depay: RTP packet depayloader rtp: rtpg726pay: RTP packet payloader rtp: rtpg729depay: RTP packet depayloader rtp: rtpg729pay: RTP Payloader for G729 Audio rtp: rtpgsmdepay: RTP packet depayloader rtp: rtpgsmpay: RTP GSM audio payloader rtp: rtpamrdepay: RTP packet depayloader rtp: rtpamrpay: RTP packet payloader rtp: rtppcmadepay: RTP packet depayloader rtp: rtppcmudepay: RTP packet depayloader rtp: rtppcmupay: RTP packet payloader rtp: rtppcmapay: RTP packet payloader rtp: rtpmpadepay: RTP packet depayloader rtp: rtpmpapay: RTP packet payloader rtp: rtpmpvdepay: RTP packet depayloader rtp: rtpmpvpay: RTP MPEG2 ES video payloader rtp: rtph263ppay: RTP packet payloader rtp: rtph263pdepay: RTP packet depayloader rtp: rtph263depay: RTP H263 packet depayloader rtp: rtph263pay: RTP packet payloader rtp: rtph264depay: RTP packet depayloader rtp: rtph264pay: RTP packet payloader rtp: rtpL16pay: RTP packet payloader rtp: rtpL16depay: RTP packet depayloader rtp: asteriskh263: RTP packet parser rtp: rtpmp1sdepay: RTP packet depayloader rtp: rtpmp2tdepay: RTP packet depayloader rtp: rtpmp2tpay: RTP MP2T audio payloader rtp: rtpmp4vpay: RTP MPEG-4 Video packet payloader rtp: rtpmp4vdepay: RTP packet depayloader rtp: rtpmp4apay: RTP packet payloader rtp: rtpmp4adepay: RTP packet parser rtp: rtpmp4gdepay: RTP packet depayloader rtp: rtpmp4gpay: RTP packet payloader rtp: rtpspeexpay: RTP packet payloader rtp: rtpspeexdepay: RTP packet depayloader rtp: rtpsv3vdepay: RTP packet depayloader rtp: rtptheoradepay: RTP packet depayloader rtp: rtptheorapay: RTP packet depayloader rtp: rtpvorbisdepay: RTP packet depayloader rtp: rtpvorbispay: RTP packet depayloader rtp: rtpvrawdepay: RTP packet depayloader rtp: rtpvrawpay: RTP packet payloader goom: goom: GOOM: what a GOOM! quicktime: qtdemux: QuickTime demuxer quicktime: rtpxqtdepay: RTP packet depayloader modplug: modplug: ModPlug scaletempo: scaletempo: Scaletempo level: level: Level nuvdemux: nuvdemux: Nuv demuxer nsfdec: nsfdec: Nsf decoder effectv: edgetv: EdgeTV effect effectv: agingtv: AgingTV effect effectv: dicetv: DiceTV effect effectv: warptv: WarpTV effect effectv: shagadelictv: ShagadelicTV effectv: vertigotv: VertigoTV effect effectv: revtv: RevTV effect effectv: quarktv: QuarkTV effect matroska: matroskademux: Matroska demuxer matroska: matroskamux: Matroska muxer jpeg: jpegenc: JPEG image encoder jpeg: jpegdec: JPEG image decoder jpeg: smokeenc: Smoke video encoder jpeg: smokedec: Smoke video decoder metadata: metadatademux: Metadata demuxer metadata: metadatamux: Metadata muxer video4linux2: v4l2src: Video (video4linux2/raw) Source rfbsrc: rfbsrc: Rfb source flv: flvdemux: FLV Demuxer flv: flvmux: FLV muxer mve: mvedemux: MVE Demuxer mve: mvemux: MVE Multiplexer gstinterlace: deinterlace: Deinterlace audiofx: audiopanorama: Stereo positioning audiofx: audioinvert: Audio inversion audiofx: audiokaraoke: AudioKaraoke audiofx: audioamplify: Audio amplifier audiofx: audiodynamic: Dynamic range controller audiofx: audiocheblimit: Low pass & high pass filter audiofx: audiochebband: Band pass & band reject filter audiofx: audiowsinclimit: Low pass & high pass filter audiofx: audiowsincband: Band pass & band reject filter videosignal: videoanalyse: Video analyser videosignal: videodetect: Video detecter videosignal: videomark: Video marker speexresample: speexresample: Audio resampler h264parse: h264parse: H264Parse avi: avidemux: Avi demuxer avi: avimux: Avi muxer avi: avisubtitle: Avi subtitle parser mpegtsmux: mpegtsmux: MPEG Transport Stream Muxer equalizer: equalizer-nbands: N Band Equalizer equalizer: equalizer-3bands: 3 Band Equalizer equalizer: equalizer-10bands: 10 Band Equalizer alpha: alpha: Alpha filter flxdec: flxdec: FLX audio decoder videoflip: videoflip: Video flipper vmnc: vmncdec: VMnc video decoder videocrop: videocrop: Crop icydemux: icydemux: ICY tag demuxer vcdsrc: vcdsrc: VCD Source sdp: sdpdemux: SDP session setup mpegvideoparse: mpegvideoparse: MPEG video elementary stream parser goom2k1: goom2k1: GOOM: what a GOOM! 2k1 edition gamma: gamma: Video gamma correction apetag: apedemux: APE tag demuxer y4menc: y4menc: YUV4MPEG video encoder selector: input-selector: Input selector selector: output-selector: Output selector alaw: alawenc: A Law audio encoder alaw: alawdec: A Law audio decoder dccp: dccpclientsrc: DCCP client source dccp: dccpserversink: DCCP server sink dccp: dccpclientsink: DCCP client sink dccp: dccpserversrc: DCCP server source taglib: id3v2mux: TagLib-based ID3v2 Muxer taglib: apev2mux: TagLib-based APEv2 Muxer wavenc: wavenc: WAV audio muxer tta: ttaparse: TTA file parser tta: ttadec: TTA audio decoder fbdevsink: fbdevsink: fbdev video sink interleave: interleave: Audio interleaver interleave: deinterleave: Audio deinterleaver rtsp: rtspsrc: RTSP packet receiver rtsp: rtpdec: RTP Decoder rtsp: rtspgoogle: Google RTSP Extension speed: speed: Speed alsaspdif: alsaspdifsink: S/PDIF ALSA audiosink png: pngdec: PNG image decoder png: pngenc: PNG image encoder mpegdemux2: mpegpsdemux: The Fluendo MPEG Program Stream Demuxer mpegdemux2: mpegtsdemux: The Fluendo MPEG Transport stream demuxer mpegdemux2: mpegtsparse: MPEG transport stream parser mulaw: mulawenc: Mu Law audio encoder mulaw: mulawdec: Mu Law audio decoder autodetect: autovideosink: Auto video sink autodetect: autoaudiosink: Auto audio sink filter: iir: Infinite Impulse Response (IIR) filter id3demux: id3demux: ID3 tag demuxer alphacolor: alphacolor: Alpha color filter cutter: cutter: Audio cutter replaygain: rganalysis: ReplayGain analysis replaygain: rglimiter: ReplayGain limiter replaygain: rgvolume: ReplayGain volume smpte: smpte: SMPTE transitions smpte: smptealpha: SMPTE transitions decodebin: decodebin: Decoder Bin typefindfunctions: application/pdf: pdf typefindfunctions: audio/x-nsf: nsf typefindfunctions: video/vivo: viv typefindfunctions: application/x-mmsh: no extensions typefindfunctions: multipart/x-mixed-replace: no extensions typefindfunctions: video/x-dirac: no extensions typefindfunctions: application/x-ms-dos-executable: cpl, msstyles, scr, sys, ocx, exe, dll typefindfunctions: application/x-ar: a typefindfunctions: application/x-tar: tar typefindfunctions: application/x-rar: rar typefindfunctions: audio/x-wavpack-correction: wvc typefindfunctions: audio/x-wavpack: wvp, wv typefindfunctions: audio/x-spc: spc typefindfunctions: adts_mpeg_stream: aac typefindfunctions: application/x-executable: no extensions typefindfunctions: text/x-cmml: no extensions typefindfunctions: application/x-ogg-skeleton: no extensions typefindfunctions: audio/x-celt: no extensions typefindfunctions: audio/x-speex: no extensions typefindfunctions: application/x-ogm-text: no extensions typefindfunctions: application/x-ogm-audio: no extensions typefindfunctions: application/x-ogm-video: no extensions typefindfunctions: video/x-theora: no extensions typefindfunctions: audio/x-vorbis: no extensions typefindfunctions: audio/x-flac: flac typefindfunctions: application/x-kate: no extensions typefindfunctions: application/x-compress: Z typefindfunctions: application/zip: zip typefindfunctions: application/x-gzip: gz typefindfunctions: application/x-bzip: bz2 typefindfunctions: image/x-sun-raster: ras typefindfunctions: image/x-xpixmap: xpm typefindfunctions: image/x-jng: jng typefindfunctions: video/x-mng: mng typefindfunctions: image/x-xcf: xcf typefindfunctions: audio/x-sid: sid typefindfunctions: audio/iLBC-sh: ilbc typefindfunctions: audio/x-amr-wb-sh: amr typefindfunctions: audio/x-amr-nb-sh: amr typefindfunctions: video/x-dv: dif, dv typefindfunctions: video/x-mve: mve typefindfunctions: video/x-matroska: mka, mkv typefindfunctions: image/tiff: tiff, tif typefindfunctions: image/bmp: bmp typefindfunctions: image/png: png typefindfunctions: image/gif: gif typefindfunctions: image/jpeg: jpeg, jpe, jpg typefindfunctions: application/x-ape: ape typefindfunctions: audio/x-shorten: shn typefindfunctions: audio/x-w64: w64 typefindfunctions: audio/x-ircam: sf typefindfunctions: audio/x-sds: sds typefindfunctions: audio/x-voc: voc typefindfunctions: audio/x-nist: nist typefindfunctions: audio/x-paris: paf typefindfunctions: audio/x-svx: svx, iff typefindfunctions: audio/x-aiff: aifc, aif, aiff typefindfunctions: audio/x-wav: wav typefindfunctions: application/xml: xml typefindfunctions: application/smil: smil typefindfunctions: application/sdp: sdp typefindfunctions: text/uri-list: ram typefindfunctions: text/plain: txt typefindfunctions: video/x-flv: flv typefindfunctions: application/x-shockwave-flash: swfl, swf typefindfunctions: application/x-pn-realaudio: rmvb, rm, ram, ra typefindfunctions: application/vnd.rn-realmedia: rmvb, rm, ram, ra typefindfunctions: text/html: html, htm typefindfunctions: video/mj2: mj2 typefindfunctions: image/jp2: jp2 typefindfunctions: image/x-quicktime: qti, qtif, qif typefindfunctions: video/quicktime: mov typefindfunctions: application/x-3gp: 3gp typefindfunctions: audio/x-m4a: m4a typefindfunctions: video/x-nuv: nuv typefindfunctions: video/x-h264: 264, x264, h264 typefindfunctions: video/mpeg4: m4v typefindfunctions: video/mpeg-elementary: mpg, mpeg, mpv typefindfunctions: application/ogg: ogm, ogg, anx typefindfunctions: video/mpegts: ts typefindfunctions: video/mpeg-sys: mpg, mpeg, mpe typefindfunctions: audio/x-ac3: ac3 typefindfunctions: audio/mpeg: mpga, mp1, mp2, mp3 typefindfunctions: audio/x-mod: xm, ult, stx, stm, s3m, sam, okt, mtm, mod, med, it, imf, far, gdm, dsm, amf, 669 typefindfunctions: audio/x-ttafile: tta typefindfunctions: application/x-apetag: wv, mpc, ape typefindfunctions: application/x-id3v1: tta, flac, ogg, mpga, mp1, mp2, mp3 typefindfunctions: application/x-id3v2: tta, flac, ogg, mpga, mp1, mp2, mp3 typefindfunctions: video/x-fli: fli, flc typefindfunctions: audio/midi: midi, mid typefindfunctions: audio/x-imelody: imelody, ime, imy typefindfunctions: video/x-vcd: dat typefindfunctions: video/x-cdxa: dat typefindfunctions: audio/qcelp: qcp typefindfunctions: video/x-msvideo: avi typefindfunctions: audio/x-au: snd, au typefindfunctions: audio/x-musepack: mp+, mpp, mpc typefindfunctions: video/x-ms-asf: wmv, wma, wm, asf playback: playbin2: Player Bin 2 playback: playbin: Player Bin videoscale: videoscale: Video scaler queue2: queue2: Queue audioconvert: audioconvert: Audio converter uridecodebin: uridecodebin: URI Decoder uridecodebin: decodebin2: Decoder Bin audioresample: audioresample: Audio scaler volume: volume: Volume tcp: multifdsink: Multi filedescriptor sink tcp: tcpserversrc: TCP server source tcp: tcpserversink: TCP server sink tcp: tcpclientsrc: TCP client source tcp: tcpclientsink: TCP client sink audiotestsrc: audiotestsrc: Audio test source videotestsrc: videotestsrc: Video test source alsa: alsasink: Audio sink (ALSA) alsa: alsasrc: Audio source (ALSA) alsa: alsamixer: Alsa mixer audiorate: audiorate: Audio rate adjuster videorate: videorate: Video rate adjuster coreindexers: fileindex: A index that stores entries in file coreindexers: memindex: A index that stores entries in memory coreelements: multiqueue: MultiQueue coreelements: typefind: TypeFind coreelements: tee: Tee pipe fitting coreelements: filesink: File Sink coreelements: queue: Queue coreelements: identity: Identity coreelements: filesrc: File Source coreelements: fdsink: Filedescriptor Sink coreelements: fdsrc: Filedescriptor Source coreelements: fakesink: Fake Sink coreelements: fakesrc: Fake Source coreelements: capsfilter: CapsFilter staticelements: bin: Generic bin staticelements: pipeline: Pipeline object Total count: 104 plugins, 342 features Many thanks in advance, John Bivens |
|
From: raghavendrar <rag...@lg...> - 2009-08-06 05:07:52
|
Hi all, I have installed gstreamer in my system and developed applications few months back as a complete package. Now since my folder structure is changed, I am not able to run my application. What might be cause?? . I hope once again I should not install once again. I have set PKG_CONFIG_PATH variable to pkgconfig folder. If I do gst-inspect it is showing only two static elements. Help me.. Thank you, Raghu |
|
From: Felipe C. <fel...@gm...> - 2009-07-29 16:53:38
|
2009/7/29 Michiel Verschueren <Mic...@de...>: > Hi Daniel, Hi Felipe, > > first of all, thanks for your quick and useful replies. > > I set up Poky for the BeagleBoard as specified on wiki page you provided. > > As a side note: I run into a minor issue building the poky image. The opkg-native package failed to compile because of gcc's -Werror flags. I worked around this by altering meta/conf/distro/include/poky_fixed_revisions.inc, setting SRCREV_pn-opkg-native to "4671" instead of "4545". See also this page: http://lists.o-hand.com/poky/0677.html. Perhaps something to put on the wiki? > > After building, I copied the /lib/dsp folder from tiopenmax-0.3.5 to my file system, as well as the DSP bridge binaries (including the ping test). > Running the ping test yields the same result as before. > > When I try to decode my MPEG4 video, I get a bit further then before, but I still get some errors. > > root@beagleboard:~# gst-launch-0.10 filesrc location = ./simpsons.mp4 ! omx_mpeg4dec > Setting pipeline to PAUSED ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > > (gst-launch-0.10:779): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed > > (gst-launch-0.10:779): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed > > (gst-launch-0.10:779): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed > > ... the assert keeps coming until I interrupt ... > > I've googled on this error, but haven't found anything useful. Do you have any ideas? Or can you point me in the right direction to look for a solution? > Do you think this is a problem with the packages, or could I be using gstreamer the wrong way? That's not a gst-openmax issue. You can ask in gstreamer-devel mailing list, but most probably they'll point out 'man gst-launch' http://linux.die.net/man/1/gst-launch-0.10 You'll see examples of pipelines you can run in your laptop, if you try some of those you'll notice you are missing a demuxer element. Cheers. -- Felipe Contreras |
|
From: Michiel V. <Mic...@de...> - 2009-07-29 15:55:25
|
Hi Daniel, Hi Felipe, first of all, thanks for your quick and useful replies. I set up Poky for the BeagleBoard as specified on wiki page you provided. As a side note: I run into a minor issue building the poky image. The opkg-native package failed to compile because of gcc's -Werror flags. I worked around this by altering meta/conf/distro/include/poky_fixed_revisions.inc, setting SRCREV_pn-opkg-native to "4671" instead of "4545". See also this page: http://lists.o-hand.com/poky/0677.html. Perhaps something to put on the wiki? After building, I copied the /lib/dsp folder from tiopenmax-0.3.5 to my file system, as well as the DSP bridge binaries (including the ping test). Running the ping test yields the same result as before. When I try to decode my MPEG4 video, I get a bit further then before, but I still get some errors. root@beagleboard:~# gst-launch-0.10 filesrc location = ./simpsons.mp4 ! omx_mpeg4dec Setting pipeline to PAUSED ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock (gst-launch-0.10:779): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed (gst-launch-0.10:779): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed (gst-launch-0.10:779): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed ... the assert keeps coming until I interrupt ... I've googled on this error, but haven't found anything useful. Do you have any ideas? Or can you point me in the right direction to look for a solution? Do you think this is a problem with the packages, or could I be using gstreamer the wrong way? Thanks, Michiel ________________________________________ From: Daniel Díaz [mr...@gm...] Sent: Wednesday, July 29, 2009 2:30 AM To: Felipe Contreras Cc: Michiel Verschueren; gst...@li... Subject: Re: [Gstreamer-openmax] gst-openmax on beagleboard problem Hello! On Wed, Jul 29, 2009 at 8:13 AM, Felipe Contreras<fel...@gm...> wrote: > On Tue, Jul 28, 2009 at 5:37 PM, Michiel Verschueren<Mic...@de...> wrote: >> Which seems fine to me. When I run "gst-launch-0.10 filesrc location=./test.mp4 ! >> omx_mpeg4dec ! filesink location=/dev/null", I expect that decoder would decode >> the video and dump data in the null device. However, I get the following error: >> Setting pipeline to PAUSED ... >> Pipeline is PREROLLING ... >> gst-launch-0.10: symbol lookup error: /lib/libLCML.so: undefined symbol: DspManager_Open > > My guess is that your LCML is not linked against libbridge. If you > would have followed my instructions instead of using OpenEmbedded I > think you wouldn't have had that problem. If you want to use OE, you might find some recipes as noted here: http://elinux.org/BeagleBoard/Poky The overlay is here: http://github.com/mrchapp/meta-texasinstruments/tree/gitomapzoom I have never tested building them on Angstrom, but my guess is that they should work. Greetings! Daniel Díaz yo...@da... |
|
From: Daniel D. <mr...@gm...> - 2009-07-29 00:30:24
|
Hello! On Wed, Jul 29, 2009 at 8:13 AM, Felipe Contreras<fel...@gm...> wrote: > On Tue, Jul 28, 2009 at 5:37 PM, Michiel Verschueren<Mic...@de...> wrote: >> Which seems fine to me. When I run "gst-launch-0.10 filesrc location=./test.mp4 ! >> omx_mpeg4dec ! filesink location=/dev/null", I expect that decoder would decode >> the video and dump data in the null device. However, I get the following error: >> Setting pipeline to PAUSED ... >> Pipeline is PREROLLING ... >> gst-launch-0.10: symbol lookup error: /lib/libLCML.so: undefined symbol: DspManager_Open > > My guess is that your LCML is not linked against libbridge. If you > would have followed my instructions instead of using OpenEmbedded I > think you wouldn't have had that problem. If you want to use OE, you might find some recipes as noted here: http://elinux.org/BeagleBoard/Poky The overlay is here: http://github.com/mrchapp/meta-texasinstruments/tree/gitomapzoom I have never tested building them on Angstrom, but my guess is that they should work. Greetings! Daniel Díaz yo...@da... |
|
From: Felipe C. <fel...@gm...> - 2009-07-28 23:13:45
|
On Tue, Jul 28, 2009 at 5:37 PM, Michiel Verschueren<Mic...@de...> wrote: <snip/> > Next, I've built libdspbridge, libomxil-ti and gst-openmax, again following the instructions on the wiki. First I was using Scratchbox 2, but I've switched to OpenEmbedded to build the packages because it's easier for me this way to install the files into my rootfs. This doesn't seem to make any difference (and I wouldn't expect it to). Also, I don't see any difference when I use the OpenEmbedded toolchain or a toolchain I've downloaded from CodeSourcery. <snip/> > Which seems fine to me. When I run "gst-launch-0.10 filesrc location=./test.mp4 ! omx_mpeg4dec ! filesink location=/dev/null", I expect that decoder would decode the video and dump data in the null device. However, I get the following error: > > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > gst-launch-0.10: symbol lookup error: /lib/libLCML.so: undefined symbol: DspManager_Open My guess is that your LCML is not linked against libbridge. If you would have followed my instructions instead of using OpenEmbedded I think you wouldn't have had that problem. Cheers. -- Felipe Contreras |
|
From: Michiel V. <Mic...@de...> - 2009-07-28 15:16:20
|
Hi, I'm currently evaluating the OMAP3530's video capabilities on a Beagle Board. I'm trying but struggling to get Gstreamer to decode an MPEG4 file. The following pages have been my guide so far: http://elinux.org/BeagleBoard/gst-openmax and http://elinux.org/BeagleBoard/DSP_Howto. I'm using the linux-omap kernel from Felipe Contreras ("git checkout -b felipec v2.6.28-felipec1", as shown on the wiki pages) and a root file system built using OpenEmbedded (Angstrom); it's a build of the demo beagleboard image by Koen Kooi (http://angstrom-distribution.org/demo/beagleboard/). I've downloaded the TI OpenMAX IL implementation from here: https://omapzoom.org/gf/project/openmax/frs/. Unlike on the wiki, it's version 0.3.5 instead of 0.3, but I don't expect that to make much difference. I've installed this package and copied the lib/dsp folder to my root file system. Next, I've built libdspbridge, libomxil-ti and gst-openmax, again following the instructions on the wiki. First I was using Scratchbox 2, but I've switched to OpenEmbedded to build the packages because it's easier for me this way to install the files into my rootfs. This doesn't seem to make any difference (and I wouldn't expect it to). Also, I don't see any difference when I use the OpenEmbedded toolchain or a toolchain I've downloaded from CodeSourcery. After starting up the target, first I loaded the kernel driver: modprobe bridgedriver base_img=/lib/dsp/baseimage.dof. To test whether the kernel driver works, I used the ping test mentioned on the wiki. This is where the first odd thing happened - I got the following error: ./ping.out: error while loading shared libraries: libbridge.so.2: cannot open shared object file: No such file or directory I worked around this by making a symlink /lib/libbridge.so.2 to /lib/libbdridge.so. After this workaround, the ping test looked to be working fine: DSP device detected !! DSPNodeCreate succeeded DSPNode_registerNotify succeeded DSPNode_run succeeded Ping: Id 1.000000 Msg 0.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 1.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 2.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 3.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 4.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 5.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 6.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 7.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 8.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 9.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 10.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 11.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 12.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 13.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 14.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 15.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 16.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 17.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 18.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 19.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 20.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 21.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 22.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 23.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 24.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 25.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 26.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 27.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 28.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 29.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 30.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 31.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 32.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 33.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 34.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 35.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 36.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 37.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 38.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 39.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 40.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 41.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 42.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 43.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 44.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 45.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 46.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 47.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 48.000000 Mem 2407472.000000 Ping: Id 1.000000 Msg 49.000000 Mem 2407472.000000 This is where the real trouble starts. I want to set up a gstreamer pipeline to decode the video. When I run "gst-inspect | grep 'omx'", I get the following output: omx: omx_volume: OpenMAX IL Volume component omx: omx_filereadersrc: OpenMAX IL filereader src element omx: omx_videosink: OpenMAX IL videosink element omx: omx_audiosink: OpenMAX IL audiosink element omx: omx_jpegenc: OpenMAX IL JPEG image encoder omx: omx_ilbcenc: OpenMAX IL iLBC audio encoder omx: omx_ilbcdec: OpenMAX IL iLBC audio decoder omx: omx_g729enc: OpenMAX IL G.729 audio encoder omx: omx_g729dec: OpenMAX IL G.729 audio decoder omx: omx_g711enc: OpenMAX IL G.711 audio encoder omx: omx_g711dec: OpenMAX IL G.711 audio decoder omx: omx_adpcmenc: OpenMAX IL ADPCM audio encoder omx: omx_adpcmdec: OpenMAX IL ADPCM audio decoder omx: omx_aacenc: OpenMAX IL AAC audio encoder omx: omx_aacdec: OpenMAX IL AAC audio decoder omx: omx_amrwbenc: OpenMAX IL AMR-WB audio encoder omx: omx_amrwbdec: OpenMAX IL AMR-WB audio decoder omx: omx_amrnbenc: OpenMAX IL AMR-NB audio encoder omx: omx_amrnbdec: OpenMAX IL AMR-NB audio decoder omx: omx_mp2dec: OpenMAX IL MP2 audio decoder omx: omx_mp3dec: OpenMAX IL MP3 audio decoder omx: omx_vorbisdec: OpenMAX IL Vorbis audio decoder omx: omx_h263enc: OpenMAX IL H.263 video encoder omx: omx_h264enc: OpenMAX IL H.264/AVC video encoder omx: omx_mpeg4enc: OpenMAX IL MPEG-4 video encoder omx: omx_wmvdec: OpenMAX IL WMV video decoder omx: omx_h263dec: OpenMAX IL H.263 video decoder omx: omx_h264dec: OpenMAX IL H.264/AVC video decoder omx: omx_mpeg4dec: OpenMAX IL MPEG-4 video decoder omx: omx_dummy: OpenMAX IL dummy element Which seems fine to me. When I run "gst-launch-0.10 filesrc location=./test.mp4 ! omx_mpeg4dec ! filesink location=/dev/null", I expect that decoder would decode the video and dump data in the null device. However, I get the following error: Setting pipeline to PAUSED ... Pipeline is PREROLLING ... gst-launch-0.10: symbol lookup error: /lib/libLCML.so: undefined symbol: DspManager_Open After some observation of the source code and binaries, I believe that DspManager_Open is defined in my /lib/libbridge.so file. The LCML lib for some reason can't find it. To me, the odd thing here is that the ping test worked, but that gstreamer complains about DspManager_Open. If I have understood the DSP/BIOS documentation correctly, it's impossible to create a dsp node without having opened the manager. But the ping test is able to open a node without complaining about DspManager_Open. I'm baffled. Can anyone clarify? Am I missing something? Am I doing something wrong here? If you need more information from my part, please ask. Thanks very much in advance |
|
From: kommanapalli s. <sri...@ya...> - 2009-07-23 07:09:04
|
Hi Stefan,
After changing the Caps of MyDemuxer, MyDecoders,& MySinks filters i am able to load some of filters with playbin.
But except MyAudioSink all other elements are loaded by playbin( MyDemuxer,
MyVideoDecoader, MyVideoSink, MyAudioDecoder). Here no other audiosink
is loaded(eg : Pulsesink etc...).
when i am tested same chain by enableing export GST_DEBUG=GST_ELEMENT_FACTORY:3 log then i came to know that even autoaudiosink not getting loaded.
Debuglog:
0:00:00.163717543 10350 0x95d8050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create: creating element "playbin"
Setting pipeline to PAUSED ...
0:00:00.166535992
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"fakesink" named "test"
0:00:00.166833607 10350 0x95d8050 INFO
GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create:
creating element "filesrc" named "source"
0:00:00.167558108 10350
0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:399:gst_element_factory_create: creating element
"decodebin"
0:00:00.168412564 10350 0x95d8050 INFO
GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create:
creating element "typefind" named "typefind"
0:00:00.168772535
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"fakesink" named "fakesink"
0:00:00.181305067 10350 0x95d8050
INFO GST_ELEMENT_FACTORY
gstelementfactory.c:399:gst_element_factory_create: creating element "MyDemuxer"
0:00:00.554386954
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:399:gst_element_factory_create: creating element
"queue"
0:00:00.554744621 10350 0x95d8050 INFO
GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create:
creating element "MyVideoDecoder"
0:00:00.555181287
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"queue" named "preroll_video_src0"
0:00:00.556359137 10350
0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"autovideosink" named "videosink"
0:00:00.556561627 10350 0x95d8050 INFO
GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create:
creating element "fakesink" named "tempsink"
0:00:00.556855662
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"bin" named "vbin"
0:00:00.558886300 10350 0x95d8050 INFO
GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create:
creating element "ffmpegcolorspace" named "vconv"
0:00:00.621611621
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"videoscale" named "vscale"
0:00:00.621812925 10350 0x95d8050
INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"identity" named "id"
0:00:00.705331994 10350 0x95d8050 INFO GST_ELEMENT_FACTORY gstelementfactory.c:397:gst_element_factory_create: creating element "MyVideoSink" named "videosink-actual-sink-AmdVideoSink"
0:00:00.745978264
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:399:gst_element_factory_create: creating element
"queue"
0:00:00.746415632 10350 0x95d8050 INFO
GST_ELEMENT_FACTORY gstelementfactory.c:399:gst_element_factory_create:
creating element "MyAudioDecoder"
0:00:00.746951699
10350 0x95d8050 INFO GST_ELEMENT_FACTORY
gstelementfactory.c:397:gst_element_factory_create: creating element
"queue" named "preroll_audio_src1"
Pipeline is PREROLLING ...
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
^C
Due to audiosink not loaded, pipeline is not getting PREROLLED.
Why autoaudiosink not loaded here.
If any one have an idea please reply.
PS: When my filters not registered same chain is working with standard elements.
Thanks & Regards
Sriramamurti K
________________________________
See the Web's breaking stories, chosen by people like you. Check out Yahoo! Buzz. http://in.buzz.yahoo.com/ |
|
From: kommanapalli s. <sri...@ya...> - 2009-07-21 06:02:28
|
Hi Stefan,
Here i am giving my debug observations.
>Is any of your elemnts plugged? You need to go down to the debug log and
>check if playbin is trying to plug your elements and if not why. If
>neccesary add more log statement. You divert quite a bit from the
>standart way of things, unfortunately then you might need to dig deeper
>by yourself too.
I debugged the chain by installing source packages. it is hanging in
file name : gst-launch.c (gstreamer-0.10.22/tools)
Function Name : event_loop() (called from line no:739 from main())
At line no : 382 -->message = gst_bus_poll (bus, GST_MESSAGE_ANY, blocking ? -1 : 0);
I think here it is waiting for message on the bus from different filters and exit condition is
pipeline paused condition. But this is not occuring.
Debug log for command : gst-launch-0.10 -m playbin uri=file:///home/sriram/sample_mpeg4.mp4
is
Pipeline is PREROLLING ...
#0 "playbin0" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
#4 "test" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
#6 "fakesink" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
#7 "typefind" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
#8 "decodebin0" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
#11 "myDemuxfilter" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
#14 "myDemuxfilter" old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
#15 "typefind" old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
#16 "source" old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
#17 "source" old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
^C
Caught interrupt -- handling interrupt.
#18 "playbin0" (application): GstLaunchInterrupt, message=(string)"Pipeline\ interrupted";
Interrupt: Stopping pipeline ...
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
^C
with these if you have any idea let me know.
Thanks & Regards
Sriramamurti Kommanapalli
Looking for local information? Find it on Yahoo! Local http://in.local.yahoo.com/ |
|
From: Stefan K. <en...@ho...> - 2009-07-20 13:48:23
|
kommanapalli srirammurthy schrieb: > Hi Stefan, > > Sorry for late reply .. > > * 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? > > Yes. I am taking care of above all .. Filter rank more than 256 and > Caps i giving as accept ANY.. > and my filter is choosed by chain. > > some people replayed that with this architecture (means single filter) > i can't able to test with Play-bin. For that reason i am implemented > dummy decoders and Sink elements with high priority ranks. > But still i am getting response like previous ... > My final goal is to test my filters with Totem or any gstreamer > application.For that what else i should have in my filter chain.. > > Please help resolve this issue.. Is any of your elemnts plugged? You need to go down to the debug log and check if playbin is trying to plug your elements and if not why. If neccesary add more log statement. You divert quite a bit from the standart way of things, unfortunately then you might need to dig deeper by yourself too. Stefan > > > Thanks & Regards > Sriramamurti Kommanapalli > > > > > > > ------------------------------------------------------------------------ > Yahoo! recommends that you upgrade to the new and safer Internet > Explorer 8 > <http://in.rd.yahoo.com/tagline_ie8_1/*http://downloads.yahoo.com/in/internetexplorer/>. > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > 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 > |
|
From: kommanapalli s. <sri...@ya...> - 2009-07-20 09:03:29
|
Hi Stefan,
Sorry for late reply ..
* 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?
Yes. I am taking care of above all .. Filter rank more than 256 and Caps i giving as accept ANY..
and my filter is choosed by chain.
some people replayed that with this architecture (means single filter) i can't able to test with Play-bin. For that reason i am implemented dummy decoders and Sink elements with high priority ranks.
But still i am getting response like previous ...
My final goal is to test my filters with Totem or any gstreamer application.For that what else i should have in my filter chain..
Please help resolve this issue..
Thanks & Regards
Sriramamurti Kommanapalli
See the Web's breaking stories, chosen by people like you. Check out Yahoo! Buzz. http://in.buzz.yahoo.com/ |
|
From: Monica C. <mca...@de...> - 2009-07-15 16:18:04
|
Buen dia: Mi nombre es Monica Carretero, trabajo en Dextra Technologies, una firma dedicada al desarrollo de software y tecnología, y actualmente tengo una oportunidad de trabajo muy interesante, como Gstreamer Software Engineer, manejamos clientes internacionales como Texas Instruments, Nokia, LG, entre otros. Los principales requisitos de la posición son los siguientes: *Experiencia en programación en C *Experiencia en Linux *Experiencia con Gstreamer * Ser Mexicano o estar trabajando o viviendo legalmente en México * Disponibilidad Inmediata ( 1 a 2 semanas) La posición es para estar radicando en Monterrey, NL y tener un periodo de entrenamiento (3meses) en Corea. Si están interesados favor de enviarme su información, o en caso de contar con algún amigo o conocido que cumpla con el perfil y pueda estar interesado, les pido de favor me refieran la información Para entrar en contacto, lo apreciaría mucho. Cualquier información es bien recibida, Saludos Lic.Monica Carretero Coordinadora RYS Dextra Technologies <mailto:mca...@de...> mca...@de... 82 20 20 24 |
|
From: Monica C. <mca...@de...> - 2009-07-15 15:07:40
|
Hello: My name is Monica Carretero, I worked for Dextra Technologies, Dextra is a product services and engineering company that serves hi-tech companies and is deeply involved in R&D on 3G/4G cell phone technologies with customers like Nokia, Texas Instruments,LG, Symbian, HP and Samsung. I would also like to mention for your clarify that we are not a recruiting company or a body/shop head hunter and are only interested in hiring resources for full time position with Dextra Technologies. We have some very interesting opportunities coming up ,to be working in Monterrey, NL, Mexico, with a initial period of trainee in Corea(3 months approximately), The current position is: Gstreamer Software Engineer, Main Requirements: *Experience programming in C. *Linux experience. *Gstreamer experience. *Advanced English Level If you are interested please let me have your information (resume) as soon as possible or if you Know someone who fits the requirement and could be interested, please let me have their information in Order to contact them, I will appreciate it very much. Thank you, Best regards. Lic.Monica Carretero Coordinadora RYS Dextra Technologies <mailto:mca...@de...> mca...@de... 82 20 20 24 |
|
From: Monica C. <mca...@de...> - 2009-07-15 14:54:41
|
Hello: My name is Monica Carretero, I worked for Dextra Technologies, Dextra is a product services and engineering company that serves hi-tech companies and is deeply involved in R&D on 3G/4G cell phone technologies with customers like Nokia, Texas Instruments,LG, Symbian, HP and Samsung. I would also like to mention for your clarify that we are not a recruiting company or a body/shop head hunter and are only interested in hiring resources for full time position with Dextra Technologies. We have some very interesting opportunities coming up ,to be working in Monterrey, NL, Mexico, with a initial period of trainee in Corea(3 months approximately), The current position is: Gstreamer Software Engineer, Main Requirements: *Experience programming in C. *Linux experience. *Gstreamer experience. *Advanced English Level If you are interested please let me have your information (resume) as soon as possible or if you Know someone who fits the requirement an could be interested, please let me have their information in Order to contact them, I will appreciate it very much. Thank you, Best regards. Lic.Monica Carretero Coordinadora RYS Dextra Technologies <mailto:mca...@de...> mca...@de... 82 20 20 24 |