aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gstwaylandsink: Reset redraw_pending in PAUSE to READY transitionHEADmasterPrasad, Ram2018-06-201-0/+1
| | | | | | | | | | | | | | | 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>
* gstwaylandsink: Fix scale up with padded videoPooja Prajod2017-09-251-1/+7
| | | | | | | | | | | | | 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>
* kmssink: add YUYV supportEric Ruei2017-09-252-6/+28
| | | | Signed-off-by: Eric Ruei <e-ruei1@ti.com>
* kmssink: remove DCE dependenciesEric Ruei2017-09-253-7/+13
| | | | | | | 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>
* gstwaylandsink: add input format I420 supportEric Ruei2017-09-251-7/+34
| | | | | | | | 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>
* gstwaylandsink: Fix same process looping issuePooja Prajod2017-02-011-2/+10
| | | | | | | | | | | | | | | 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>
* kmssink: Handle usecase where display is disabledPooja Prajod2016-12-161-0/+30
| | | | | | | | 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>
* gstkmssink: Store encoder and plane dataa0132412@ti.com2016-09-283-73/+67
| | | | | | | | | | | | | | | | 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>
* gstwaylandsink: Consolidate header files to avoid circular dependencya0132412@ti.com2016-07-2512-262/+45
| | | | | | | | | 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>
* gstkmssink: Use Atomic mode setting over SetPlanePooja Prajod2016-07-054-49/+120
| | | | | | | | | | | 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>
* gst-waylandsink: add crop supportPooja Prajod2016-07-053-0/+22
| | | | | | | | | | | 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>
* gstwaylandsink: Add mouse drag and drop supportPooja Prajod2016-07-057-11/+470
| | | | | | | | | 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>
* gsth264parse: Fix create() width and height calculationPooja Prajod2016-07-051-14/+6
| | | | | | | | | | | | 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>
* Modify parser to interpolate ptsPooja Prajod2016-07-053-3/+3
| | | | | | | 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>
* gst-bad: Increase rank for vc1parse and jpegparsePooja Prajod2016-07-053-3/+3
| | | | | | | | 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>
* kmssink: Fix memory leak and restrict number of buffersPooja Prajod2016-06-022-38/+44
| | | | Signed-off-by: Pooja Prajod <a0132412@ti.com>
* gstwaylandsink: Add DRM mem allocation propertyPooja Prajod2016-06-022-2/+14
| | | | | | | | 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>
* drm allocator: Change mem_type to dmabuf and enable debugPooja Prajod2016-06-021-7/+8
| | | | | | | | 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>
* gst-bad: Make DRM devide a member of allocatorPooja Prajod2016-06-022-13/+12
| | | | | | | | | 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>
* gst-bad: Add DRM support to waylandPooja Prajod2016-06-0211-21/+523
| | | | | | | | 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>
* gst-bad: Add kmssink supporta0132412@ti.com2016-06-029-2/+1362
| | | | | | | | 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>
* gst-bad: Add DRM Allocator supporta0132412@ti.com2016-06-028-2/+343
| | | | | | | | 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>
* cleanup: Reset repository to gst-plugins-bad-1.6.3Karthik Ramanan2016-05-252780-1337571/+0
| | | | | | | 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>
* Initial commit for gst-plugins-bad-1.6.3Karthik Ramanan2016-05-254480-65859/+1687055
| | | | | | | 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>
* gsth264parse: Fix create() width and height calculationgst_1.2.xKarthik Ramanan2016-04-011-14/+8
| | | | | | | | | | | 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>
* gst-waylandsink: add crop supportSubhajit Paul2016-02-116-18/+229
| | | | | | | | 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.
* gst-waylandsink: Add title parameterNikhil Devshatwar2015-10-142-1/+17
| | | | | | | | | 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>
* GstDRMBufferPool support fix:Jacob Stiffler2015-07-131-2/+6
| | | | | | | Conditionally build drm library based on if kmssink dependencies are by pkgconfig found. Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
* gst-waylandsink: Remove drm bufferpool instance from waylandsink to fix ↵Pooja Prajod2015-06-052-27/+50
| | | | | | | | | | | | | 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>
* Fix memleak due to unfreed hash-tablePooja Prajod2015-05-071-0/+6
| | | | | | | | 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>
* Solve segmentation fault in drm_handle_formatPooja Prajod2015-05-052-11/+0
| | | | | | | | 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>
* gst-waylandsink: Cleanup buffer in NULL statePooja Prajod2015-04-291-3/+19
| | | | | | | | 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>
* Improvise DRM bufferpool to solve memory leakPooja Prajod2015-04-292-9/+79
| | | | | | | | | | | | 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>
* Modify parser to interpolate ptsPooja Prajod2015-04-293-3/+3
| | | | | | | 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>
* Enable mouse movement for videos on waylandsinkPooja Prajod2015-04-292-37/+346
| | | | | | | This patch enables grab, drag and ungrab of videos that are being played on waylandsink. Signed-off-by: Pooja Prajod <a0132412@ti.com>
* Waylandsink: Workaround for partial frame delay artifactsPooja Prajod2015-04-292-0/+8
| | | | | | | | | 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>
* vc1parse and jpegparse : Fixes plugin ranksPooja Prajod2015-04-293-3/+3
| | | | Fix plugin ranks so that they are picked by playbin
* waylandsink: Removed dependency on dri2Karthik Ramanan2015-04-291-1/+1
| | | | Signed-off-by: Karthik Ramanan <a0393906@ti.com>
* Added KMSsink supportPooja Prajod2015-04-299-2/+1342
|
* Modified waylandsink to accept NV12 formatPooja Prajod2015-04-298-20/+717
| | | | | | 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
* Added GstDRMBufferPool supportPooja Prajod2015-04-299-2/+643
| | | | | | | | 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.
* Initial commit of gstreamer-1.0-plugins-badKarthik Ramanan2015-04-292155-0/+1006371
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>