Mathieu Duponchelle
93a54093ec
mpeg2enc: add disable-encode-retries property
...
MJPEG Tools may reencode pictures in a second pass to stick
closer to the target bitrate. This can result in slower than
real-time encoding for full HD content in certain situations,
as entire GOPs need reencoding when the reference picture is
reencoded.
See https://sourceforge.net/p/mjpeg/bugs/141/ for background
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Mathieu Duponchelle
674ad01016
mpeg2enc: report a latency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Mathieu Duponchelle
2dfceac9fc
mpeg2enc: finalize GstVideoEncoder port
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Tim-Philipp Müller
c9d10e2277
mpeg2enc: store video encoder instance directly in stream writer class
...
Instead of storing the pad and then only using it to get the
element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Tim-Philipp Müller
8a745529c7
mpeg2enc: remove unused streamwriter member 'buf'
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Tim-Philipp Müller
0c28c406cc
mpeg2enc: remove some unused code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Tim-Philipp Müller
7f6eb54d42
mpeg2enc: remove code paths for older mjpegtools versions
...
Gets rid of lots of code paths that no one has built,
used or tested for ages, and makes code more maintainable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Alban Browaeys
79d90b4fd2
mpeg2enc: initial port to GstVideoEncoder base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=685414
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491 >
2020-08-06 17:13:03 +00:00
Sebastian Dröge
309f6187fe
decklink: Re-order modes enum for backwards compatibility with 1.16
...
The PAL/NTSC widescreen modes were added after 1.16 but inserted before
the HD modes, which changed the integer values of the enums.
Move them to the very end instead to keep backwards compatibility.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1048
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1492 >
2020-08-06 12:22:04 +03:00
Sebastian Dröge
e70ec38000
srt: Add support for using hostnames instead of IP addresses
...
If an address can't be parsed as IP address, try resolving it via
GResolver instead. SRT URIs more often than not contain hostnames and
without trying to resolve them we won't be able to handle such URIs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1493 >
2020-08-06 07:29:14 +00:00
Mathieu Duponchelle
1522e40397
cccombiner: update to new samples selection API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1497 >
2020-08-05 18:16:32 +02:00
Jordan Petridis
cee211123a
opencv: compile with -Wno-format-nonliteral
...
opencv plugin is pulling a header which makses clang++ 10
complain a lot and blocks -werror.
```
/usr/include/opencv4/opencv2/flann/logger.h:83:36: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
int ret = vfprintf(stream, fmt, arglist);
^~~
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1494 >
2020-08-05 12:17:06 +00:00
Guillaume Desmottes
b542b1c257
player: Add g_autoptr() support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1495 >
2020-08-05 12:31:53 +02:00
Jordan Petridis
92f9567737
gstlv2utils.c: avoid implicit float to int conversion
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1487 >
2020-08-04 11:37:52 +00:00
Jordan Petridis
26bbcae973
gstautoconvert.c: fix clang warnings
...
clang 10 is complaining about incompatible types due to the
glib typesystem.
```
gst-plugins-bad/gst/autoconvert/b5c3019@@gstautoconvert@sha/gstautoconvert.c.o' -c ../subprojects/gst-plugins-bad/gst/autoconvert/gstautoconvert.c
../subprojects/gst-plugins-bad/gst/autoconvert/gstautoconvert.c:898:8: error: incompatible pointer types passing 'typeof ((((void *)0))) *' (aka 'void **') to parameter of type 'GList **' (aka 'struct _GList **') [-Werror,-Wincompatible-pointer-types]
if (!g_atomic_pointer_compare_and_exchange (&autoconvert->factories, NULL,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:192:44: note: expanded from macro 'g_atomic_pointer_compare_and_exchange'
__atomic_compare_exchange_n ((atomic), &gapcae_oldval, (newval), FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) ? TRUE : FALSE; \
^~~~~~~~~~~~~~
1 error generated.
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1487 >
2020-08-04 11:37:52 +00:00
Jordan Petridis
5705301ed5
gstladspautils.c: avoid implicit float to int conversion
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1487 >
2020-08-04 11:37:52 +00:00
Andrew Branson
8a51fdbc2c
androidmedia: ignore additional camera effects if not present
...
Fixes https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/283
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1470 >
2020-08-04 11:07:33 +00:00
Nirbheek Chauhan
2881f6d728
meson: Only look for Obj-C/C++ compilers on macOS/iOS
...
On Windows, MinGW-GCC Objective-C/C++ compilers can be in PATH and
mess up the build since they may not match the CPU family of the C/C++
compilers we are using.
Also require them on macOS/iOS, because they should always be present.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/88
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1488 >
2020-08-04 10:43:13 +00:00
Víctor Manuel Jáquez Leal
6cf03b21f6
va: h264dec: log if upstream pool is kept
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1489 >
2020-08-04 10:39:05 +02:00
Víctor Manuel Jáquez Leal
f332c35ec0
va: utils: fix precondition check for handle_context_query()
...
display paramater can be NULL, but if it's not, it has to be a
GstVaDisplay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1489 >
2020-08-04 10:39:05 +02:00
Víctor Manuel Jáquez Leal
d569f4f929
va: tests: example: Fix memory leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1489 >
2020-08-04 10:39:05 +02:00
Francisco Javier Velázquez-García
97b5951d25
srtobject: Add support for IPv6
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1477 >
2020-08-03 21:46:04 +00:00
Francisco Javier Velázquez-García
1ba379ded0
srtobject: Reset parameters before setting URI
...
This makes `gst_srt_object_validate_parameters` work properly since
`localaddress` and `localport` will be missing if the URL did not
provide them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1477 >
2020-08-03 21:46:04 +00:00
Francisco Javier Velázquez-García
096c60f9c5
srtobject: Simplify gst_srt_object_set_*_value
...
This fixes `gst_srt_object_set_string_value` in particular because the
value might not be a static string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1477 >
2020-08-03 21:46:04 +00:00
Francisco Javier Velázquez-García
1a8e2cf981
srtobject: Store passphrase like other parameters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1477 >
2020-08-03 21:46:04 +00:00
Nirbheek Chauhan
d4ca8820e7
webrtc, rtmp2: Warn if the user or password aren't escaped
...
If the user/pass aren't escaped, the userinfo will be ambiguous and we
won't know where to split. We will accidentally get it right if the :
belongs in the password.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1481 >
2020-08-03 18:12:50 +00:00
Nirbheek Chauhan
827afa206d
webrtc, rtmp2: Fix parsing of userinfo in URI strings
...
While parsing the string, `gst_uri_from_string()` also unescapes the
userinfo. This is bad if your username contains a `:` character, since
we will then split the userinfo at the wrong location when parsing it.
To fix this, we can use the new `gst_uri_from_string_escaped()` API
that was added in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/583
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/831
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1481 >
2020-08-03 18:12:50 +00:00
Víctor Manuel Jáquez Leal
962ebebe06
tests: examples: add va-x11-render example
...
This a GTK+ example will share, through GstContext, a custom X11
VADisplay to a pipeline using vah264dec and appsink.
When the frames are processed for rendering, the VASurfaceID is
fetched from the buffer and it is rendered using vaPutSurface in a X11
widget.
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
1b4294c5b8
tests: examples: Comply with compilation order
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
62dacfd89a
va: allocator: support for GST_MAP_VA map flag
...
This flag will return the VASurface value at mapping
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
f7cfb422f1
va: context: instanciate VA display through GstContext
...
Add all the machinery to instanciate VA display through GstContext,
thus all va elements can share the same display and the user can set
a custom one.
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
0cc1dccd84
va: h264dec: don't copy frames if VAMemory capsfeature is negotiated
...
Otherwise the VASurfaceID is lost.
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
aa664a4eca
va: h264dec: copy render_device_path in klass
...
It it's not copied both cdata and klass, the string is lost. Thus
also it's freed from cdata when freeing it.
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
040c799cd8
va: display: wrapped: Fix property name
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
585295e82b
va: decoder: remove unused argument
...
And that changes function's namespace
2020-08-03 19:33:01 +02:00
Víctor Manuel Jáquez Leal
5154ee7f4c
va: caps: bail raw caps if driver doesn't report surface formats
...
This is a bug in Gallium RadeonSI driver for Polaris10, which doesn't
report sufrace formats for reported chroma.
If one chroma doesn't report surface formats, skip the generated caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1483 >
2020-08-03 15:54:45 +00:00
Víctor Manuel Jáquez Leal
d3ef3d562a
va: allocator: get a surface format from a image format
...
For the allocator to create surfaces with the correct chroma an
fourcc, it should use a surface format, not necessarily the negotiated
format.
Instead of the previous arbitrary extra formats list, the decoder
extracts the valid pixel formats from the given VA config, and pass
that list to the allocator which stores it (full transfer).
Then, when the allocator allocates a new surface, it looks for a
surface color format chroma-compatible with the negotiated image color
format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1483 >
2020-08-03 15:54:45 +00:00
Víctor Manuel Jáquez Leal
2327ac4a13
va: caps: add raw caps image formats with same chroma of surfaces
...
Instead of adding a list of ad-hoc formats for raw caps (I420 and
YV12), the display queries the available image formats and we assume
that driver can download frames in that available format with same
chroma of the config surfaces chroma.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1483 >
2020-08-03 15:54:45 +00:00
Víctor Manuel Jáquez Leal
9db747e4d0
va: display: add gst_va_display_get_image_formats()
...
For this it was also added gst_va_video_format_from_va_image_format()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1483 >
2020-08-03 15:54:45 +00:00
Víctor Manuel Jáquez Leal
39e55129d5
va: decoder: initialize rt_formas to zero
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1483 >
2020-08-03 15:54:45 +00:00
Seungha Yang
9b72b04dad
d3d11download: Allow linking with downstream d3d11 elements
...
It will make pipeline configuration easier since d3d11download
element can be placed unconditionally. This behavior is similar
to that of gldownload element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1485 >
2020-08-03 13:10:07 +00:00
Sebastian Dröge
6e412d42c7
hlssink2: Don't assert if we don't have a current location when receiving the fragment-closed message
...
This can happen if the application did not provide an output stream for
the fragment and didn't handle the error message before splitmuxsink
decided to consider the fragment closed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1469 >
2020-08-03 11:23:36 +00:00
Nicola Murino
8544f3928e
opencv: allow compilation against 4.4.x
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1482 >
2020-08-01 17:38:42 +00:00
Seungha Yang
4986b0dd34
mfvideosrc: Select common formats if both VideoPreview and VideoRecord are available
...
Some devices (e.g., Surface Book 2, Surface Pro X) will expose
both MediaStreamType_VideoPreview and MediaStreamType_VideoRecord types
for a logical device. And for some reason, MediaStreamType_VideoPreview
seems to be selected between them while initiailzing device.
But I cannot find any documentation for the decision rule.
To be safe, we will select common formats between them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1478 >
2020-08-01 15:17:05 +00:00
Seungha Yang
479a67c1b7
mfvideosrc: Check framerate for target IMediaFrameFormat selection
...
Not only resolution and format, but framerate needs to be checked
for proper target IMediaFrameFormat selection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1478 >
2020-08-01 15:17:05 +00:00
Seungha Yang
3fb8caf635
mfvideosrc: Handle I420/IYUV subtypes for UWP cases
...
Microsoft defines two I420 formats, one is I420, and the other is
IYUV (but both are same, just names are different).
Since both will be converted to GST_VIDEO_FORMAT_I420,
we should check both I420 and IYUV subtypes during
GstVideoFormat to Microsoft's format conversion.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1478 >
2020-08-01 15:17:05 +00:00
Seungha Yang
2303ad7bf4
mfvideosrc: Add more debug log
...
It would be useful for finding the error reason.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1478 >
2020-08-01 15:17:05 +00:00
Seungha Yang
c7da86665f
docs: Update wasapi2 and mfvideosrc doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1480 >
2020-07-31 21:50:22 +09:00
Seungha Yang
fc49886c61
wasapi2, mfvideosrc: Update "dispatcher" property to be only writable
...
Disallow getting dispatcher pointer, since it doesn't seem to be useful
and might not be safe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1480 >
2020-07-31 21:50:16 +09:00
Mathieu Duponchelle
265128e7f7
cccombiner: implement samples selection API
...
Call gst_aggregator_selected_samples() after identifying the
caption buffers that will be added as a meta on the next video
buffer.
Implement GstAggregator.peek_next_sample.
Add an example that demonstrates usage of the new API in
combination with the existing buffer-consumed signal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1390 >
2020-07-30 23:10:33 +00:00