[gst-devel] gstreamer with libvdpau.

mohammmed akhil akhil4es at gmail.com
Thu May 20 07:52:50 CEST 2010


Hi,
I am a noob in gstreamer. I want to know how to play gstreamer using
libvdpau,so that i can use Nvidia graphic accelerator capabilities to play
full hd content. Any help will be highly appreciated. I have ubuntu 9.04 and
ubuntu 10.04 machines.

Thanking one and all.

Best Regards.

On Wed, May 19, 2010 at 8:41 PM, <
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. Re: gstreamer-devel Digest, Vol 48, Issue 37 (Edward Hervey)
>   2. Re: mov multiple audio (Ivan Zoli)
>   3. Trying to write a plugin but autogen.sh fails (Giorgio Buffa)
>   4. Framestepping backwards doesn't work with MPEG2 PS        files.
> (wl2776)
>   5. Bursts in UDP streaming (Alexis Berlemont)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 19 May 2010 12:00:14 +0200
> From: Edward Hervey <bilboed at gmail.com>
> Subject: Re: [gst-devel] gstreamer-devel Digest, Vol 48, Issue 37
> To: Discussion of the development of GStreamer
>        <gstreamer-devel at lists.sourceforge.net>
> Message-ID: <1274263214.29023.97.camel at localhost>
> Content-Type: text/plain; charset="UTF-8"
>
> On Wed, 2010-05-19 at 15:24 +0530, abhisek shaw wrote:
> > Hi,
> >
> > I have been trying to play Youtube videos using gstreamer but have not
> > been successful in doing so.From what i could figure out, swfdec
> > plug-in is required to play youtube vides because youtube supports
> > flash video. As per gstreamer plug-in overview page, this plug-in
> > should be available in "bad plugins". This plug-in has some external
> > dependecy on libswfdec. Even after installing this library, this
> > plug-in does not show in the list of the elements. The configure
> > script in "bad plug-ins" searches for 0.3 version of swfdec, which is
> > already obsolete. I have tried bypassing this , but "swfdec" plug-in
> > is still not built.
> >
> > I have tried the following pipelines.
> >
> > gst-launch-0.10 souphttpsrc
> > location="
> http://www.youtube.com/v/6R0NJMGVjf4?f=videos&c=gdataSample-YouTube-1&app=youtube_gdata"
>  ! decodebin ! ximagesink
>
>  Don't do it like that. Use libgdata to get the flv/mp4 video link.
> That url is for the flash player (and not for the actual video file).
>  That's how the totem youtube plugin does it and it works like a charm.
> Go check how they do it.
>
>   Edward
>
>
> >
> > Setting pipeline to PAUSED ...
> > Pipeline is PREROLLING ...
> > ERROR: from
> > element
> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdemux_swf:ffdemux_swf0:
> GStreamer encountered a general supporting library error.
> > Additional debug info:
> > gstffmpegdemux.c(1243): gst_ffmpegdemux_open
> > ():
> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdemux_swf:ffdemux_swf0:
> > Input/output error
> > ERROR: pipeline doesn't want to preroll.
> > Setting pipeline to NULL ...
> > Freeing pipeline ...
> >
> > Any help would be greatly appreciated.
> > Thanks,
> > Shaw
> >
> ------------------------------------------------------------------------------
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 19 May 2010 12:20:32 +0200
> From: Ivan Zoli <ivan.z at tiscali.it>
> Subject: Re: [gst-devel] mov multiple audio
> To: gstreamer-devel at lists.sourceforge.net
> Message-ID:
>        <AANLkTim_zDhvJfVFiI4zDncpi7qKPhbUqQ-WS9rdyxTh at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hallo,
> I'm trying to record and .mov file with multiple audio tracks.
> By now the file produced are playble with QuickTime,
> but I hear both the tracks downmixed.
> If I try the same pipeline with a .avi file (avimux), for example,
> it works. Can anyone help me?
> That's a sample of the pipeline I use:
> gst-launch -v videotestsrc num-buffers=300 ! \
>
> ??video/x-raw-yuv,format=\(fourcc\)I420,width=640,height=480,frametate=\(fraction\)30/1
> ! \
> ??x264enc ! \
> ??queue name=video \
> ??audiotestsrc num-buffers=100 blocksize=3200 ! \
> ??audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
> ??queue name=audio \
> ??audiotestsrc num-buffers=100 wave=9 blocksize=3200 ! \
> ??audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
> ??queue name=audio2 \
> ??ffmux_mov name=mux ! \
> ??filesink location=test.mov ?\
> ??video.src ! mux.video_00 \
> ??audio.src ! mux.audio_00 \
> ??audio2.src ! mux.audio_01
>
> I suppose that should be possible to set different language for
> the two audio streams, in order to be selectable by the player,
> but I don't know how.
>
> Thank you
>
> Ivan
>
>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 19 May 2010 13:29:20 +0200
> From: Giorgio Buffa <buffagio+mail at gmail.com <buffagio%2Bmail at gmail.com>>
> Subject: [gst-devel] Trying to write a plugin but autogen.sh fails
> To: gstreamer-devel at lists.sourceforge.net
> Message-ID:
>        <AANLkTikexHANd-5ItUeZ3LyWmQnor87iWBJf-Wt60P50 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello.
>
> I'm trying to write my first GStreamer's plugin, following the suggestion
> in
> "GStreamer Plugin Writer's Guide", chapter 3. I'm having a trouble with
> autogen.sh
>
> I've used tools/make_element, and adjusted the src/Makefile.am has stated
> by
> the mentioned guide. When I launch autogen.sh it fails! I have no idea how
> to handle this situation.
>
> Here you are the messages autogen.sh prints on the console:
>
> autoreconf: Entering directory `.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal --force
> autoreconf: configure.ac: tracing
> autoreconf: running: libtoolize --copy --force
> libtoolize: putting auxiliary files in `.'.
> libtoolize: copying file `./ltmain.sh'
> libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.acand
> libtoolize: rerunning libtoolize, to keep the correct libtool macros
> in-tree.
> libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
> autoreconf: running: /usr/local/override_order/bin/autoconf --force
> configure.ac:29: error: possibly undefined macro: AC_MSG_ERROR
>      If this token and others are legitimate, please use m4_pattern_allow.
>      See the Autoconf documentation.
> configure.ac:50: error: possibly undefined macro: AC_SUBST
> autoreconf: /usr/local/override_order/bin/autoconf failed with exit status:
> 1
> autogen.sh failed
>
>
> I'm working on Mac OS X 10.6.3
> The strange path /usr/local/override_order/bin/ is because autotools
> shipped
> with Snow Leopard are a bit dated. I've installed m4, autoconf, automake
> and
> libtool in /usr/local/override_order , which is first in my PATH
> environment
> variable (I do not want to change the "standard" /usr/bin:/usr/local/bin
> order). So my PATH variable is
>
> /usr/local/override_order/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin
>
> I've build and installed:
> * gstreamer-0.10.29
> * gst-plugins-base-0.10.29
> * gst-plugins-good-0.10.22
> * gst-ffmpef-0.10.10
> GStreamer is working fine.
>
> Thanks for any suggestion.
> Best regards,
> Giorgio Buffa
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 4
> Date: Wed, 19 May 2010 05:40:05 -0700 (PDT)
> From: wl2776 <wl2776 at gmail.com>
> Subject: [gst-devel] Framestepping backwards doesn't work with MPEG2
>        PS      files.
> To: gstreamer-devel at lists.sourceforge.net
> Message-ID: <1274272805445-2222757.post at n4.nabble.com>
> Content-Type: text/plain; charset=us-ascii
>
>
> The playbin2 doesn't react on the new_step events when paused.
> Current playing position, reported by _query_position doesn't change. The
> displayed picture doesn't change also.
>
> Framestepping forward is OK.
>
> 0. GStreamer is initialized with the keys
> --gst-debug=player:5,mpegpsdemux:3
> where player is my private debug category.
>
> 1. My application creates the playbin2 instance to play the file.
> It successfully opens and plays.
>
> 2. I pause the playbin2.
>
> 3. I position a playbin2 somewhere in the movie by clicking on a movie
> progress bar on my form.
> This issues the call
>
> r=gst_element_seek_simple(GST_ELEMENT(m_player),
>        GST_FORMAT_TIME,
>        (GstSeekFlags)(GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_KEY_UNIT),
>        pos*GST_MSECOND);
>
> where pos is the seek position.
>
> GST_DEBUG rigth after this shows that r=1 (seek is successful), I also
> observe the changing picture.
>
> Debug shows the following.
>
> 0:00:11.316272000  3952   003D9118 INFO             mpegpsdemux
> gstmpegdemux.c:1060:gst_flups_demux_do_seek:<mpegpsdemux0> sink segment
> configured 0409D880, trying to go at SCR: 5535000
> 0:00:11.326286000  3952   003D9118 INFO             mpegpsdemux
> gstmpegdemux.c:1082:gst_flups_demux_do_seek:<mpegpsdemux0> doing seek at
> offset 42065920 SCR: 5534990 0:01:01.499888888
> 0:00:11.346315000  3952   003D9118 DEBUG                 player
> gst_player.cpp:911:gst_player::set_position: direction=1, seek to 61500
> msec, r=1
> 0:00:11.356329000  3952   040A06C0 INFO             mpegpsdemux
> gstmpegdemux.c:533:gst_flups_demux_send_data:<mpegpsdemux0> sending new
> segment: rate 1 applied_rate 1 start: 0:01:01.500011111, stop:
> 99:99:99.999999999, time: 0:01:01.500000000 to pad 0401E668
> 0:00:11.356329000  3952   040A06C0 INFO             mpegpsdemux
> gstmpegdemux.c:533:gst_flups_demux_send_data:<mpegpsdemux0> sending new
> segment: rate 1 applied_rate 1 start: 0:01:01.500011111, stop:
> 99:99:99.999999999, time: 0:01:01.500000000 to pad 0401EA50
> 0:00:11.486517000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:330:gst_player::bus_watch: message async-done(2097152) from
> playbin0
> 0:00:11.486517000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:334:gst_player::bus_watch: current player position 61500ms
> 0:00:11.526574000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:341:gst_player::bus_watch: current segment: rate 1.000000
> fmt
> 3 start 61500011111 stop -1 direction 1
>
>
> 4. I press "step left" button on my player's window.
> This issues the call to my step_left() function
>
> void gst_player::step_left(void)
> {GstFormat fmt=GST_FORMAT_TIME;
>  gboolean rb;
>
>   if(m_player){
>     if(m_current_position>=40*GST_MSECOND){
>       if(m_direction>0) {
>        m_direction=-1;
>        flag_set(FLAG_STEP_LEFT1);
>        rb=gst_element_seek(m_player,-1.0,GST_FORMAT_TIME,
>
> (GstSeekFlags)(GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_ACCURATE),
>
> GST_SEEK_TYPE_SET,0,GST_SEEK_TYPE_SET,m_current_position);
>        GST_DEBUG("seek backwards: %d",rb);
>       }else{
>        rb=gst_element_send_event (m_player,
>                                 gst_event_new_step (GST_FORMAT_BUFFERS, 1,
> 1.0, TRUE, FALSE));
>        GST_DEBUG("send step event: %d",rb);
>       }
>     }
>   }
> }
>
>
> This function tracks current playback direction, if it doesn't match, it
> sends the seek event to turn the player to backwards playback.
> The bus_watch watches for the async-done messages, checks the application's
> internal flags and basing on them decides what caused the async-done
> message
> and what to do next.
>
> Here is the relevant code from my bus-watch.
>
> case GST_MESSAGE_ASYNC_DONE:{
>    GST_DEBUG("message %s(%d) from %s",
>
>
> GST_MESSAGE_TYPE_NAME(msg),GST_MESSAGE_TYPE(msg),GST_MESSAGE_SRC_NAME(msg));
>    GstFormat fmt=GST_FORMAT_TIME;
>
>    gst_element_query_position(m_player,&fmt,&m_current_position);
>    GST_DEBUG("current player position
> %dms",GST_TIME_AS_MSECONDS(m_current_position));
>
>    GstQuery *query=gst_query_new_segment(GST_FORMAT_TIME);
>    gst_element_query(GST_ELEMENT(m_player),query);
>    gdouble rate;
>    gint64 start=-1,stop=-1;
>    gst_query_parse_segment(query,&rate,&fmt,&start,&stop);
>    GST_DEBUG("current segment: rate %lf fmt %d start %"G_GINT64_FORMAT
>                       " stop %"G_GINT64_FORMAT" direction
> %d",rate,fmt,start,stop,m_direction);
>    gst_query_unref(query);
>
>    if(m_flags & FLAG_GO_END){
>      flag_unset(FLAG_GO_END);
>     /* ... */
>    }else if(m_flags & FLAG_STEP_LEFT1){
>      flag_unset(FLAG_STEP_LEFT1);
>      GST_DEBUG("flag_unset(FLAG_STEP_LEFT1);");
>      rb=gst_element_send_event (m_player,
>                  gst_event_new_step (GST_FORMAT_BUFFERS, 1, 1.0, TRUE,
> FALSE));
>      GST_DEBUG("send step event: %d",rb);
>    }
> }
>
>
> Here is the debug output, resulted by several presses of the step_left
> button
>
> 0:10:32.509504000  3952   003D9118 INFO             mpegpsdemux
> gstmpegdemux.c:1060:gst_flups_demux_do_seek:<mpegpsdemux0> sink segment
> configured 0409D880, trying to go at SCR: 5535000
> 0:10:32.519518000  3952   003D9118 INFO             mpegpsdemux
> gstmpegdemux.c:1082:gst_flups_demux_do_seek:<mpegpsdemux0> doing seek at
> offset 42065920 SCR: 5534990 0:01:01.499888888
> 0:10:32.519518000  3952   003D9118 DEBUG                 player
> gst_player.cpp:940:gst_player::step_left: seek backwards: 1
> 0:10:32.519518000  3952   040A06C0 INFO             mpegpsdemux
> gstmpegdemux.c:533:gst_flups_demux_send_data:<mpegpsdemux0> sending new
> segment: rate -1 applied_rate 1 start: 0:00:00.000011111, stop:
> 0:01:01.500011111, time: 0:00:00.000000000 to pad 0401E668
> 0:10:32.990195000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:330:gst_player::bus_watch: message async-done(2097152) from
> playbin0
> 0:10:32.990195000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:334:gst_player::bus_watch: current player position 61500ms
> 0:10:32.990195000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:341:gst_player::bus_watch: current segment: rate -1.000000
> fmt 3 start 11111 stop 61500011111 direction -1
> 0:10:32.990195000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:354:gst_player::bus_watch: flag_unset(FLAG_STEP_LEFT1);
> 0:10:32.990195000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:356:gst_player::bus_watch: send step event: 1
> 0:10:33.000209000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:330:gst_player::bus_watch: message async-done(2097152) from
> playbin0
> 0:10:33.000209000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:334:gst_player::bus_watch: current player position 61500ms
> 0:10:33.000209000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:341:gst_player::bus_watch: current segment: rate -1.000000
> fmt 3 start 11111 stop 61500011111 direction -1
> 0:14:59.793840000  3952   003D9118 DEBUG                 player
> gst_player.cpp:943:gst_player::step_left: send step event: 1
> 0:14:59.803854000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:330:gst_player::bus_watch: message async-done(2097152) from
> playbin0
> 0:14:59.803854000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:334:gst_player::bus_watch: current player position 61500ms
> 0:14:59.803854000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:341:gst_player::bus_watch: current segment: rate -1.000000
> fmt 3 start 11111 stop 61500011111 direction -1
> 0:15:02.467685000  3952   003D9118 DEBUG                 player
> gst_player.cpp:943:gst_player::step_left: send step event: 1
> 0:15:02.467685000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:330:gst_player::bus_watch: message async-done(2097152) from
> playbin0
> 0:15:02.467685000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:334:gst_player::bus_watch: current player position 61500ms
> 0:15:02.467685000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:341:gst_player::bus_watch: current segment: rate -1.000000
> fmt 3 start 11111 stop 61500011111 direction -1
> 0:15:05.191601000  3952   003D9118 DEBUG                 player
> gst_player.cpp:943:gst_player::step_left: send step event: 1
> 0:15:05.191601000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:330:gst_player::bus_watch: message async-done(2097152) from
> playbin0
> 0:15:05.191601000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:334:gst_player::bus_watch: current player position 61500ms
> 0:15:05.191601000  3952   0404AEE0 DEBUG                 player
> gst_player.cpp:341:gst_player::bus_watch: current segment: rate -1.000000
> fmt 3 start 11111 stop 61500011111 direction -1
>
>
> As can be seen, current position remains at 61500ms, the displayed picture
> doesn't change. I repeat, m_player is the playbin2, and is paused.
>
> --
> View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/Framestepping-backwards-doesn-t-work-with-MPEG2-PS-files-tp2222757p2222757.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>
>
>
> ------------------------------
>
> Message: 5
> Date: Wed, 19 May 2010 17:11:26 +0200
> From: Alexis Berlemont <alexis.berlemont at gmail.com>
> Subject: [gst-devel] Bursts in UDP streaming
> To: gstreamer-devel at lists.sourceforge.net
> Message-ID:
>        <AANLkTilSUcnoq748McadKEABDcLBrJ0BOkrKgNVf0WEE at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi,
>
> I would like to understand why the following pipeline bursts groups of
> packets every 100 ms:
>
> filesrc ! mpegtsdemux ! mpegtsmux ! udpsink.
>
> In order to understand this phenomena, I looked at the code of
> gstmultiudpsink. I tried to find out which function was in charge of
> checking the buffer timestamp and performing the real sleep.
> If my understanding of the situation is correct, the call stack is like
> this:
>
> gst_base_sink_render_object ->
> gst_base_sink_do_sync ->
> gst_base_sink_wait_clock -> ... gst_clock_id_wait
>
> Am I correct ? Did I miss something ? anything ?
>
> With a debugger, I tried to monitor the value of the argument "time"
> in the function gst_base_sink_wait_clock. As I was unable to use
> tracepoints (because of threads), I add a dirty g_print in the source
> code. So, I saw that the timestamp was increasing regularly by step of
> 40 ms.
>
> If the step is 40 ms, does anyone have an idea why wireshark record
> bursts every 100ms?
>
> Does anyone know how to reduce the 40 ms step (it seems like the PCR
> interval, doesn't it ? ) ?
>
> Many thanks in advance.
>
> Alexis.
>
>
>
> ------------------------------
>
>
> ------------------------------------------------------------------------------
>
>
>
> ------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> End of gstreamer-devel Digest, Vol 48, Issue 39
> ***********************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100520/3150e559/attachment.htm>


More information about the gstreamer-devel mailing list