vdpauh264dec plugin not recognized by playbin

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

vdpauh264dec plugin not recognized by playbin

Robert Szelepcsenyi
I need to play 1080p H264 movies from html5 video tag in webkit. The system
features a relatively weak CPU (Atom 230), which is unable to decode such a
video in realtime. However, the system features nVidia chipset that is able
to play 1080p videos utilizing HW acceleration (vdpau).

I have installed vdpauh264dec plugin, which handles this. For example, I can
play a 1080p video in Quicktime container (mov) using this command:

gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
vdpauh264dec ! vdpauvideopostprocess ! vdpausink

When I try to play the file using playbin, I will get an error that
gstreamer does not know how to handle a h264 video:

gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov

yields:

** Message: don't know how to handle video/x-h264, level=(string)4,
profile=(string)main, codec_data=(buffer)014d4028ffe10
014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
height=(int)1056, framerate=(fraction)2997/125                        ,
pixel-aspect-ratio=(fraction)1/1

However

gst-inspect vdpauh264dec

yields (among other things):

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264
             interlaced: false


I do not understand why playbin will not use vdpauh264dec to play the file.

html5 video tag in webkit cannot play the file either, problably for the
same reason.


If I install ffmpeg plugins (including a h264 decoder), I can play the file
using playbin and webkit, however, without any acceleration in HW.


Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
make sure.

Please, help me to get HW acceleration in webkit.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: vdpauh264dec plugin not recognized by playbin

Stefan Sauer
hi,

On 23.02.2011 00:30, Robert Szelepcsenyi wrote:

> I need to play 1080p H264 movies from html5 video tag in webkit. The system
> features a relatively weak CPU (Atom 230), which is unable to decode such a
> video in realtime. However, the system features nVidia chipset that is able
> to play 1080p videos utilizing HW acceleration (vdpau).
>
> I have installed vdpauh264dec plugin, which handles this. For example, I can
> play a 1080p video in Quicktime container (mov) using this command:
>
> gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
> vdpauh264dec ! vdpauvideopostprocess ! vdpausink
>
> When I try to play the file using playbin, I will get an error that
> gstreamer does not know how to handle a h264 video:
>
> gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov
>
> yields:
>
> ** Message: don't know how to handle video/x-h264, level=(string)4,
> profile=(string)main, codec_data=(buffer)014d4028ffe10
> 014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
> height=(int)1056, framerate=(fraction)2997/125                        ,
> pixel-aspect-ratio=(fraction)1/1
>
> However
>
> gst-inspect vdpauh264dec
Please post the whole gst-inspect output here. Is the RANK for the
element >0?

Stefan

> yields (among other things):
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> I do not understand why playbin will not use vdpauh264dec to play the file.
>
> html5 video tag in webkit cannot play the file either, problably for the
> same reason.
>
>
> If I install ffmpeg plugins (including a h264 decoder), I can play the file
> using playbin and webkit, however, without any acceleration in HW.
>
>
> Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
> make sure.
>
> Please, help me to get HW acceleration in webkit.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: vdpauh264dec plugin not recognized by playbin

Robert Szelepcsenyi
>Please post the whole gst-inspect output here. Is the RANK for the
>element >0?

Hi Stefan,


The rank is none (0).

Here comes the complete output of "gst-inspect vdpauh264dec":


-------BEGIN-------
Factory Details:
  Long name:    VDPAU H264 Decoder
  Class:        Decoder
  Description:  Decode h264 stream with vdpau
  Author(s):    Carl-Anton Ingmarsson <[hidden email]>
  Rank:         none (0)

Plugin Details:
  Name:                 vdpau
  Description:          Various elements utilizing VDPAU
  Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
  Version:              0.10.20
  License:              LGPL
  Source module:        gst-plugins-bad
  Binary package:       GStreamer
  Origin URL:           http://gstreamer.net/

