I want to write a video player that supports as many formats as
possible but, unlike totem etc, supports vdpau and/or vaapi. I could hardwire code paths to choose suitable demuxers for mkv, mp4 etc but what about formats I don't think of in advance? The manual's chapter on autoplugging basically says the information in it is inaccurate and outdated and one should just use playbin or decodebin, but I don't think you can use vdpau or vaapi with those. Even if the information didn't have that disclaimer, it's distinctly lacking in implementation details. Are there any docs buried in the SCM or design documentation that would help me? _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Can anyone help?
On Wed, 15 Jun 2011 13:29:18 +0100 Tony Houghton <[hidden email]> wrote: > I want to write a video player that supports as many formats as > possible but, unlike totem etc, supports vdpau and/or vaapi. I could > hardwire code paths to choose suitable demuxers for mkv, mp4 etc but > what about formats I don't think of in advance? > > The manual's chapter on autoplugging basically says the information in > it is inaccurate and outdated and one should just use playbin or > decodebin, but I don't think you can use vdpau or vaapi with those. Even > if the information didn't have that disclaimer, it's distinctly lacking > in implementation details. > > Are there any docs buried in the SCM or design documentation that would > help me? > _______________________________________________ > 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 |
In reply to this post by Tony Houghton
Hi,
On 06/15/11 14:29, Tony Houghton wrote: > I want to write a video player that supports as many formats as > possible but, unlike totem etc, supports vdpau and/or vaapi. I could > hardwire code paths to choose suitable demuxers for mkv, mp4 etc but > what about formats I don't think of in advance? > > The manual's chapter on autoplugging basically says the information in > it is inaccurate and outdated and one should just use playbin or > decodebin, but I don't think you can use vdpau or vaapi with those. Even > if the information didn't have that disclaimer, it's distinctly lacking > in implementation details. Just read the docs anyway including docs/design/*.txt. Autoplugging is not magic, just use signals to get notified about new pads, check the caps and search the registry for compatible elements. Sort the elements by rank and ignore those with rank=0. It might be better in the long run to figure whats the issue with playbin2 and vaapi/vdpau and make sure we can fix it in 0.10 or at least in 0.11/1.0. Stefan > Are there any docs buried in the SCM or design documentation that would > help me? > _______________________________________________ > 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 |
On Fri, 17 Jun 2011 18:43:33 +0200
Stefan Kost <[hidden email]> wrote: > On 06/15/11 14:29, Tony Houghton wrote: > > > > The manual's chapter on autoplugging basically says the information in > > it is inaccurate and outdated and one should just use playbin or > > decodebin, but I don't think you can use vdpau or vaapi with those. Even > > if the information didn't have that disclaimer, it's distinctly lacking > > in implementation details. > > Just read the docs anyway including docs/design/*.txt. Autoplugging is > not magic, just use signals to get notified about new pads, check the > caps and search the registry for compatible elements. Sort the elements > by rank and ignore those with rank=0. Thanks, it's the bit about searching the registry I wasn't clear on. > It might be better in the long run to figure whats the issue with > playbin2 and vaapi/vdpau and make sure we can fix it in 0.10 or at least > in 0.11/1.0. I think they have a very low priority by default, so perhaps an application can enable them in playbin(2) simply by reregistering them with a high priority? If it's as simple as that it would be nice if totem could support it. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Stefan Sauer
On Fri, 2011-06-17 at 18:43 +0200, Stefan Kost wrote:
> Just read the docs anyway including docs/design/*.txt. Autoplugging is > not magic, just use signals to get notified about new pads, check the > caps and search the registry for compatible elements. Sort the elements > by rank and ignore those with rank=0. No need for that. Uridecodebin can do all that for you if you give ranks to the appropriate decoders. See e.g. the "autoplug-sort", "autoplug-select" and "autoplug-continue" signals, but (depending on the ranks set) just adding the right vaapi/vdpau caps to uridecodebin's "caps" property might suffice. Then you just need to link it to the right kind of videosink. With playbin(2), it's all still a bit awkward though (there's a reason totem doesn't support it yet). > It might be better in the long run to figure whats the issue with > playbin2 and vaapi/vdpau and make sure we can fix it in 0.10 or at least > in 0.11/1.0. I think this can be fixed in 0.10, and I expect this to be tackled in next few months, for what it's worth :) Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Tony Houghton
Try compiling gstreamer core with --enable-gst-debug=yes flag, set
GST_DEBUG="*:4" in your environment, and launch gst-launch -v playbin2 uri=file://(filepath) It will spew out whole bunch of debug messages including the bit where decodebin tries to match the caps of the given video to what gstelementfactory has. I recently had issues with gstreamer not picking up a codec that it can already handle, and implemented workaround for it (for myself). see this thread for some clues as to how you may approach your issue.. http://gstreamer-devel.966125.n4.nabble.com/don-t-know-how-to-handle-video-x- gst-fourcc-dvhp-td3518937.html disclaimer: I'm a total newbie in gstreamer world, and the above solution is what I was able to come up with. I cannot guarantee that it is correct, but it works in my case, though. On Friday 17 June 2011 1:03:33 pm Tony Houghton wrote: > On Fri, 17 Jun 2011 18:43:33 +0200 > > Stefan Kost <[hidden email]> wrote: > > On 06/15/11 14:29, Tony Houghton wrote: > > > The manual's chapter on autoplugging basically says the information in > > > it is inaccurate and outdated and one should just use playbin or > > > decodebin, but I don't think you can use vdpau or vaapi with those. > > > Even if the information didn't have that disclaimer, it's distinctly > > > lacking in implementation details. > > > > Just read the docs anyway including docs/design/*.txt. Autoplugging is > > not magic, just use signals to get notified about new pads, check the > > caps and search the registry for compatible elements. Sort the elements > > by rank and ignore those with rank=0. > > Thanks, it's the bit about searching the registry I wasn't clear on. > > > It might be better in the long run to figure whats the issue with > > playbin2 and vaapi/vdpau and make sure we can fix it in 0.10 or at least > > in 0.11/1.0. > > I think they have a very low priority by default, so perhaps an > application can enable them in playbin(2) simply by reregistering them > with a high priority? If it's as simple as that it would be nice if > totem could support it. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > -- Jin Soho VFX _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Tim-Philipp Müller-2
On Fri, 17 Jun 2011 18:11:34 +0100
Tim-Philipp Müller <[hidden email]> wrote: > On Fri, 2011-06-17 at 18:43 +0200, Stefan Kost wrote: > > > Just read the docs anyway including docs/design/*.txt. Autoplugging is > > not magic, just use signals to get notified about new pads, check the > > caps and search the registry for compatible elements. Sort the elements > > by rank and ignore those with rank=0. > > No need for that. Uridecodebin can do all that for you if you give ranks > to the appropriate decoders. See e.g. the "autoplug-sort", > "autoplug-select" and "autoplug-continue" signals, but (depending on the > ranks set) just adding the right vaapi/vdpau caps to uridecodebin's > "caps" property might suffice. Then you just need to link it to the > right kind of videosink. I think I'll be able to use uridecodebin and/or decodebin2 in this way. Part of the the problem in my quest for documentation is that most of the information for decodebin2 is missing from the page in the Debian package. It looks as if there was a bug when the docs were generated. And I still don't know how I'd search the registry for compatible elements, but hopefully I won't need to. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |