After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 671977 - videodecoder: add support for GstSurfaceBuffer caps
videodecoder: add support for GstSurfaceBuffer caps
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 671909
 
 
Reported: 2012-03-13 12:01 UTC by Holger Kaelberer
Modified: 2013-08-16 09:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Allow GstSurfaceBuffer caps (2.40 KB, patch)
2012-03-13 12:12 UTC, Holger Kaelberer
rejected Details | Review

Description Holger Kaelberer 2012-03-13 12:01:25 UTC
This adds support for GstSurfaceBuffer caps as specified in -bad/gst-libs/gst/video/gstsurfacebuffer.[hc]

Right now it is not possible to use GstBaseVideoDecoder for hardware accelerated buffers like the vaapi ones.

Has been tested with current GstSurfaceBuffer. As this is still declared "unstable" please align with possible changes to GstSurfaceBuffer API.

Thanks,
  Holger
Comment 1 Holger Kaelberer 2012-03-13 12:12:35 UTC
Created attachment 209595 [details] [review]
Allow GstSurfaceBuffer caps
Comment 2 Sebastian Dröge (slomo) 2012-03-13 13:35:09 UTC
I'm not sure if this is the correct approach (feels unclean somehow) but this should be considered when getting the classes moved to -base... to make sure we can at least add support for it later.
Comment 3 Holger Kaelberer 2012-03-13 14:29:00 UTC
Please feel free to change the 'how' in whatever way seems right to you. The attached patch was meant to make it work. 

The minimum necessary is to allow for mime-type GST_VIDEO_CAPS_SURFACE and further caps properties/keys set by the deriving class used for what is mentioned in the GstSurfaceBuffer docs:

<GstSurfaceBuffer>
An implementation specific type must be set using the "type" key (e.g. type="vaapi"). Available convertion type are speficied using seperate boolean arguement (e.g. opengl=true). Having this information in the capabilities allow easy negotiating of such feature with other elements (e.g. a ClutterGstVideoSink can claim accpeting caps "video/x-surface,opengl=true").
</GstSurfaceBuffer>

Was sure if these 'keys' are final or will be extended ...

Thanks,
  Holger
Comment 4 Tim-Philipp Müller 2013-01-06 16:26:15 UTC
This will be done differently in 1.0, but keeping open for now.
Comment 5 Sebastian Dröge (slomo) 2013-08-16 09:48:23 UTC
...and is done differently in 1.0.