playbin not playing gif files properly.

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

playbin not playing gif files properly.

mohammmed akhil
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, <[hidden email]> wrote:
Send gstreamer-devel mailing list submissions to
       [hidden email]

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
       [hidden email]

You can reach the person managing the list at
       [hidden email]

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" <[hidden email]>
Subject: [gst-devel] Plugin to listen to GstBus
To: <[hidden email]>
Message-ID: <[hidden email]>
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 <[hidden email]>
Subject: Re: [gst-devel] Plugin to listen to GstBus
To: Discussion of the development of GStreamer
       <[hidden email]>
Message-ID:
       <[hidden email]>
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Jun 17, 2010 at 10:26 AM, Greg Wunder <[hidden email]> 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" <[hidden email]>
Subject: Re: [gst-devel] Plugin to listen to GstBus
To: "Discussion of the development of GStreamer"
       <[hidden email]>
Message-ID: <[hidden email]>
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:[hidden email]]
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 <[hidden email]> 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
[hidden email]
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 <[hidden email]>
Subject: Re: [gst-devel] Plugin to listen to GstBus
To: Discussion of the development of GStreamer
       <[hidden email]>
Message-ID:
       <[hidden email]>
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Jun 17, 2010 at 11:04 AM, Greg Wunder <[hidden email]> 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 <[hidden email]>
Subject: [gst-devel] Anybody playing Blu-Rays well?
To: Discussion of the development of GStreamer
       <[hidden email]>
Message-ID:
       <[hidden email]>
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" <[hidden email]>
Subject: Re: [gst-devel] Plugin to listen to GstBus
To: "Discussion of the development of GStreamer"
       <[hidden email]>
Message-ID: <[hidden email]>
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:[hidden email]]
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 <[hidden email]> 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
[hidden email]
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 <[hidden email]>
Subject: [gst-devel] decodebin2 doesn't call my decoder
To: "[hidden email]"
       <[hidden email]>
Message-ID: <9C159646F76EA0498E7891D8121707A54D6D969693@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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


End of gstreamer-devel Digest, Vol 49, Issue 50
***********************************************


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin not playing gif files properly.

Stefan Sauer
On 18.06.2010 09:57, mohammmed akhil wrote:

> 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.
Try gst-launch-0.10 -v playbin2 uri=file:///home/akhil/Gifimage.gif

this way we see what is used as a decoder and wheter that sets a proper
framerate (probably not).
>
> 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

That would e.g. be

gst-launch-0.10 filesrc location=Gifimage.gif ! gdkpixbufdec !
ffmpegcolrospace ! xvimagesink

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

Please also trim your emails in the future. Thanks.

Stefan

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: playbin not playing gif files properly.

Tim-Philipp Müller-2
On Mon, 2010-06-21 at 18:32 +0300, Stefan Kost wrote:

> gst-launch-0.10 filesrc location=Gifimage.gif ! gdkpixbufdec !
> ffmpegcolrospace ! xvimagesink

I don't think gdkpixbufdec will decode animated GIFs properly. I made a
patch for that at some point, but the problem was that the gdkpixbuf
library decoded the entire image sequence as raw RGB images into memory,
so it would have been really easy to make tiny GIF files that use up
loads of RAM really quickly and crash the application..

 Cheers
  -Tim



------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel