[gst-devel] playbin not playing gif files properly.

mohammmed akhil akhil4es at gmail.com
Fri Jun 18 08:57:45 CEST 2010


Hi all,

Iam trying to play gif file using playbin. These is what i follow,

gst-launch-0.10 playbin uri=file:///home/akhil/Gifimage.gif

In response i get this

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "playbin0".
Execution ended after 1965138 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

it came up for fraction of second and went off completly[?]. When i play this
gif in firefox browser it plays fine. The gif should play for full 20 secs,
and has 5frames/sec, with resolution of 576x256.

Please bare with me for the next thing what iam writing, (i am complete noob
for gstreamer i should be given some consideration !!)

I tried to make specific pipeline to play gif,

gst-launch-0.10 filesrc location=Gifimage.gif ! decoder-image/gif !
xvimagesink

For this i got this  in response
WARNING: erroneous pipeline: could not link filesrc0 to ximagesink0


Regards
Akhil


On Fri, Jun 18, 2010 at 1:56 AM, <
gstreamer-devel-request at lists.sourceforge.net> wrote:

> Send gstreamer-devel mailing list submissions to
>        gstreamer-devel at lists.sourceforge.net
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> or, via email, send a message with subject or body 'help' to
>        gstreamer-devel-request at lists.sourceforge.net
>
> You can reach the person managing the list at
>        gstreamer-devel-owner at lists.sourceforge.net
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of gstreamer-devel digest..."
>
>
> Today's Topics:
>
>   1. Plugin to listen to GstBus (Greg Wunder)
>   2. Re: Plugin to listen to GstBus (Michael Smith)
>   3. Re: Plugin to listen to GstBus (Greg Wunder)
>   4. Re: Plugin to listen to GstBus (Michael Smith)
>   5. Anybody playing Blu-Rays well? (Grant)
>   6. Re: Plugin to listen to GstBus (Greg Wunder)
>   7. decodebin2 doesn't call my decoder (Yuancheng Zheng)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 17 Jun 2010 13:26:11 -0400
> From: "Greg Wunder" <gwunder at eoir.com>
> Subject: [gst-devel] Plugin to listen to GstBus
> To: <gstreamer-devel at lists.sourceforge.net>
> Message-ID: <451B4D021F581D4AB9B270C067B7062C0AD9EAF0 at NEOEVS.eoir.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Is there an example of a plug-in to listen to messages on the GstBus?
> I'm having trouble finding an example & would like to receive messages from
> other plugins in a given pipeline.
>
> Greg
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 2
> Date: Thu, 17 Jun 2010 10:44:54 -0700
> From: Michael Smith <msmith at xiph.org>
> Subject: Re: [gst-devel] Plugin to listen to GstBus
> To: Discussion of the development of GStreamer
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID:
>        <AANLkTin0LDQ3xcwBEoMj4Cwd_c5hrCShoZaRGXlk2NNZ at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> On Thu, Jun 17, 2010 at 10:26 AM, Greg Wunder <gwunder at eoir.com> wrote:
> > Is there an example of a plug-in to listen to messages on the GstBus?
> > I'm having trouble finding an example & would like to receive messages
> from
> > other plugins in a given pipeline.
>
> There aren't any examples of that, since an element should not listen
> to bus messages from other elements.
>
> Generally events (including custom events) are the appropriate way for
> elements to communicate specific additional information amongst
> themselves.
>
> Mike
>
>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 17 Jun 2010 14:04:40 -0400
> From: "Greg Wunder" <gwunder at eoir.com>
> Subject: Re: [gst-devel] Plugin to listen to GstBus
> To: "Discussion of the development of GStreamer"
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID: <451B4D021F581D4AB9B270C067B7062C0AD9EAF1 at NEOEVS.eoir.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Thanks for the insight.
> Does "should not" mean this is not possible with the current version of
> gstreamer?
> For video data fusion, I need to communicate forensic data acquired from
> one plug-in and pass it on to another.
> I was hoping to accomplish this through the GstBus.
> If this is not possible & I need to use a GstEvent, is there any
> functionality lost in using an event handler for this purpose?
>
> Greg
>
> -----Original Message-----
> From: Michael Smith [mailto:msmith at xiph.org]
> Sent: Thu 6/17/2010 1:44 PM
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] Plugin to listen to GstBus
>
> On Thu, Jun 17, 2010 at 10:26 AM, Greg Wunder <gwunder at eoir.com> wrote:
> > Is there an example of a plug-in to listen to messages on the GstBus?
> > I'm having trouble finding an example & would like to receive messages
> from
> > other plugins in a given pipeline.
>
> There aren't any examples of that, since an element should not listen
> to bus messages from other elements.
>
> Generally events (including custom events) are the appropriate way for
> elements to communicate specific additional information amongst
> themselves.
>
> Mike
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 4
> Date: Thu, 17 Jun 2010 11:09:17 -0700
> From: Michael Smith <msmith at xiph.org>
> Subject: Re: [gst-devel] Plugin to listen to GstBus
> To: Discussion of the development of GStreamer
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID:
>        <AANLkTikypUJvRL-aZgJr3R-pJtovqW6il1qpTmSjCwTq at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> On Thu, Jun 17, 2010 at 11:04 AM, Greg Wunder <gwunder at eoir.com> wrote:
> > Thanks for the insight.
> > Does "should not" mean this is not possible with the current version of
> > gstreamer?
>
> It's not entirely clear what you want to do. Bus messages are
> inappropriate for communication between elements. It might be possible
> to force them into doing that, but it wouldn't be a good idea.
>
> > For video data fusion, I need to communicate forensic data acquired from
> one
> > plug-in and pass it on to another.
> > I was hoping to accomplish this through the GstBus.
> > If this is not possible & I need to use a GstEvent, is there any
> > functionality lost in using an event handler for this purpose?
> >
>
> If you want to communicate data between elements, then that's what
> gstreamer's core dataflow is all about - why not just send GstBuffers
> containing the data?
>
> Events and messages are different, but without any details at all
> about what sort of data you're sending, and what exactly you're
> sending them between, I couldn't say whether the differences matter
> for your purposes.
>
> It does sound like you need a better understanding of the core
> gstreamer concepts though - once you understand how gstreamer is
> intended to work, it's likely that the right solution to your problem
> will be pretty obvious.
>
> Mike
>
>
>
> ------------------------------
>
> Message: 5
> Date: Thu, 17 Jun 2010 11:24:54 -0700
> From: Grant <emailgrant at gmail.com>
> Subject: [gst-devel] Anybody playing Blu-Rays well?
> To: Discussion of the development of GStreamer
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID:
>        <AANLkTimA_pQOiUJTI7enrTVdry14Ev5D_tb8EIbI3-hJ at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> I can play Blu-Ray rips no problem via VDPAU, but without VDPAU the
> a/v eventually gets out of sync.  My CPU is a dual-core AMD 3.1Ghz.
> Has anyone been able to play Blu-Rays well without VDPAU/VAAPI?  Since
> miro went gstreamer-only, it would be great to have software playback
> of Blu-Ray rips.
>
> - Grant
>
>
>
> ------------------------------
>
> Message: 6
> Date: Thu, 17 Jun 2010 14:38:41 -0400
> From: "Greg Wunder" <gwunder at eoir.com>
> Subject: Re: [gst-devel] Plugin to listen to GstBus
> To: "Discussion of the development of GStreamer"
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID: <451B4D021F581D4AB9B270C067B7062C0AD9EAF2 at NEOEVS.eoir.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> This is a new issue I haven't had to deal with yet, but you've put me on
> the right track.
> Thanks for your help!
>
> -----Original Message-----
> From: Michael Smith [mailto:msmith at xiph.org]
> Sent: Thu 6/17/2010 2:09 PM
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] Plugin to listen to GstBus
>
> On Thu, Jun 17, 2010 at 11:04 AM, Greg Wunder <gwunder at eoir.com> wrote:
> > Thanks for the insight.
> > Does "should not" mean this is not possible with the current version of
> > gstreamer?
>
> It's not entirely clear what you want to do. Bus messages are
> inappropriate for communication between elements. It might be possible
> to force them into doing that, but it wouldn't be a good idea.
>
> > For video data fusion, I need to communicate forensic data acquired from
> one
> > plug-in and pass it on to another.
> > I was hoping to accomplish this through the GstBus.
> > If this is not possible & I need to use a GstEvent, is there any
> > functionality lost in using an event handler for this purpose?
> >
>
> If you want to communicate data between elements, then that's what
> gstreamer's core dataflow is all about - why not just send GstBuffers
> containing the data?
>
> Events and messages are different, but without any details at all
> about what sort of data you're sending, and what exactly you're
> sending them between, I couldn't say whether the differences matter
> for your purposes.
>
> It does sound like you need a better understanding of the core
> gstreamer concepts though - once you understand how gstreamer is
> intended to work, it's likely that the right solution to your problem
> will be pretty obvious.
>
> Mike
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 7
> Date: Thu, 17 Jun 2010 13:14:22 -0700
> From: Yuancheng Zheng <Yuancheng.Zheng at palm.com>
> Subject: [gst-devel] decodebin2 doesn't call my decoder
> To: "gstreamer-devel at lists.sourceforge.net"
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID: <9C159646F76EA0498E7891D8121707A54D6D969693 at ushqwmb02>
> Content-Type: text/plain; charset="us-ascii"
>
>
> Hi,
>
> I implemented an voice decoder plugin "audiodecoder" with data type, ie.
> ydt. I can succeed in playing back a file with gst-launch in this way:
>    gst-launch filesrc location data.ydt  !  audiodecoder  !  filesink
> location=myout.pcm
>
> However, I failed in playing back the same file using decodebin2 in this
> way:
>    gst-launch filesrc location data.ydt  !  decodebin2  !  filesink
> location=myout.pcm
>
> I implemented a typefind function in my audiodecoder plugin:
>
> static gchar *ydt_exts[] = { "ydt", NULL };
> static void ydt_typefind_function (GstTypeFind   *tf,
>                                                      gpointer      data)
> {
>  guint8 *typedata = gst_type_find_peek (tf, 8, 4);
>  GstCaps* decoderCaps = NULL;
>
>  if( typedata == NULL )
>        return;
>
>
>  /* verify YDT container */
>  if (memcmp ((char *)typedata, "ydt ", 4) != 0)
>        return;
>
>   GST_DEBUG("YDT data type found\n");
>
>   decoderCaps = gst_caps_new_simple("audio/ydt",
>            "rate", G_TYPE_INT, 8000,
>            "channels", G_TYPE_INT, 1,
>                "width", G_TYPE_INT, 16,
>                "depth", G_TYPE_INT, 16,
>                "endianness", G_TYPE_INT, BYTE_ORDER,
>                "signed", G_TYPE_BOOLEAN, TRUE, NULL);
>
>  gst_type_find_suggest (tf, GST_TYPE_FIND_LIKELY, decoderCaps);
>  gst_caps_unref (decoderCaps);
>
> }
>
> static gboolean plugin_init (GstPlugin * plugin)
> {
>    ......
>
>        /* register typefind function */
>    if(!gst_type_find_register (plugin, "audio/ydt", GST_RANK_MARGINAL,
>                                                    ydt_typefind_function,
>                                                    ydt_exts,
>                                                    GST_CAPS_ANY, NULL,
> NULL))
>
>   ......
>
> }
>
> By using gst-typefind I know that the data type YDT is verified and its
> caps are displayed correctly. The application decodbin2 display correct caps
> too.
>
> My problem starts from here: after typefind verifies YDT data type,
> decodebin2 repeats calling my typefind function and not move on. It seems
> that decodebin2 can't find appropriate element to connect to.
>
> The setting of pads of my audiodecoder plugin are as below:
> static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
>    GST_PAD_SINK,
>    GST_PAD_ALWAYS,
>    GST_STATIC_CAPS ( "audio/x-raw-int, endianness = (int) BYTE_ORDER,
> signed = (boolean) true, width = (int) 16, depth = (int) 16, channels =
> (int) 1, rate = (int) 8000")
>    );
>
>
> static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
>    GST_PAD_SRC,
>    GST_PAD_ALWAYS,
>    GST_STATIC_CAPS (
>        "audio/x-raw-int, "
>        "width = (int) 16, "
>        "depth = (int) 16, "
>        "endianness = (int) BYTE_ORDER, "
>        "channels = (int) 1, "
>        "samplerate = (int) {8000}"
>    )
>    );
>
> Can somebody help me fix the issue the implementation of my audio decoder
> with using decodebin2?
>
> Thanks,
>
>
>
>
>
> ------------------------------
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
>
> ------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> End of gstreamer-devel Digest, Vol 49, Issue 50
> ***********************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100618/f2982712/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 581 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100618/f2982712/attachment.gif>


More information about the gstreamer-devel mailing list