summaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* applemedia: fix build after gl move to -baseTim-Philipp Müller2017-12-191-1/+3
|
* gl: update plugins to use GstGL from -baseTim-Philipp Müller2017-12-194-19/+20
|
* decklinkaudiosink: Start audio pre-rolling if the output is not started yet ↵Sebastian Dröge2017-12-141-55/+34
| | | | | | | | | in render() This seems to allow to schedule audio samples correctly at their right times already. https://bugzilla.gnome.org/show_bug.cgi?id=790114
* decklinkvideosink: Only start if both sinks are set to PLAYING alreadySebastian Dröge2017-12-141-77/+99
| | | | | | | | | | | Not only if the video sink is set to PLAYING so far. Also give more useful debug output about why we don't start, and don't start if already started. Also refactor the function to early-return instead of having a huge if-else block over the whole function. https://bugzilla.gnome.org/show_bug.cgi?id=790114
* decklinkaudiosink: Include final flow return in debug outputSebastian Dröge2017-12-141-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=790114
* decklinkaudiosink: Check also against the clock if we run ahead of the clock ↵Sebastian Dröge2017-12-141-4/+33
| | | | | | | | | | too much The buffer level as reported by the Decklink driver is completely unreliable, and we could otherwise easily run ahead >1s if we're unlucky. https://bugzilla.gnome.org/show_bug.cgi?id=790114
* decklinkaudiosink: Implement resampling/buffer reversing for trick-modesSebastian Dröge2017-12-142-10/+144
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=790114
* decklinkaudiosink: Re-implement around GstBaseSink instead of GstAudioBaseSinkSebastian Dröge2017-12-146-633/+592
| | | | | | | | | | | | The Decklink and GstAudioBaseSink APIs don't fit very well together, which causes various problems due to inaccuracies in the clock calculations and the actual ringbuffer and GStreamer's copy getting of sync. Problems are audio drop-outs and A/V sync getting wrong after pausing/seeking. https://bugzilla.gnome.org/show_bug.cgi?id=790114
* vtenc: fix a warning when building in MacOS 10.12Josep Torra2017-12-121-1/+1
| | | | | vtenc.c:564:20: error: incompatible pointer types passing 'GstVTEnc *' (aka 'struct _GstVTEnc *') to parameter of type 'GstVideoEncoder *' (aka 'struct _GstVideoEncoder *')
* kmssink: Fix CropMeta supportNicolas Dufresne2017-12-061-2/+12
| | | | | | | We copy the meta's from the original buffer to the wrapper or copied buffer. https://bugzilla.gnome.org/show_bug.cgi?id=790473
* kmssink: Enforce pixel aspect ratio when we cannot scaleNicolas Dufresne2017-12-061-46/+58
| | | | | | | | When we cannot scale, we need to enforce the pixel aspect ratio. This was partly implemented in the previous patch. Doing this simplify some of the code. https://bugzilla.gnome.org/show_bug.cgi?id=784599
* decklinkvideosink: Wait until scheduled playback is actually stopped before ↵Sebastian Dröge2017-12-063-2/+28
| | | | | | | | | continuing Otherwise we might "start" again, just to get finally stopped and then getting errors all over the place. https://bugzilla.gnome.org/show_bug.cgi?id=790114
* androidmedia: when flushing, better handle IllegalStateException received ↵Ursula Maplehurst2017-12-063-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | from getOutputBuffer 1. Similar to 880f3d8, don't consider not getting an output buffer as an error during flushing. I've seen the following sometimes when encoding: W GStreamer+amcvideoenc: java.lang.IllegalStateException W GStreamer+amcvideoenc: at android.media.MediaCodec.getBuffer(Native Method) W GStreamer+amcvideoenc: at android.media.MediaCodec.getOutputBuffer(MediaCodec.java:2886) 2. For amcvideodec/enc, call _find_nearest_frame (which grabs a fresh reference on a GstVideoCodecFrame) after we have an output buffer, so as to not leak the reference, in case getting an output buffer fails. Otherwise, if we get an error grabbing the output buffer, we leak the reference to the frame. This can cause issues with a v4l2bufferpool feeding the encoder not being able to clean itself up properly due to buffers still being marked as in-use. https://bugzilla.gnome.org/show_bug.cgi?id=791258
* kmssink: Add display-width/height propertiesNicolas Dufresne2017-12-011-0/+51
| | | | | | | | | | | This is to be used with gst_video_overlay_set_render_rectangle() so the application can calculate a rectangle that fits inside the display. The property changes are notify in a way that you can watch either notify::display-width or notify::display-height and both will be up-to-data when this is called back. Before the element is started, the size will be 0x0. https://bugzilla.gnome.org/show_bug.cgi?id=784599
* kmssink: support videooverlay interfaceHaihua Hu2017-12-012-14/+172
| | | | | | | | | Implement videooverlay interface in kmssink, divided into two cases: when driver supports scale, then we do refresh in show_frame(); if not, send a reconfigure event to upstream and re-negotiate, using the new size. https://bugzilla.gnome.org/show_bug.cgi?id=784599
* kmssink: add can-scale propertyHaihua Hu2017-12-011-2/+18
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=784599
* uvch264src: Check return values of all xu_query callsEdward Hervey2017-11-241-4/+13
| | | | | | | And use warnings/returns like for other calls CID #1373414 CID #1373417
* msdkdec: keep draining even if a finish_task failsHyunjun Ko2017-11-231-2/+5
| | | | | | | Should continue draining so that it could try to discard the rest of pending frames even if a finish_task fails. https://bugzilla.gnome.org/show_bug.cgi?id=790312
* dvb: Fix previous commitEdward Hervey2017-11-231-1/+1
| | | | strlen on strings (and not sizeof) *sigh*
* dvb: Fix sock_addr usage (for real)Edward Hervey2017-11-231-1/+1
| | | | | | | It was great checking that the string was not too big ... but it's better if we actually copy the proper amount of bytes :) CID #206004
* ipcpipeline: Don't leak structureEdward Hervey2017-11-231-0/+2
| | | | CID #1416131
* ipcpipeline: Simplify usage of g_cond_wait_until()Edward Hervey2017-11-231-2/+1
| | | | | | | It will return FALSE if a timeout happened. So don't check if we timed out afterwards, just use the return value. CID #1416347
* ipcpipeline: Check the proper valueEdward Hervey2017-11-231-1/+1
| | | | | | | The code is meant to check the *peer* state change return value (and not the sink's one). CID #1416128
* msdkdec: fix buffer leaks during drain and a leak of videobufferpoolHyunjun Ko2017-11-221-5/+14
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=790312
* msdkenc: handle the MORE_DATA caseHyunjun Ko2017-11-222-5/+32
| | | | | | | | | If the driver requires more data, just unref the frame at the moment then retreive/finish the frame after encoding is finished. This also fixes a memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=790312
* decklinkvideosink: Print "Starting" instead of "Stopping" when startingSebastian Dröge2017-11-221-1/+1
|
* nvdec: implement flush/drainMatthew Waters2017-11-221-0/+42
| | | | | | | | | | | | Fixes outputted frame sequence when performing a seek i.e. when seeking backwards, the first frame after the seek was a frame from the future. This would result in GstVideoDecoder essentially marking all the timestamps as essentially bogus and the base class would attempt to compensate. A visible indication of this was 'decreasing timestamp' warning after a seek. https://bugzilla.gnome.org/show_bug.cgi?id=790478
* kmssink: Add Raspberry Pi (vc4) supportNicolas Dufresne2017-11-211-1/+1
|
* msdkh264enc: Implement frame-packing SEI insertion for side-by-side and ↵Sebastian Dröge2017-11-203-1/+157
| | | | | | | | | top-bottom Ideally this would be supported directly in the Intel MediaSDK but that's not the case nowadays. https://bugzilla.gnome.org/show_bug.cgi?id=774920
* msdkenc: Fix handling of YUY2, UYVY, BGRA surfacesHyunjun Ko2017-11-202-1/+24
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=789847
* msdkenc: Add support for YV12, YUY2, UYVY and BGRASebastian Dröge2017-11-203-69/+399
| | | | | | By doing conversion with VPP to NV12 before the actual encoding. https://bugzilla.gnome.org/show_bug.cgi?id=789847
* decklink: Remove unused "bflags" variableVivia Nikolaidou2017-11-091-2/+0
| | | | We are ignoring all its flags anyway, so let's remove it altogether.
* decklink: Ignore some driver-set timecode flagsVivia Nikolaidou2017-11-091-7/+2
| | | | | | | | | | The "fields" flag is ignored because currently GStreamer doesn't support having only top or only bottom fields inside a frame. The "drop frame" flag is ignored because some occurrences have been spotted where it wasn't set while it should have been. In practice, when we have 29.97 or 59.94 FPS, it's always drop-frame. https://bugzilla.gnome.org/show_bug.cgi?id=790112
* decklink: Don't crash when getting hw serial number doesn't return OKVivia Nikolaidou2017-11-091-5/+7
| | | | | If the return value isn't OK, it means we might be getting data that points to an invalid memory address. That shouldn't make us crash.
* Revert "decklink: Detect gaps on incoming stream times, issue warnings"Vivia Nikolaidou2017-11-074-82/+0
| | | | | | This reverts commit c1294e10f99adf04a104397da735904634400464. Was not ready to be pushed yet.
* decklink: Detect gaps on incoming stream times, issue warningsVivia Nikolaidou2017-11-074-0/+82
| | | | | | | | | | | | | When we receive a video or audio buffer, we calculate the next stream time based on the current stream time + buffer duration. If the next buffer's stream time is after that, we issue a warning. This happens because the stream time incoming from Decklink should be really constant and without gaps. If there is a gap, it means that something went wrong, e.g. the internal buffer pool is empty (too many buffers queued up downstream). https://bugzilla.gnome.org/show_bug.cgi?id=781776
* msdk: fix to build msdkvp8dec with mfx_dispatchHyunjun Ko2017-11-041-2/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=789751
* dvb: Fix sockaddr_un usageEdward Hervey2017-11-041-1/+6
| | | | | | The sun_path field needs to be NULL-terminated CID #206004
* msdk: adds msdkvp8decHyunjun Ko2017-11-015-0/+185
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=789751
* msdk: Allow building against mfx_dispatcherSebastian Dröge2017-10-307-11/+50
| | | | E.g. from https://github.com/lu-zero/mfx_dispatch
* vtdec: destroy and create the GL context on start()/stop()Matthew Waters2017-10-301-2/+11
| | | | Removes a reference count loop
* vtdec: flush decoder on stopNicola Murino2017-10-301-0/+2
| | | | | | fix a memory leak if the decoder shut down before EOS https://bugzilla.gnome.org/show_bug.cgi?id=787311
* vtenc: flush encoder on stopNicola Murino2017-10-301-0/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=787311
* vtenc: fix memory leakNicola Murino2017-10-201-22/+55
| | | | | | | finish encoding and clean buffers queue on flush. This avoid a memory leak if the element shuts down before EOS https://bugzilla.gnome.org/show_bug.cgi?id=787311
* decklink: Add read-only property to read the device serial numberSebastian Dröge2017-10-186-3/+80
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=788510
* nvbaseenc: Fix Memory leak in error casePonnam Srinivas2017-10-131-3/+7
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=788243
* decklink: Print one "dropped N old frames" message, not one per frameVivia Nikolaidou2017-10-112-4/+26
| | | | | | | | If we drop many frames at once, printing one message per video frame and one per audio packet would cause a lot of disk IO. Just print a total at the end. https://bugzilla.gnome.org/show_bug.cgi?id=788780
* kmssink: Fix crash on NULL dmabuf allocator pointerNicolas Dufresne2017-10-061-1/+2
| | | | | | | | Now that we are doing lazy allocation, we may endup calling _stop() before the allocator was created. As a side effect, we need to nul-check the pointer before calling it's method (_clear_cache()). https://bugzilla.gnome.org/show_bug.cgi?id=787593
* kms: Fix compilation error when libdrm < 2.4.68U. Artie Eoff2017-10-051-0/+4
| | | | | | | | | | | | | | | | | | | | DRM_RDWR was not defined until libdrm 2.4.68. However, in configure.ac we only require libdrm >= 2.4.55. Seems silly to to bump minimum libdrm version for a simple define. Thus, define DRM_RDWR if it's not defined. This fixes compilation error introduced in: commit 922031b0f98bf5c7b01f4431d1c08617f65865f7 Author: Nicolas Dufresne <nicolas.dufresne@collabora.com> Date: Tue Sep 12 12:07:13 2017 -0400 kms: Export DMABuf from Dumb buffer when possible https://bugzilla.gnome.org/show_bug.cgi?id=787593 Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
* kmsallocator: Update GstVideoInfo.size when extrapolatingNicolas Dufresne2017-10-051-0/+3
| | | | | | | | | When we guess the strides, we need to also update the GstVideoInfo.size otherwise the memory size will be set to something smaller then needed. This was causing crash with the DMABuf exportation, since we would not mmap() a large enough buffer. https://bugzilla.gnome.org/show_bug.cgi?id=787593