Stéphane Cerveau
66df967dab
tests: add video encoder test with subframes API
2019-12-21 02:59:14 +00:00
Stéphane Cerveau
6cfdeb7423
videoencoder: send new headers in finish_frame
...
If headers have been set by subclass, this headers should be sent
for a first time or on demand with a key-unit
2019-12-21 02:59:14 +00:00
Stéphane Cerveau
7013a58874
videoencoder: Use video marker flag to signal end of frame
...
This marker is optional, its name refer to RTP marker bit. This mark can
be use to reduce latency in various use cases. With the split between
finish_frame() and finish_subframe() we will now be able to identitfy
the last subframe with no latency.
In order to detail the use of GST_BUFFER_FLAG_MARKER in a video
use case, the flag GST_VIDEO_BUFFER_FLAG_MARKER has been introduced
with a proper documentation clarifying marker's role.
2019-12-21 02:59:14 +00:00
Guillaume Desmottes
3e32896912
videoencoder: add API to push subframes
...
Introduce a new API so encoders can split the encoding in subframes.
This can be useful to reduce the overall latency as we no longer need to
wait for the full frame to be encoded to start decoding or sending it.
2019-12-21 02:59:14 +00:00
Guillaume Desmottes
789803fd6d
videoencoder: factor out logic from gst_video_encoder_finish_frame()
...
No semantic change, I'm going to reuse all those functions in a new
finish_slice() methods.
2019-12-21 02:59:14 +00:00
Jonas Holmberg
af909c6d82
audioencoder: fix segment event leak
...
Segment event was leaked if format != _TIME.
2019-12-20 12:43:35 +00:00
Olivier Crête
6b283d9e78
Revert "videoencoder: factor out logic from gst_video_encoder_finish_frame()"
...
This reverts commit b1ec312b8e
.
2019-12-19 17:52:12 -05:00
Stéphane Cerveau
b1ec312b8e
videoencoder: factor out logic from gst_video_encoder_finish_frame()
...
No semantic change, I'm going to reuse all those functions in a new
finish_slice() methods.
2019-12-19 21:59:10 +00:00
Olivier Crête
61aeb4bbc3
rtspconnection: Add functions without GTimeVal deprecate existing
...
GTimeVal is now deprecated in GLib, so let's deprecate it here too
2019-12-18 18:20:25 +00:00
Olivier Crête
487a2202d3
tests: Remove deprecated GTimeVal
...
GTimeVal won't work past 2038
2019-12-18 18:20:25 +00:00
Stéphane Cerveau
58e6f598f4
base: use of g_value_dup_string
...
Use helper method to get string from GValue.
2019-12-18 16:03:59 +01:00
Stéphane Cerveau
f8dc428a2a
remove various useless linefeed in logs
2019-12-11 10:07:12 +01:00
Tim-Philipp Müller
2b498878ea
tests: actually define HAVE_VALGRIND
...
This stuff should probably be done differently, but
for now just define it like we used to.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
57913a58f6
xvimage: remove unused HAVE_XVIDEO define
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
3921a94f28
test: fix up HAVE_X11 / HAVE_X defines
...
Only HAVE_X was defined, while both HAVE_X11 and HAVE_X were used.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
006f8cea96
typefindfunctions: build gio xdgmime typefinder again
...
And add gio-typefinder option to disable it. HAVE_GIO
was never set, at least not in the Meson build.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
574d097d43
tests: simple-launch-lines: remove use of unused HAVE_LIBVISUAL define
...
This is not set anywhere, and it's pretty clear the pipeline in
question has not been tested in a long time. Disable test with
a FIXME, test needs to be rewritten to not use real output devices.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
f357c55587
tests: gl-launch-lines: check for features at runtime
...
Instead of using HAVE_PNG and HAVE_JPEG defines.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
64b6c4796a
multifdsink: remove defunct include guarded by unused HAVE_FIONREAD_IN_SYS_FILIO
...
The configure check for this went away in 2012 in commit cd3eee.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
2b99761dcf
tests: oggmux: check vorbisenc + theoraenc availability at runtime
...
HAVE_VORBIS was used but never set, so only 3 out of 7 tests
actually ran. Drop now-unused HAVE_THEORA define.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
ca11e82e66
tests: playback: include stdlib.h unconditionally
...
Like we do elsewhere. And drop the check for the header.
Also remove some superfluous unistd.h includes.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
72bafd442f
vorbis: drop unneeded check for vorbis_synthesis_restart()
...
This was added in 1.0.1 more than 16 years ago, I think we
can safely assume this is always present now. Also in tremor.
While at it, bump vorbis requirement to 1.3.1 from 2010.
2019-12-09 07:33:55 +00:00
Tim-Philipp Müller
98ebcb4b8a
pango: check if localtime_r is available
...
HAVE_LOCALTIME_R was used, but never defined.
2019-12-09 07:33:55 +00:00
Seungha Yang
c8ff6f82a5
examples: overlaycomposition: Fix implicit declaration warning
...
overlaycomposition.c:276:5: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
overlaycomposition.c(263): warning C4090: 'initializing': different 'const' qualifiers
2019-12-08 18:57:26 +09:00
Seungha Yang
90bcaf5a43
examples: win32-videooverlay: Remove unused variable
...
win32-videooverlay.c:34:20: warning: 'msg_io_channel' defined but not used [-Wunused-variable]
2019-12-08 18:45:22 +09:00
Stéphane Cerveau
3b8769e673
codec-utils: add h264 constrained and progressive profiles
...
Those profiles have been added in the version 2012-01
and 2011-06 of the AVC spec.
Aligned code with https://bugzilla.gnome.org/show_bug.cgi?id=794127
2019-12-03 23:35:23 +00:00
Matthew Waters
2c7445b9cc
build: use -fvisibility=hidden for objc code
2019-12-03 14:16:06 +11:00
Matthew Waters
eb0107986a
gl/macos+ios: privatise _invoke_on_main()
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1132
2019-12-03 14:15:58 +11:00
Mart Raudsepp
65f2bb8fa2
videoaggregator: don't let a repeat-after-eos pad prevent EOS
...
.. if there are pads present that are not repeating after EOS.
Fixes #664
2019-11-27 22:21:14 +02:00
Mart Raudsepp
dec2750e96
tests: expand compositor repeat-after-eos tests for multiple pads
...
If there are any pads with repeat-after-eos NOT set, then the compositor
should EOS after all of those pads have gone EOS, but not before all
repeat-after-eos pads have as well.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/664
2019-11-27 22:21:14 +02:00
Thibault Saunier
e8a907e413
tools: Add support for CameraSource pipeline description
2019-11-27 12:13:43 +00:00
Edward Hervey
df35256dad
video-converter: Fix RGB-XYZ-RGB conversion
...
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
2019-11-21 13:46:38 +00:00
Akinobu Mita
2d65683658
ximagesink, xvimagesink: don't use XkbKeycodeToKeysym if Xkb is unavailable
...
ximagesink and xvimagesink use XkbKeycodeToKeysym when the key event is
received. However, this function returns NoSymbol if Xkb is unavailable.
This causes all key events to be translated to "unknown" key when running
ximagsink under some VNC.
Fix it by using XKeycodeToKeysym if Xkb is unavailable.
2019-11-19 14:28:35 +00:00
Seungha Yang
fd830868bf
gst-play: Handle KeyDown event instead of KeyUp on Win32 keyboard handler
...
To handle long press case, KeyDown input should be handled instead of KeyUp.
Note that OS will take care of the sensitivity of KeyDown event, so we can safely
assume one KeyDown as one input. That will not break user experience.
2019-11-19 17:48:26 +09:00
Seungha Yang
60d58038df
gst-play: Remove timer GSource from Win32 keyboard handler
...
Use WaitForMultipleObjects to handle keyboard input only if pending
keyboard input exists.
2019-11-19 17:48:22 +09:00
Seungha Yang
ed651022cb
examples: win32-videooverlay: Add an option for testing reuse of external window
...
Adding "repeat" option to test a case where external window is reused.
2019-11-18 11:25:47 +00:00
Seungha Yang
fab2d6d60c
audiorate: Update next_offset per rate change
...
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
2019-11-18 08:56:21 +00:00
Seungha Yang
b6bdff0c84
Revert "audiorate: accumulate offset by time diff"
...
This reverts commit 4fa850e3e6
.
The commit would break an constant rate audio stream with gap.
2019-11-18 08:56:21 +00:00
Seungha Yang
b4e37d8a4b
xvimagepool: Update size, stride, and offset with allocated XvImage
...
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
2019-11-18 07:41:10 +00:00
Seungha Yang
ce5e2f6917
xvimagepool: Fix confusing debug message for padding size
2019-11-18 07:41:10 +00:00
Ambareesh "Amby" Balaji
d7913a0d14
opusenc: Add low delay option
...
Fixes #681
2019-11-17 18:23:59 +00:00
Jochen Henneberg
33ae846607
audioringbuffer: Reset reorder flag before check
...
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.
2019-11-17 14:10:31 +00:00
Wonchul Lee
32ae3e336d
glupload: Fix allocator leak
...
It fixes allocator leak in failure case
2019-11-15 10:26:48 +00:00
Seungha Yang
39dcceb028
examples: overlaycomposition: Fix typo
...
Sorry for the noise. Default should be autovideosink
2019-11-15 06:28:18 +00:00
Guillaume Desmottes
8a3d901d8f
video-info: improve GST_CAPS_FEATURE_FORMAT_INTERLACED documentation
...
Copied the description from gst-doc written by Tim.
Fix #606
2019-11-15 04:19:20 +00:00
Matthew Waters
a41bad561a
gl/window: marshall quit to the window thread
...
Fixes a possible deadlock where we're waiting for the window thread to
quit but it never does.
2019-11-15 01:04:45 +00:00
Sebastian Dröge
89f613abf5
audio-buffer: Don't fail to map buffers with zero samples
...
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.
2019-11-14 14:47:44 +01:00
Seungha Yang
4960f385cf
examples: overlaycomposition: Add option for videosink element selection
...
It would be useful for testing overlaycomposition with specific videosink element.
2019-11-13 12:45:10 +00:00
Wonchul Lee
7d8e7cd3eb
glcontext/egl: Fix window leak
...
Fixed to do unref after use of window get by gst_gl_context_get_window()
2019-11-13 17:35:40 +09:00
Nicolas Dufresne
95abc6c263
gldownload: Fix renegotiation loop
...
When DMABuf was tried, we would renegotiate back and fourth between
DMABuf and system memory if the export failed. This would happen for
every single frame.
This patch introduces try_dmabuf_exports boolean, which is unset when
an export failed. This boolean is then put back to TRUE when upstream
pushes new caps, or downstream pushes a reconfigure event.
2019-11-11 17:11:45 -05:00