GObject
 +----GstObject
       +----GstElement
             +----SatBaseVideoDecoder
                   +----GstVdpDecoder
                         +----GstVdpH264Dec

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-vdpau-video
            chroma-type: 0
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]
      video/x-raw-yuv
                 format: I420
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]
      video/x-raw-yuv
                 format: YV12
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]
      video/x-raw-yuv
                 format: NV12
                  width: [ 1, 4096 ]
                 height: [ 1, 4096 ]

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264
             interlaced: false


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: 0x7fbf8381ded0
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.

Pads:
  SRC: 'src'
    Implementation:
      Has custom eventfunc(): 0x7fbf8381e740
      Has custom queryfunc(): 0x7fbf8381e430
        Provides query types:
                (1):    position (Current position)
                (2):    duration (Total duration)
                (8):    convert (Converting between formats)
      Has getcapsfunc(): gst_pad_get_fixed_caps_func
      Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
      Has acceptcapsfunc(): gst_pad_acceptcaps_default
    Pad Template: 'src'
  SINK: 'sink'
    Implementation:
      Has chainfunc(): 0x7fbf838211e0
      Has custom eventfunc(): 0x7fbf8381efb0
      Has custom queryfunc(): 0x7fbf8381e690
      Has setcapsfunc(): 0x7fbf8381eac0
      Has acceptcapsfunc(): gst_pad_acceptcaps_default
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "vdph264dec0"
  sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
frames
                        flags: readable, writable
                        Boolean. Default: false Current: false
  packetized          : Whether the incoming data is already packetized into
suitable packets
                        flags: readable, writable
                        Boolean. Default: false Current: false
  display             : X Display name
                        flags: readable, writable
                        String. Default: null Current: null

--------END------


Robert Szelepcsényi

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: vdpauh264dec plugin not recognized by playbin

Akihiro TSUKADA
In reply to this post by Robert Szelepcsenyi
hi,

Have you tried the latest git code?
I'm afraid that it's related to the same problem as the following bugs:
[Bug 642174] [Bug 642433], if the ranks are OK.

regards,
Akihiro
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: vdpauh264dec plugin not recognized by playbin

Philippe Normand
In reply to this post by Robert Szelepcsenyi
The GStreamer media-player in WebKit uses playbin2, not playbin.
Have you tried gst-launch with playbin2 ?

Philippe

On Tue, 2011-02-22 at 23:30 +0100, Robert Szelepcsenyi wrote:

> I need to play 1080p H264 movies from html5 video tag in webkit. The system
> features a relatively weak CPU (Atom 230), which is unable to decode such a
> video in realtime. However, the system features nVidia chipset that is able
> to play 1080p videos utilizing HW acceleration (vdpau).
>
> I have installed vdpauh264dec plugin, which handles this. For example, I can
> play a 1080p video in Quicktime container (mov) using this command:
>
> gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
> vdpauh264dec ! vdpauvideopostprocess ! vdpausink
>
> When I try to play the file using playbin, I will get an error that
> gstreamer does not know how to handle a h264 video:
>
> gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov
>
> yields:
>
> ** Message: don't know how to handle video/x-h264, level=(string)4,
> profile=(string)main, codec_data=(buffer)014d4028ffe10
> 014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
> height=(int)1056, framerate=(fraction)2997/125                        ,
> pixel-aspect-ratio=(fraction)1/1
>
> However
>
> gst-inspect vdpauh264dec
>
> yields (among other things):
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> I do not understand why playbin will not use vdpauh264dec to play the file.
>
> html5 video tag in webkit cannot play the file either, problably for the
> same reason.
>
>
> If I install ffmpeg plugins (including a h264 decoder), I can play the file
> using playbin and webkit, however, without any acceleration in HW.
>
>
> Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
> make sure.
>
> Please, help me to get HW acceleration in webkit.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: vdpauh264dec plugin not recognized by playbin

Stefan Sauer
In reply to this post by Robert Szelepcsenyi
On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL

Stefan

> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
>   Long name:    VDPAU H264 Decoder
>   Class:        Decoder
>   Description:  Decode h264 stream with vdpau
>   Author(s):    Carl-Anton Ingmarsson <[hidden email]>
>   Rank:         none (0)
>
> Plugin Details:
>   Name:                 vdpau
>   Description:          Various elements utilizing VDPAU
>   Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
>   Version:              0.10.20
>   License:              LGPL
>   Source module:        gst-plugins-bad
>   Binary package:       GStreamer
>   Origin URL:           http://gstreamer.net/
>
> GObject
>  +----GstObject
>        +----GstElement
>              +----SatBaseVideoDecoder
>                    +----GstVdpDecoder
>                          +----GstVdpH264Dec
>
> Pad Templates:
>   SRC template: 'src'
>     Availability: Always
>     Capabilities:
>       video/x-vdpau-video
>             chroma-type: 0
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: I420
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: YV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: NV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> Element Flags:
>   no flags set
>
> Element Implementation:
>   Has change_state() function: 0x7fbf8381ded0
>   Has custom save_thyself() function: gst_element_save_thyself
>   Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
>   SRC: 'src'
>     Implementation:
>       Has custom eventfunc(): 0x7fbf8381e740
>       Has custom queryfunc(): 0x7fbf8381e430
>         Provides query types:
>                 (1):    position (Current position)
>                 (2):    duration (Total duration)
>                 (8):    convert (Converting between formats)
>       Has getcapsfunc(): gst_pad_get_fixed_caps_func
>       Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'src'
>   SINK: 'sink'
>     Implementation:
>       Has chainfunc(): 0x7fbf838211e0
>       Has custom eventfunc(): 0x7fbf8381efb0
>       Has custom queryfunc(): 0x7fbf8381e690
>       Has setcapsfunc(): 0x7fbf8381eac0
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'sink'
>
> Element Properties:
>   name                : The name of the object
>                         flags: readable, writable
>                         String. Default: null Current: "vdph264dec0"
>   sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
> frames
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   packetized          : Whether the incoming data is already packetized into
> suitable packets
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   display             : X Display name
>                         flags: readable, writable
>                         String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: vdpauh264dec plugin not recognized by playbin

Robert Szelepcsenyi
Thanks to all who replied to my post.

I have made some progress, but stiall I am unable to get HW accelerated
playback of h264 video in webkit.

