I am working on playing avi file in Android using gstreamer which has been ported into Android with the help of http://groups.google.com.tw/group/prajnashi
Android don't support avi playing so i want to do it myself using gstreamer. Now it can play well using gst-launch under command line . But when i try to use laybin2 to do this job it failed. I have set properties "video-sink" and "audio-sink" of playbin2. I find that playbin2 found plugins avidemuxer and decoder successfully and stoped unexpectedly . The last error messages are as follows: D/GstPlayer( 1792): [1798], DEBUG mfw_gst_avidemuxer.c:499:avidemuxer_fill_stream_info: Added pad video_00 with caps 0xb03a0 D/GstPlayer( 1792): [1801], DEBUG gstdecodebin2.c:1827:gst_decode_group_check_if_blocked: Group isn't complete yet D/GstPlayer( 1792): [1798], DEBUG mfw_gst_avidemuxer.c:607:avidemuxer_fill_stream_info: out of gboolean avidemuxer_fill_stream_info D/GstPlayer( 1792): D/GstPlayer( 1792): [1798], DEBUG mfw_gst_avidemuxer.c:992:mfw_gst_avidemuxer_parse_header: signaling no more pads from mfw_avidemuxer D/GstPlayer( 1792): [1798], DEBUG gstdecodebin2.c:1979:gst_decode_group_expose: going to expose group 0xbf780 D/GstPlayer( 1792): [1798], DEBUG gstdecodebin2.c:2037:gst_decode_group_expose: About to expose dpad decodepad2 as src0 D/GstPlayer( 1792): [1798], DEBUG gstdecodebin2.c:2046:gst_decode_group_expose: emitting new-decoded-pad D/GstPlayer( 1792): [1798], DEBUG gsturidecodebin.c:671:new_decoded_pad_cb: new decoded pad, name: <src0>. Last: 1 D/GstPlayer( 1792): [1798], DEBUG gstplaybin2.c:1680:pad_added_cb: pad uridecodebin0:src0 with caps 0x76620 added in group 0x8c290 I don't know what causes the errors which seemed it didn't touch the sink ? BTW:i do this job on freescale IMX27 board which supported hardware codec and freescale offers the plugins avidemuxer and decoder . Can anyone help me ? i will be appreciated. |
I'm new to gstreamer .And i wonder what the plugin "ffmepcolorspace" do ? I have looked into the source code but still have no idea. |
In reply to this post by xujh
xujh schrieb:
> I am working on playing avi file in Android using gstreamer which has been > ported into Android with the help of > http://groups.google.com.tw/group/prajnashi > http://groups.google.com.tw/group/prajnashi > > Android don't support avi playing so i want to do it myself using gstreamer. > > Now it can play well using gst-launch under command line . > But when i try to use laybin2 to do this job it failed. I have set > properties "video-sink" and "audio-sink" of playbin2. It should pick something reasonable if you don't set them. Btw how did you set them? Stefan > I find that playbin2 found plugins avidemuxer and decoder successfully and > stoped unexpectedly . > The last error messages are as follows: > > D/GstPlayer( 1792): [1798], DEBUG > mfw_gst_avidemuxer.c:499:avidemuxer_fill_stream_info: Added pad video_00 > with caps 0xb03a0 > D/GstPlayer( 1792): [1801], DEBUG > gstdecodebin2.c:1827:gst_decode_group_check_if_blocked: Group isn't complete > yet > D/GstPlayer( 1792): [1798], DEBUG > mfw_gst_avidemuxer.c:607:avidemuxer_fill_stream_info: out of gboolean > avidemuxer_fill_stream_info > D/GstPlayer( 1792): > D/GstPlayer( 1792): [1798], DEBUG > mfw_gst_avidemuxer.c:992:mfw_gst_avidemuxer_parse_header: signaling no more > pads from mfw_avidemuxer > D/GstPlayer( 1792): [1798], DEBUG > gstdecodebin2.c:1979:gst_decode_group_expose: going to expose group 0xbf780 > D/GstPlayer( 1792): [1798], DEBUG > gstdecodebin2.c:2037:gst_decode_group_expose: About to expose dpad > decodepad2 as src0 > D/GstPlayer( 1792): [1798], DEBUG > gstdecodebin2.c:2046:gst_decode_group_expose: emitting new-decoded-pad > D/GstPlayer( 1792): [1798], DEBUG > gsturidecodebin.c:671:new_decoded_pad_cb: new decoded pad, name: <src0>. > Last: 1 > D/GstPlayer( 1792): [1798], DEBUG gstplaybin2.c:1680:pad_added_cb: pad > uridecodebin0:src0 with caps 0x76620 added in group 0x8c290 > > I don't know what causes the errors which seemed it didn't touch the sink ? > BTW:i do this job on freescale IMX27 board which supported hardware codec > and freescale offers the plugins avidemuxer and decoder . > > Can anyone help me ? i will be appreciated. > ------------------------------------------------------------------------------ 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-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by xujh
xujh schrieb:
> > > xujh wrote: >> I am working on playing avi file in Android using gstreamer which has been >> ported into Android with the help of >> http://groups.google.com.tw/group/prajnashi >> http://groups.google.com.tw/group/prajnashi >> >> Android don't support avi playing so i want to do it myself using >> gstreamer. >> >> Now it can play well using gst-launch under command line . >> But when i try to use laybin2 to do this job it failed. I have set >> properties "video-sink" and "audio-sink" of playbin2. >> I find that playbin2 found plugins avidemuxer and decoder successfully and >> stoped unexpectedly . >> The last error messages are as follows: >> >> D/GstPlayer( 1792): [1798], DEBUG >> mfw_gst_avidemuxer.c:499:avidemuxer_fill_stream_info: Added pad video_00 >> with caps 0xb03a0 >> D/GstPlayer( 1792): [1801], DEBUG >> gstdecodebin2.c:1827:gst_decode_group_check_if_blocked: Group isn't >> complete yet >> D/GstPlayer( 1792): [1798], DEBUG >> mfw_gst_avidemuxer.c:607:avidemuxer_fill_stream_info: out of gboolean >> avidemuxer_fill_stream_info >> D/GstPlayer( 1792): >> D/GstPlayer( 1792): [1798], DEBUG >> mfw_gst_avidemuxer.c:992:mfw_gst_avidemuxer_parse_header: signaling no >> more pads from mfw_avidemuxer >> D/GstPlayer( 1792): [1798], DEBUG >> gstdecodebin2.c:1979:gst_decode_group_expose: going to expose group >> 0xbf780 >> D/GstPlayer( 1792): [1798], DEBUG >> gstdecodebin2.c:2037:gst_decode_group_expose: About to expose dpad >> decodepad2 as src0 >> D/GstPlayer( 1792): [1798], DEBUG >> gstdecodebin2.c:2046:gst_decode_group_expose: emitting new-decoded-pad >> D/GstPlayer( 1792): [1798], DEBUG >> gsturidecodebin.c:671:new_decoded_pad_cb: new decoded pad, name: <src0>. >> Last: 1 >> D/GstPlayer( 1792): [1798], DEBUG gstplaybin2.c:1680:pad_added_cb: pad >> uridecodebin0:src0 with caps 0x76620 added in group 0x8c290 >> >> I don't know what causes the errors which seemed it didn't touch the sink >> ? >> BTW:i do this job on freescale IMX27 board which supported hardware codec >> and freescale offers the plugins avidemuxer and decoder . >> >> Can anyone help me ? i will be appreciated. >> >> > I'm new to gstreamer .And i wonder what the plugin "ffmepcolorspace" do ? > I have looked into the source code but still have no idea. It adjust colorspace formats, e.g. converts YUV images between different packings or from/to rgb. Stefan ------------------------------------------------------------------------------ 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-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Stefan Sauer
I set the property "video-sink" as follows: mPlayBin = gst_element_factory_make ("playbin2", NULL); mVideoSink = gst_element_factory_make("surfaceflingersink", NULL); g_object_set (mPlayBin, "video-sink", mVideoSink, NULL); I don't think that this results errors because when i use software codec plugins to make the pipeline it played well. The plugin videosink accepts buffers with the format of RGB565 and output to the screen using Android framework. I am confused that when i used plugin ffmpegcolorspace as the peer element,I found that the function "set_caps" of videosink was called when i played an avi file under command line by running "gst-launch-0.10 filesrc location=/sdcard/2.mp4 ! qtdemux name=demux demux. ! queue ! ffdec_aac ! audioflingersink demux. ! queue ! ffdec_mpeg4 ! ffmpegcolorspace ! surfaceflingersink" but when i used hardware decode plugins which were provided by freescale under command line by running "gst-launch-0.10 filesrc location=/sdcard/s.avi ! mfw_avidemuxer ! mfw_vpudecoder codec-type=std_avc ! surfaceflingersink" the function "set_caps" wasn't called .the src pad of decode plugin is same with the sink pad of surfaceflingsink. I don't know why. I wonder if this relates to the decode job which is done by a chip of dsp and that why it can play well by using gst-launch or making the pipeline manualy(not using playbin2) but resulted errors by using playbin2 . |
In reply to this post by Stefan Sauer
Does it accept buffers with the format of YUV and change them to RGB format ? |
xujh schrieb:
> > Stefan Kost wrote: > >> >> It adjust colorspace formats, e.g. converts YUV images between different >> packings or from/to rgb. >> >> Stefan >> >> >> >> > > Does it accept buffers with the format of YUV and change them to RGB format > ? > > Stefan ------------------------------------------------------------------------------ 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-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |