summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Update translationsTim-Philipp Müller2019-12-031-67/+266
|
* glfilters: Don't use static variables for storing per-element stateSebastian Dröge2019-11-299-47/+65
|
* xvimagepool: Update size, stride, and offset with allocated XvImageSeungha Yang2019-11-282-2/+45
| | | | | | | Memory layout of XvImage might be different from that of GstVideoInfo. If so, the image size, stride, and offset would be wrongly informed. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/677
* xvimagepool: Fix confusing debug message for padding sizeSeungha Yang2019-11-281-1/+1
|
* video-converter: Fix RGB-XYZ-RGB conversionEdward Hervey2019-11-211-2/+25
| | | | | | | | The matrices were in the wrong order. Instead of the conversion matrix being _ XYZ_TO_RGB_output * RGB_TO_XYZ_input * input_RGB It was _ RGB_TO_XYZ_input * XYZ_TO_RGB_output * input_RGB
* audiorate: Update next_offset per rate changeSeungha Yang2019-11-181-0/+12
| | | | | | | | To support runtime audio samplerate change, re-calculate next target offset per caps. Calculating the next buffer offset using the previous offset seems to be tricky and rounding error prone. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/693
* Revert "audiorate: accumulate offset by time diff"Seungha Yang2019-11-182-20/+5
| | | | | | This reverts commit 4fa850e3e6c039000fc7f648de238af6c2278469. The commit would break an constant rate audio stream with gap.
* audioringbuffer: Reset reorder flag before checkJochen Henneberg2019-11-171-1/+1
| | | | | | This function might be revisited with different channel position mapping while audio source goes into play so the reorder flag needs to be reset before the checks happen.
* audio-buffer: Don't fail to map buffers with zero samplesSebastian Dröge2019-11-141-8/+14
| | | | | | | | Instead initialize the map infos, etc to NULL like gst_buffer_map() would be doing on a zero-sized buffer. This fixes a crash in audioresample if the first output buffer would contain zero samples.
* videorate: Fix max-duplication-time handlingSebastian Dröge2019-11-052-6/+82
| | | | | | | | | | | | | | | Previously this would've only set discont=TRUE and then for all future buffers simply returned immediately. Instead we also need to a) drain previous input until its buffer time b) update next_ts and base_ts accordingly for the gap c) actually store the new buffer after the gap so it can be used in the future and so the old buffer before the gap is gone Also update the unit test accordingly so that it actually tests for this behaviour. Previously it only tested that after the gap we got no output at all.
* gl/gbm: ensure we call the resize callback before attempting to drawMatthew Waters2019-11-052-4/+15
| | | | | Without this, sinks will not be notified about size changes or even the initial size and would render at 0x0.
* video-converter: Use G_N_ELEMENTS instead of writing it out manuallySebastian Dröge2019-10-241-1/+1
|
* video-converter: Scaling-only fast-paths for planar formats are keeping ↵Sebastian Dröge2019-10-241-13/+13
| | | | | | | interlacing So we can also use them for interlaced content and speed up scaling a bit.
* video-scaler: Correctly handle interlaced vertical scalers in ↵Sebastian Dröge2019-10-241-0/+3
| | | | | | | | | | gst_video_scaler_2d() We need to provide twice as many lines as usual to the scaling function as every second lines would be skipped. Without this we read from random memory and produce colorful output and crashes.
* video-converter: Don't use fast-path halfing/doubling rescalers for ↵Sebastian Dröge2019-10-241-7/+7
| | | | | | | interlaced planar formats They will mix lines from the top and bottom field and by that effectively deinterlace the video, badly.
* video-converter: Use interlaced scalers for vertical scaling if neededSebastian Dröge2019-10-241-2/+9
| | | | | | Without this, scaling e.g. interlaced UYVY causes corrupted output with lines as follows: f1 f1 f2 f2, i.e. two lines of each field and only then the other field.
* gstrtspconnection: messages_bytes not decreasedJoakim Johansson2019-10-241-0/+4
| | | | | | | | | | The watch->messages_bytes is not decreased when the write operation from the backlog is only partly successfull. This commit decreases the watch->messages_bytes for the successfully sent messages. Fixes #679
* check: Don't use real audio devices for testsEdward Hervey2019-10-102-87/+4
| | | | | | | | | When checking the behaviour of live seeking on audiomixer or adder we don't *really* need real audio devices. audiotestsrc in live mode is enough to test the behaviour of those elements. Also avoids people repeatedly wasting hours trying to figure out whether that failing behaviour is due to their code or not.
* pbutils: add description for CineForm codecTim-Philipp Müller2019-10-101-0/+1
|
* riff: add mapping for CineForm codecTim-Philipp Müller2019-10-101-0/+7
| | | | Makes CineForm-in-AVI work.
* glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffersThibault Saunier2019-10-052-21/+13
| | | | | | | | | This is done by reusing `gst_gl_memory_setup_buffer` avoiding to duplicate code. Without a VideoMeta, mapping those buffers lead to GstBuffer mapping the buffer in system memory even when specifying the GL flags (through the buffer merging mechanism) making the result totally broken.
* streamsynchronizer: avoid pad destruction races.Charlie Turner2019-10-051-124/+259
| | | | | | | | Due to the use of {set/get}-element_private methods being used to store the GstSyncStream in the src and sink pads, and the racey nature of pad destruction, there are numerous ways we can be bitten by race conditions in the stream synchronizer. Fix that by tying the pads toghether with references.
* gst-play: Use gst_print* to avoid broken stdout string on WindowsSeungha Yang2019-10-011-64/+66
| | | | | | Equvalant to https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/258 When debug enabled, the debug string might be broken on Windows.
* Release 1.16.11.16.1Tim-Philipp Müller2019-09-236-17/+937
|
* Update docsTim-Philipp Müller2019-09-2333-33/+33
|
* Update translationsTim-Philipp Müller2019-09-2312-900/+2863
|
* video-info: parse field-order for all interleaved formatsMarco Felsch2019-09-191-2/+1
| | | | | | The "field-order" is related for all interlace_mode modes except the "progressive" mode. So instead of or'ing each mode we can use the already supported GST_VIDEO_INFO_IS_INTERLACED macro.
* meson: Reenable NEON supportDoug Nazar2019-09-081-0/+12
|
* audio-resampler: Update NEON to handle remainders not multiples of 4Doug Nazar2019-09-081-4/+4
| | | | | | | | If the remainder is not evenly divisable by 4, we'd miss the check for zero and continue the loop until crashing. Change the branch to take into account negatives as well. This more closely matches the SSE loop.
* eglimage: Fix memory leakJonas Larsson2019-09-081-0/+2
| | | | | | Also free the GstEGLImage struct allocated by g_new0. Fixes #661
* tests: fix up valgrind suppressions for glibc getaddrinfo leaksTim-Philipp Müller2019-09-081-0/+1
| | | | | | | | Make more flexible. There is an extra gethostbyname2_r@@GLIBC_2.2.5 (getXXbyYY_r.c:217) in the trace on the build bots (F30). Fixes the -base and -good valgrind jobs on the 1.16 branch CI.
* audiodecoder: fix ctitical info assertion 'GST_IS_CAPS ↵Hou Qi2019-09-021-1/+1
| | | | | | | | | | | (dec->priv->ctx.caps)' failed Matroskademux will send gap event when lag of video and audio is over 3 seconds. audiodecoder needs to handle gap event and set default output caps. Only audio info is set, while output caps is ignored. This cause the assertion failed. Need to fill output caps in gst_audio_decoder_negotiate_default_caps() with negotiated caps to avoid critical info printed when check it later.
* Docs: add GL_CFLAGS to GTK_DOC_CFLAGSMike Gorse2019-08-241-1/+1
| | | | Otherwise introspection may fail because wayland-client.h cannot be found.
* video-frame: Take TFF flag from the video info if it was set in thereSebastian Dröge2019-08-201-6/+12
| | | | | | | | The caps and thus the video info have preference. If the field order is set in there then it applies to all frames. This works around issues where the tff field order is only set in the caps but not additionally in the buffer flags.
* glcolorconvert: Fix external-oes shaderXavier Claessens2019-08-121-5/+6
| | | | | | The #extention must come before 'precision highp float;'. Closes: #650
* video-color: keep UNKNOWN colorimetry define automatically up-to-dateTim-Philipp Müller2019-08-111-8/+2
| | | | Follow-up to !310 and helps with backport commits like !360
* video-color: Deal with NULL colorimetry while converting from stringArun Raghavan2019-08-111-1/+4
| | | | | | | | This came up in the case where v4l2 sets caps with colorimetry=NULL, and then tries to parse back the colorimetry, causing a crash in gst_video_get_colorimetry() because of g_str_equal(). We fix this by making sure the only caller of the function never calls it with a null colorimetry string.
* video-color: Fix unknown colorimetry checkingArun Raghavan2019-08-111-6/+3
| | | | Also drop some deadcode #defines.
* video-anc: Fix ADF detection when trying to extract data from vancSebastian Dröge2019-08-111-2/+2
| | | | | Previously we were checking offset 1 twice, but the second check should've been for offset 2.
* gl/wayland: fix wayland event source burning CPULucas Stach2019-08-111-2/+6
| | | | | | | | | | Commit c71dd72b "gl/wayland: fix glib mainloop integration" was overeager in removing the poll result test from the check function. This caused dispatch to be called even if no new events are available on the Wayland connection, which in turn would wake up the glib mainloop, causing effectively a tight loop without ever blocking on the poll. Fixes #603
* Add used attribute in order to make NEON detection working with -flto.Martin Liska2019-08-111-1/+1
|
* audioaggregator: Split getcaps() function into twoSebastian Dröge2019-08-101-44/+64
| | | | One for convert pads and one for normal sink pads.
* videoaggregator: We can only convert the format if a ↵Sebastian Dröge2019-08-101-11/+18
| | | | | | GstVideoAggregatorConvertPad is used Otherwise assume that we can at least support any framerate.
* audioaggregator: Always take first configure pad's rate and downstream caps ↵Sebastian Dröge2019-08-101-28/+52
| | | | | | | | into account when calculating allow sink caps While we can convert between all formats apart from the rate, we actually need to make sure that we comply with a) the rate of the first configured pad and b) also all the allowed rates from downstream.
* audioaggregator: If we don't have a GstAudioAggregatorConvertPad, don't ↵Sebastian Dröge2019-08-101-4/+56
| | | | assume that we can actually convert
* audioaggregator: always use downstream's rate requirementsMathieu Duponchelle2019-08-101-3/+2
| | | | | | | | | | | | | | | | | We were previously only fixating the rate in the getcaps implementation when downstream was requiring a discrete value, causing negotiation to fail when upstream was capable of rate conversion, but not made aware that it had to occur. Instead of fixating the rate, we can simply update our sink template caps with whatever GValue the downstream caps are holding as their rate field. Allows negotiation to successfully complete with pipelines such as: audiotestsrc ! audio/x-raw, rate=48000 ! audioresample ! audiomixer name=m ! \ audio/x-raw, rate={800, 1000} ! autoaudiosink \ audiotestsrc ! audio/x-raw, rate=44100 ! audioresample ! m.
* rtspconnection: data-offset increase not setGöran Jönsson2019-08-101-1/+1
|
* rtpsconnection: Fix number of n_vectorsGöran Jönsson2019-08-101-1/+1
| | | | | | | | Body_offset mean that so much data have been written. Without this patch n_vectors somtimes becomes one more than it should and then there will be an vector that have a random size causing writev_bytes to cause a "Bad address" error.
* video-color: Add compile-time assert for ColorimetryInfo enumNirbheek Chauhan2019-08-101-0/+4
| | | | | A comment is not sufficient because this will break when cherry-picking or backporting commits.
* audiodecoder: Fix leak on failed audio gapsDoug Nazar2019-08-101-0/+2
| | | | | If we fail to process the gap event we need to unref the event or we end up with a leak.