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 752411 - video-overlay-composition:move _GstVideoOverlayRectangle and _GstVideoOverlayComposition structs to their header file
video-overlay-composition:move _GstVideoOverlayRectangle and _GstVideoOverlay...
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Windows
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-07-15 09:51 UTC by Sudip Jain
Modified: 2015-07-15 14:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
move structs to their header files (4.14 KB, patch)
2015-07-15 09:51 UTC, Sudip Jain
rejected Details | Review

Description Sudip Jain 2015-07-15 09:51:43 UTC
Created attachment 307457 [details] [review]
move structs to their header files

It is required to move _GstVideoOverlayRectangle and _GstVideoOvelayComposition structs to their header file to avoid compilation error when casted by other elements, as member variables are not seen. 

Typically when video overlay buffer is attached as meta data and rectangles are extracted on the sink to compose using hardware overlays.



Regards,
Sudip
Comment 1 Tim-Philipp Müller 2015-07-15 10:10:44 UTC
I think you're confused. These structures are private on purpose, elements are not supposed to access them.

What are you trying to do?
Comment 2 Sudip Jain 2015-07-15 11:00:16 UTC
My objective is to compose subtitle/s using waylandsink at hardware composition stage. And not blend using gstdvbsuboverlay element directly onto the video frame (low performance)

For this, the video buffer is attached as overlay composition meta data by gstdvbsuboverlay element. The rectangles are included in the composition.

I am using waylandsink and extract the meta data through  ometa = gst_buffer_get_video_overlay_composition_meta (buffer);

And pull out rectangles, 
rect = ometa->overlay->rectangles[n];

These rectangles pixmap is copied on the weston subsurface interface, to be composed by the hardware.

So what is wrong here ? And neither I think they should be kept private for any reason.

I have implemented and tested this. Pretty much as explained here http://permalink.gmane.org/gmane.comp.video.gstreamer.bugs/96170 and http://lists.freedesktop.org/archives/gstreamer-bugs/2011-November/085507.html
Comment 3 Sudip Jain 2015-07-15 11:05:04 UTC
(In reply to Sudip Jain from comment #2)
> My objective is to compose subtitle/s using waylandsink at hardware
> composition stage. And not blend using gstdvbsuboverlay element directly
> onto the video frame (low performance)
> 
> For this, the video buffer is attached as overlay composition meta data by
> gstdvbsuboverlay element. The rectangles are included in the composition.
Correction: subtitle buffer is attached as overlay composition meta data to video frame buffer. 
> 
> I am using waylandsink and extract the meta data through  ometa =
> gst_buffer_get_video_overlay_composition_meta (buffer);
> 
> And pull out rectangles, 
> rect = ometa->overlay->rectangles[n];
> 
> These rectangles pixmap is copied on the weston subsurface interface, to be
> composed by the hardware.
> 
> So what is wrong here ? And neither I think they should be kept private for
> any reason.
> 
> I have implemented and tested this. Pretty much as explained here
> http://permalink.gmane.org/gmane.comp.video.gstreamer.bugs/96170 and
> http://lists.freedesktop.org/archives/gstreamer-bugs/2011-November/085507.
> html
Comment 4 Tim-Philipp Müller 2015-07-15 11:11:18 UTC
Why can't you use the normal API such as:

gst_video_overlay_composition_get_rectangle(): http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-overlay-composition-get-rectangle

and

gst_video_rectangle_get_pixels_*()

?
Comment 5 Sudip Jain 2015-07-15 11:18:50 UTC
(In reply to Tim-Philipp Müller from comment #4)
> Why can't you use the normal API such as:
> 
> gst_video_overlay_composition_get_rectangle():
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-
> libs/html/gst-plugins-base-libs-gstvideooverlaycomposition.html#gst-video-
> overlay-composition-get-rectangle
> 
> and
> 
> gst_video_rectangle_get_pixels_*()
> 
> ?

I haven't tried using helper APIs', will check and update.

Thanks