Commit graph

2321 commits

Author SHA1 Message Date
Aaron Boxer
807418894b rtspurl: add API method to create request uri combined with control url
code logic very similar to gst_rtsp_url_get_request_uri ()
2019-12-27 16:57:08 +00:00
Stéphane Cerveau
66df967dab tests: add video encoder test with subframes API 2019-12-21 02:59:14 +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
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
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
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
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
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
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
39dcceb028 examples: overlaycomposition: Fix typo
Sorry for the noise. Default should be autovideosink
2019-11-15 06:28:18 +00: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
Sebastian Dröge
c363747251 videorate: Fix max-duplication-time handling
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.
2019-11-04 19:01:10 +00:00
Seungha Yang
dc274ea9ca compositor: Add support for VUYA format
Reversed order of AYUV format. Most of core methods are prepared
already.
2019-11-04 14:50:28 +00:00
Guillaume Desmottes
75680e5d34 videometa: add alignment field
By adding this field, buffer producers can now explicitly set the exact
geometry of planes, allowing users to easily know the padded size and
height of each plane.

GstVideoMeta is always heap allocated by GStreamer itself so we can
safely extend it.
2019-11-02 13:05:43 +01:00
Guillaume Desmottes
36ce08826e video-info: add gst_video_info_align_full()
When using gst_video_info_align() user had no easy way to retrieve the
padded size and height of each plane.
This can easily be implemented in fill_planes() as it's already called
in align() with the padded height.

Ideally we'd add a plane_size field to GstVideoInfo but the remaining
padding is too small so that would be an ABI break.

Fix #618
2019-11-02 13:05:43 +01:00
Seungha Yang
8b92d144a1 tests: audio: Add test for gst_audio_info_from_caps() method
Test gst_audio_info_from_caps() with raw and encoded formats.
2019-10-25 20:53:47 +09:00
Tim-Philipp Müller
289d8e53e2 Remove autotools build system 2019-10-13 14:15:43 +01:00
Edward Hervey
2409f4f360 base: Avoid usage of deprecated API
GTimeval and related functions are now deprecated in glib.
Replacement APIs have been present since 2.26
2019-10-11 06:17:39 +00:00
Edward Hervey
7eb98ba4f3 check: Don't use real audio devices for tests
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.
2019-10-10 16:58:26 +02:00
Mathieu Duponchelle
dd556ccf3d examples: add device provider example 2019-10-08 00:34:13 +02:00
Thibault Saunier
8d32de0905 glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers
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.
2019-10-02 19:27:39 +00:00
Matthew Waters
9939149933 examples/gl/sdlshare: port to OpenGL 3.0 core profile 2019-10-03 00:18:36 +10:00
Sebastian Dröge
e8edb0eb71 examples/sdlshare: Map video frames as early as possible and wait via GL sync meta before using texture ids 2019-09-30 13:29:58 +03:00
Sebastian Dröge
e750ea40b6 examples/sdlshare: Initialize GL as part of the event loop
And unref additional buffers we never use for rendering directly instead
of going via the output queue.
2019-09-30 13:29:58 +03:00
Sebastian Dröge
0bcba6a3ec examples/sdlshare: Activate and initialize our wrapped GL context
This allows us to e.g. use the GL functions vtable on it later.
2019-09-30 13:29:58 +03:00
Sebastian Dröge
9000bc86df examples/sdlshare: Call gst_init() a bit earlier in main()
Let's not accidentally call other GStreamer API before that.
2019-09-30 13:29:58 +03:00
Sebastian Dröge
abc243fee4 examples/sdlshare: Create an OpenGL context for OpenGL 2.0 2019-09-30 13:29:58 +03:00
Sebastian Dröge
eb3699a74b examples/sdlshare: Switch from a GLib main loop to a normal SDL event loop 2019-09-30 13:29:58 +03:00
Sebastian Dröge
6a5ab50103 examples/sdlshare: Port to SDL2 2019-09-30 13:29:58 +03:00
Sebastian Dröge
b0bd448d37 examples/sdlshare: Move from a fakesink to an appsink 2019-09-30 13:29:35 +03:00
Sebastian Dröge
6f14785c3e examples/sdlshare: Store buffer queues and loop in a global variable
There's no point storing them in GObject data, we already have other
global variables anyway.
2019-09-30 13:29:35 +03:00
Sebastian Dröge
8b891c218f examples/sdlshare: Bus sync handlers return no value 2019-09-30 13:29:35 +03:00
Sebastian Dröge
9daa7fa663 examples/sdlshare: Fix various memory leaks 2019-09-30 13:29:35 +03:00
Tim-Philipp Müller
c8d0edfea9 tests: fix up valgrind suppressions for glibc getaddrinfo leaks
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.
2019-09-08 01:52:36 +01:00
Thibault Saunier
909baa2360 Pass the code through codespell 2019-08-30 13:05:36 +00:00
Aaron Boxer
355736fc93 playback-test: plug some memory leaks 2019-08-05 14:54:40 -04:00
Mathieu Duponchelle
f72e71903a aggregator tests: fix seek event seqnums
In
https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/207,
aggregator starts ignoring seek events with duplicate seqnums. We thus
need to update the seqnum of events when reusing them multiple times.
2019-07-19 18:53:43 +02:00
Guillaume Desmottes
509d4c31f0 video-format: add gst_video_format_info_component()
New API to find out which components are packed in a given plane.
Will prevent us from assuming a 1-1 mapping between planes and
components.
2019-07-19 15:47:02 +05:30
Seungha Yang
7327214bce tests: video: Add test conversion between colorimetry and ISO/IEC 23001-8 values
Test forward/backword conversion of color{matrix,transfer,primaries}.
2019-07-15 20:55:34 +09:00
Sebastian Dröge
1381e3e2be sdp: Add support for parsing the extmap attribute from caps and storing inside caps
The extmap attribute allows mapping RTP extension header IDs to
well-known RTP extension header specifications. See RFC8285 for details.

We store the extmap attribute either as string in the caps
  extmap-X=extensionname
where X is the integer extension header ID, or as 3-tuple of strings
  extmap-X=<direction,extensionname,extensionattributes>
where direction or extensionattributes are allowed to be the empty
string.

Both formats are allowed because usually only the extension name is
given and it's much simpler to handle in caps.
2019-07-13 12:18:15 +00:00
Seungha Yang
8f125fb4d9 examples: win32-videooverlay: Fix C2440 build error
Follow WNDPROC define to avoid implicit type conversion.
2019-07-10 01:34:13 +09:00