| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A boolean redraw_pending is being used in render_frame to check
if previous frame submitted to weston has been displayed or not.
if displayed, a callback sets this to FALSE or drop the frame if
it is still TRUE.
Gstreamer applications which transit from state PLAY->PAUSE->READY and
back to PLAY->PAUSE->READY state doesn't show the video from second playback
since this flag was not reset to FALSE and all frames will get dropped.
Resetting the flag in PAUSE-->READY transition resolves this issue.
Signed-off-by: Ramprasad N <x0038811@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usecases which expects waylandsink cropping support
negotiates with padded height and width. After cropping,
the destination viewport is set with the negotiated
height and width which results in scaled up output.
To fix this the args while setting dest viewport should
be taken as the height and width present in the crop metadata
Signed-off-by: Pooja Prajod <a0132412@ti.com>
Signed-off-by: Ramprasad N <x0038811@ti.com>
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
|
|
|
|
| |
Signed-off-by: Eric Ruei <e-ruei1@ti.com>
|
|
|
|
|
|
|
| |
Replace DCE related API calls to libdrm and omapdrm API calls
to decouple DCE from kmssink
Signed-off-by: Eric Ruei <e-ruei1@ti.com>
|
|
|
|
|
|
|
|
| |
The software-based video decoder produces the output in I420 format. To display
the output without additional ARM MHz consumed in video format conversion,
the function gst_wl_memory_construct_wl_buffer is enhanced to support I420 format.
Signed-off-by: Eric Ruei <e-ruei1@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a usecase where waylandsink was used to loop
from same process resulted in wl_drm error in
omap_bo_get_name. In earlier versions,
omap_bo was used for hardware accelerated usecases.
Now we directly use drm ioctls to use drm dumb buffers.
So there is a difference between the allocator fd and
display fd (which has been authenticated by GetMagic())
The drm ioctl associated with _get_name was using
bo->dev->fd. Replacing this with display->fd resolves
the issue.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
In some usecases HDMI is connected but is disabled by default.
In such scenarios drmGetEncoder fails. This patch iterates over
all possible encoders and stores the crtc accordingly.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GstDrmAllocator opens the drm device and never closes it in
the lifetime of process. For a gsttestplayer kind of usecase,
kmssink is invoked iteratively from same process. The following
things should be taken care for such a usecase:
1. Hold the reference to the drm device so that kmssink donot
lose the mastership to the allocator
2. Since the last close is not called, get encoder functions fail.
Since encoder remains same for all iterations, store this as a
library static variable.
3. The plane data also remains the same. This can also be saved for
future iterations
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
| |
Certain features added to wldisplay needs pointer
to wlwindow and other headers. This causes a circular
dependency during definition. Consolidating all header
definition to one header file resolves this
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We do not have a call back mechanism in SetPlane to indicate that
the buffer can be freed. Atomic mode setting provides such a callback.
This also reduces kmssink buffer usage to 2 buffers at a time compared to
5 buffers in the previous implementation.
Unused members from plane_data structure have been removed
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Weston has the support of cropping buffers by using
wl_scaler and wl_viewport interface.
Using this approach, video cropping can be achieved using
openGL and no additional H/W is required.
Author: Subhajit Paul <a0132170@ti.com>
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
| |
This patch adds mouse input listeners to WlDisplay instance.
Due to circular dependency that is introduced between
WlWindow and Wldisplay by this change, we have a new header file
which has struct definitions of both WlDisplay and WlWindow.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ignore the frame_cropping flag set in the SPS and instead
assign the maximum width and height.
Also, always set SPS width and height instead of override
by upstream components
Signed-off-by: Ramprasad <x0038811@ti.com>
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
| |
Parser interpolates the pts when the current pts value is invalid.
This ensure that all the buffers obtained from parser are timestamped
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
vc1parse and jpegparse have a rank of none. Hence
playbin fails to pick these parsers and inturn ducati
plugin is not picked up.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
| |
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
Waylandsink is capable of allocating DRM based memory
and shm based memory. The use-drm property allows the user
to manually set allocation mode to drm based dmabuf memory.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
A generic plugin can check the memory allocated through DRM Allocator
as a dmabuf memory and work out of the fd. So the mem_type needs to be
set as dmabuf.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
| |
The Drm device fd was stored as a static variable.
Since the behavior of static variable can be platform
dependent, it's a safer option to have it as a member
in allocator.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
Waylandsink works out of shm memory. We have a DRM
based memory allocator in place. Adding wl_drm support
enables us to use DRM buffers without copy
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
This patch adds kmssink support. The sink works
out of libdrm API's. The sink also has a bufferpool
based on DRM Allocator.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
This patch adds support for a DRM based allocator.
It uses DRM dumb buffers and associated APIs for
dmabuf allocation.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
| |
Source:
https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
|
|
|
|
|
|
|
| |
This is taken from
https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Ignore the frame_cropping flag set in the SPS and instead
assign the maximum width and height.
Also, always set SPS width and height instead of override
by upstream components
Signed-off-by: Ramprasad <x0038811@ti.com>
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
|
|
|
|
|
|
|
|
| |
Weston has the support of cropping buffers by using
wl_scaler and wl_viewport interface.
Using this approach, video cropping can be achieved using
openGL and no additional H/W is required.
|
|
|
|
|
|
|
|
|
| |
Add a title plugin parameter which can be used for
setting the title of the wayland surface managed by the sink.
Use the title in create_window to set the passed title.
Also, Implement the corresponding get/set_property calls.
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
|
|
|
|
|
|
|
| |
Conditionally build drm library based on if kmssink dependencies are
by pkgconfig found.
Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
socket leaks
In the current test cases waylandsink is not expected to allocate
drm buffers to the peers. So it is redundant to have drm bufferpool
instance as part of waylandsink. Also due to same fd used
in display structure and drm bufferpool device fd, there were socket leaks.
Some re-initializations and checks have been added to avoid plausible
segmentation fault.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
The code for freeing the hash-table was present only in finalize.
This is resource part of the sink instance and therefore should be freed
in stop function as well.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
The format info as part of display is unnecessary. This patch removes
the code which for storing format info. Since format info was stored in an
array, there will not be overflow pertaining to this.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
| |
When the pipeline goes to NULL state from playing state,
the last buffer is not cleaned up and stays on surface.
This patch calls a display destrot function which cleans up the surface.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DRM bufferpool was not deleting omap bo created during allocation.
This causes memory leak. This patch saves the bo as a metadata on buffer
which can be deleted while freeing the buffer.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
SOlve DRM pool memleak
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
| |
Parser interpolates the pts when the current pts value is invalid.
This ensure that all the buffers obtained from parser are timestamped
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
| |
This patch enables grab, drag and ungrab of videos
that are being played on waylandsink.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
|
|
|
|
|
| |
Some test cases results in partial frame delay because
buffers are reused while its displayed. This patch ensures
that current buffers is available only when you receive a
new buffer.
Signed-off-by: Pooja Prajod <a0132412@ti.com>
|
|
|
|
| |
Fix plugin ranks so that they are picked by playbin
|
|
|
|
| |
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
|
| |
|
|
|
|
|
|
| |
Wayland sink now accepts NV12 format buffers. A support function gst_wl_buffer_priv
has been added to check if it is a buffer with GstMetaDmabuf metadata set and
create a wl_buffer. A hashtable is also maintained with GstMetaDmabuf fd as key
|
|
|
|
|
|
|
|
| |
GstDRMBufferPool enabled creation of a bufferpool with extended features.
The pool stores the element that created it, device for drm allocation,
height, width and size of buffers.
All the buffers allocated are through drm. The buffers have dmabuf, crop
and video metadata set.
|
|
This is taken from
http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.2.3.tar.xz
Signed-off-by: Karthik Ramanan <a0393906@ti.com>
|