I changed the rank of vdpauh264dec to primary (I had some problem with
marginal, which I haven't investigated yet). Now playbin2 can autoplug the
plugin and play a h264 video. I have also tried totem, which is based on
gstreamer. Totem can also open and play h264 files with HW acceleration. So
far no problem.

However, I can't play h264 files in webkit. Just nothing happens. I don't
know, how to debug it. Do you have any idea what to look at?

Should I recompile webkit? I thought this was not necessary.


Robert Szelepcsényi



-----Original Message-----
From: gstreamer-devel-bounces+robert=[hidden email]
[mailto:gstreamer-devel-bounces+robert=[hidden email]] On
Behalf Of Stefan Kost
Sent: Wednesday, February 23, 2011 1:04 PM
To: [hidden email]
Subject: Re: vdpauh264dec plugin not recognized by playbin

On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL

Stefan

> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
>   Long name:    VDPAU H264 Decoder
>   Class:        Decoder
>   Description:  Decode h264 stream with vdpau
>   Author(s):    Carl-Anton Ingmarsson <[hidden email]>
>   Rank:         none (0)
>
> Plugin Details:
>   Name:                 vdpau
>   Description:          Various elements utilizing VDPAU
>   Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
>   Version:              0.10.20
>   License:              LGPL
>   Source module:        gst-plugins-bad
>   Binary package:       GStreamer
>   Origin URL:           http://gstreamer.net/
>
> GObject
>  +----GstObject
>        +----GstElement
>              +----SatBaseVideoDecoder
>                    +----GstVdpDecoder
>                          +----GstVdpH264Dec
>
> Pad Templates:
>   SRC template: 'src'
>     Availability: Always
>     Capabilities:
>       video/x-vdpau-video
>             chroma-type: 0
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: I420
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: YV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>       video/x-raw-yuv
>                  format: NV12
>                   width: [ 1, 4096 ]
>                  height: [ 1, 4096 ]
>
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/x-h264
>              interlaced: false
>
>
> Element Flags:
>   no flags set
>
> Element Implementation:
>   Has change_state() function: 0x7fbf8381ded0
>   Has custom save_thyself() function: gst_element_save_thyself
>   Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
>   SRC: 'src'
>     Implementation:
>       Has custom eventfunc(): 0x7fbf8381e740
>       Has custom queryfunc(): 0x7fbf8381e430
>         Provides query types:
>                 (1):    position (Current position)
>                 (2):    duration (Total duration)
>                 (8):    convert (Converting between formats)
>       Has getcapsfunc(): gst_pad_get_fixed_caps_func
>       Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'src'
>   SINK: 'sink'
>     Implementation:
>       Has chainfunc(): 0x7fbf838211e0
>       Has custom eventfunc(): 0x7fbf8381efb0
>       Has custom queryfunc(): 0x7fbf8381e690
>       Has setcapsfunc(): 0x7fbf8381eac0
>       Has acceptcapsfunc(): gst_pad_acceptcaps_default
>     Pad Template: 'sink'
>
> Element Properties:
>   name                : The name of the object
>                         flags: readable, writable
>                         String. Default: null Current: "vdph264dec0"
>   sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
> frames
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   packetized          : Whether the incoming data is already packetized
into

> suitable packets
>                         flags: readable, writable
>                         Boolean. Default: false Current: false
>   display             : X Display name
>                         flags: readable, writable
>                         String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: vdpauh264dec plugin not recognized by playbin

Philippe Normand
What version of WebKit are you using?
You might want to try the latest development version, 1.3.12.
A GST_DEBUG log could also help to figure out the issue.

I'll try to setup vdpau on my machine and do some tests here.

Philippe

On Thu, 2011-02-24 at 14:02 +0100, Robert Szelepcsenyi wrote:

> Thanks to all who replied to my post.
>
> I have made some progress, but stiall I am unable to get HW accelerated
> playback of h264 video in webkit.
>
> I changed the rank of vdpauh264dec to primary (I had some problem with
> marginal, which I haven't investigated yet). Now playbin2 can autoplug the
> plugin and play a h264 video. I have also tried totem, which is based on
> gstreamer. Totem can also open and play h264 files with HW acceleration. So
> far no problem.
>
> However, I can't play h264 files in webkit. Just nothing happens. I don't
> know, how to debug it. Do you have any idea what to look at?
>
> Should I recompile webkit? I thought this was not necessary.
>
>
> Robert Szelepcsényi
>
>
>
> -----Original Message-----
> From: gstreamer-devel-bounces+robert=[hidden email]
> [mailto:gstreamer-devel-bounces+robert=[hidden email]] On
> Behalf Of Stefan Kost
> Sent: Wednesday, February 23, 2011 1:04 PM
> To: [hidden email]
> Subject: Re: vdpauh264dec plugin not recognized by playbin
>
> On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
> >> Please post the whole gst-inspect output here. Is the RANK for the
> >> element >0?
> > Hi Stefan,
> >
> >
> > The rank is none (0).
> rank=0 elements are not auto-plugged. You need to change it in the code
> to have e.g. GST_RANK_MARGINAL
>
> Stefan
>
> > Here comes the complete output of "gst-inspect vdpauh264dec":
> >
> >
> > -------BEGIN-------
> > Factory Details:
> >   Long name:    VDPAU H264 Decoder
> >   Class:        Decoder
> >   Description:  Decode h264 stream with vdpau
> >   Author(s):    Carl-Anton Ingmarsson <[hidden email]>
> >   Rank:         none (0)
> >
> > Plugin Details:
> >   Name:                 vdpau
> >   Description:          Various elements utilizing VDPAU
> >   Filename:             /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> >   Version:              0.10.20
> >   License:              LGPL
> >   Source module:        gst-plugins-bad
> >   Binary package:       GStreamer
> >   Origin URL:           http://gstreamer.net/
> >
> > GObject
> >  +----GstObject
> >        +----GstElement
> >              +----SatBaseVideoDecoder
> >                    +----GstVdpDecoder
> >                          +----GstVdpH264Dec
> >
> > Pad Templates:
> >   SRC template: 'src'
> >     Availability: Always
> >     Capabilities:
> >       video/x-vdpau-video
> >             chroma-type: 0
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >       video/x-raw-yuv
> >                  format: I420
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >       video/x-raw-yuv
> >                  format: YV12
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >       video/x-raw-yuv
> >                  format: NV12
> >                   width: [ 1, 4096 ]
> >                  height: [ 1, 4096 ]
> >
> >   SINK template: 'sink'
> >     Availability: Always
> >     Capabilities:
> >       video/x-h264
> >              interlaced: false
> >
> >
> > Element Flags:
> >   no flags set
> >
> > Element Implementation:
> >   Has change_state() function: 0x7fbf8381ded0
> >   Has custom save_thyself() function: gst_element_save_thyself
> >   Has custom restore_thyself() function: gst_element_restore_thyself
> >
> > Element has no clocking capabilities.
> > Element has no indexing capabilities.
> > Element has no URI handling capabilities.
> >
> > Pads:
> >   SRC: 'src'
> >     Implementation:
> >       Has custom eventfunc(): 0x7fbf8381e740
> >       Has custom queryfunc(): 0x7fbf8381e430
> >         Provides query types:
> >                 (1):    position (Current position)
> >                 (2):    duration (Total duration)
> >                 (8):    convert (Converting between formats)
> >       Has getcapsfunc(): gst_pad_get_fixed_caps_func
> >       Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> >       Has acceptcapsfunc(): gst_pad_acceptcaps_default
> >     Pad Template: 'src'
> >   SINK: 'sink'
> >     Implementation:
> >       Has chainfunc(): 0x7fbf838211e0
> >       Has custom eventfunc(): 0x7fbf8381efb0
> >       Has custom queryfunc(): 0x7fbf8381e690
> >       Has setcapsfunc(): 0x7fbf8381eac0
> >       Has acceptcapsfunc(): gst_pad_acceptcaps_default
> >     Pad Template: 'sink'
> >
> > Element Properties:
> >   name                : The name of the object
> >                         flags: readable, writable
> >                         String. Default: null Current: "vdph264dec0"
> >   sink-clipping       : If enabled GstBaseVideoDecoder will clip outgoing
> > frames
> >                         flags: readable, writable
> >                         Boolean. Default: false Current: false
> >   packetized          : Whether the incoming data is already packetized
> into
> > suitable packets
> >                         flags: readable, writable
> >                         Boolean. Default: false Current: false
> >   display             : X Display name
> >                         flags: readable, writable
> >                         String. Default: null Current: null
> >
> > --------END------
> >
> >
> > Robert Szelepcsényi
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: vdpauh264dec plugin not recognized by playbin

Philippe Normand
BTW WebKit uses a custom video sink to render frames to a Cairo surface.
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...

My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.

Got this working with gst-launch:

gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"


Philippe

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: vdpauh264dec plugin not recognized by playbin

Zhao, Halley
It is caused by decodebin2 doesn't expose VDPAU output as a raw caps to terminate auto-plug.
Playbin2 works because:
        Playbin2 find vdpausink in autoplug_select_cb() with "GST_AUTOPLUG_SELECT_EXPOSE" as return value
        Playbin2 use sink from auto-plug (vdpausink) instead of sink from 'video-sink' property in no_more_pads_cb. -- your customized sink isn't used.

https://bugzilla.gnome.org/show_bug.cgi?id=624699
https://bugzilla.gnome.org/show_bug.cgi?id=624697

I suggest add 'caps' property of playbin2 to let app control it.

There is another work around to get decodebin2 from playbin2 and change the 'caps' property.



-----Original Message-----
From: gstreamer-devel-bounces+halley.zhao=[hidden email] [mailto:gstreamer-devel-bounces+halley.zhao=[hidden email]] On Behalf Of Philippe Normand
Sent: Thursday, February 24, 2011 10:03 PM
To: Discussion of the development of and with GStreamer
Subject: RE: vdpauh264dec plugin not recognized by playbin

BTW WebKit uses a custom video sink to render frames to a Cairo surface.
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...

My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.

Got this working with gst-launch:

gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"


Philippe

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel