[gst-devel] getting display dimensions for a theora video with pygst

Jason Gerard DeRose jderose at jasonderose.org
Tue Nov 7 18:23:49 CET 2006


Erik,

One way to do this is with a handler for the 'notify::caps' signal
emitted by the 'src' pad on your theoradec element, as this excerpt shows:

    theoradec.get_pad('src').connect('notify::caps', self._on_notify_caps)

    ...

    def _on_notify_caps(self, pad, args):
        caps = pad.get_negotiated_caps()
        if caps == None:
            return
        width = caps[0]['width']
        height = caps[0]['height']
        frac = caps[0]['pixel-aspect-ratio']
        aspect = float(width) / height * frac.num / frac.denom

If you are writing a player, I highly recommend using the high level
'playbin' element as your backend.  You can get the above information (I
 think) from the 'stream-info' property on your playbin.  However, your
playbin must be at gst.STATE_PAUSED or above to get anything useful.
Also, depending upon what elements your playbin has loaded, the state
changes might be asynchronous, so you need to do something like this:

if gst.STATE_CHANGE_ASYNC == playbin.set_state(gst.STATE_PAUSED):
    playbin.get_state(1000) # Wait for up to 1 second
info = playbin.get_property('stream-info')
...

Cheers,
Jason

Erik Blankinship wrote:
> Using pygst, I have loaded in an ogg theora video and would like to know the video's dimensions or at least the video's aspect ratio.
> I do not know how to do this using pygst.
> 
> This sample code from the manual seems to describe what I want to do, but I am not sure how to make calls like these work with pygst:
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-caps-api.html#section-caps-metadata
> 
> If anyone can help out, it would be much appreciated.
> 
> Thanks,
> Erik
> 
> 
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 




More information about the gstreamer-devel mailing list