Anders Hellerup Madsen
2a00236a1f
video: extract common videoframe methods to trait
...
In preparation to make a more specialized VideoFrameGL this extracts
common helper functions valid for all VideoFrames into a trait that can
be implemented without too much code duplication.
Note that this is a breaking change, now VideoFrame and VideoFrameRef
cannot really be used without include the gst_video prelude.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:54 +02:00
Sebastian Dröge
51075c71f6
examples: Update to memmap2 0.8
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1311 >
2023-09-25 13:31:46 +03:00
Sebastian Dröge
4976e4ac4b
examples: Update to windows 0.51
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1305 >
2023-08-16 20:02:24 +09:00
Sebastian Dröge
13835a9f03
examples: Update to uds 0.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1305 >
2023-08-16 12:35:19 +03:00
Sebastian Dröge
a7be931474
Update versions to 0.22.0
2023-08-08 19:47:55 +03:00
Kourosh Firoozbakht
1e2e57836f
examples: fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1300 >
2023-07-26 01:42:02 +00:00
Sebastian Dröge
2abf75122d
Update minimum supported Rust version to 1.70
...
gtk-rs will update soonish too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 09:24:10 +03:00
Sebastian Dröge
89ab9d09c8
Remove GTK3 examples/tutorials
...
GTK3 is deprecated and the GTK videooverlay example does not even work
on modern systems with Wayland anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 17:25:28 +03:00
Bilal Elmoussaoui
f9fa7f55fc
Use re-exported once_cell
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 16:50:35 +03:00
Bilal Elmoussaoui
b156ba2c59
Adapt to glib::Continue rename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 16:50:35 +03:00
Sebastian Dröge
7c67375d99
examples: Reduce dependencies of the thumbnail example
...
Instead of depending on libraries for every possible image format,
depend only on the JPEG and PNG libraries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1281 >
2023-06-26 14:14:45 +03:00
Sebastian Dröge
b59680f437
Update to cocoa 0.25
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1281 >
2023-06-26 14:00:54 +03:00
Sebastian Dröge
d72884685a
examples: Update to memmap2 0.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1275 >
2023-06-12 13:22:28 +03:00
Daniel Pendse
2becc79dfb
rtsp-server: Add RTSPContext uri getter
...
Add uri getter from RTSPContext
Fix #469
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1271 >
2023-06-05 10:41:59 +02:00
Sebastian Dröge
b6919d7c99
examples: Update for DiscovererStreamInfo::stream_id()
being nullable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1266 >
2023-05-22 12:17:13 +03:00
Sebastian Dröge
ccf3b57a8b
examples: Update to memmap2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1262 >
2023-05-12 09:44:03 +03:00
Johan Sternerup
e026d922e4
gstreamr: bus: Add BusWatchGuard to automatically remove watch
...
Previously, with add_watch()/add_watch_local() you had to remember
calling remove_watch() in order not to leak the bus, the watch source
and two associated file descriptors. Now these methods instead return an
object of type BusWatchGuard that will automatically remove the bus
watch when the object is dropped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1248 >
2023-04-14 11:53:41 +03:00
Guillaume Desmottes
e75391139c
fix typos in comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246 >
2023-04-07 17:09:48 +02:00
Seungha Yang
6cb19c1f18
examples: Add Direct2D/DirectWrite text rendering example
...
Similar to overlay-composition example but for Direct2D/DirectWrite
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1206 >
2023-04-04 09:09:18 +00:00
Sebastian Dröge
81a5f25f81
examples: Update to windows 0.48
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1241 >
2023-04-01 12:00:53 +03:00
Sebastian Dröge
a7131fc051
examples: Update to windows 0.47
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1240 >
2023-03-31 11:50:51 +03:00
Sebastian Dröge
6d3c9d931b
examples: Update to windows 0.46
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1239 >
2023-03-14 11:24:08 +00:00
Guillaume Desmottes
01d3cef73e
gstreamer: element: more generic (un)link_many() API
...
No longer enforces to pass an array of references.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1230 >
2023-03-09 14:27:25 +00:00
Guillaume Desmottes
c4a968a403
gstreamer: bin: more generic {add,remove}_many() API
...
No longer enforces to pass an array of references.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1230 >
2023-03-09 14:27:25 +00:00
Ruben Gonzalez
0b922b0e89
examples: zoom effect with compositor and navigations events
...
Use can change the video player zoom using the next keys:
* +: Zoom in
* -: Zoom out
* Up/Down/Right/Left: Move the frame
* r: reset the zoom
Also mouse navigation events can be used for a better UX.
Furthermore, it works with an pipeline using other video compositor
filters like glvideomixer. For instance:
glvideomixer \
name=mix background=1 \
sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 \
sink_0::width={WIDTH} sink_0::height={HEIGHT} \
! glimagesinkelement \
gltestsrc pattern=mandelbrot name=src \
! video/x-raw(memory:GLMemory),framerate=30/1,width={WIDTH},height={HEIGHT},pixel-aspect-ratio=1/1 \
! queue \
! mix.sink_0
Probe was added in the sink pad to get direct navigation events w/o
transformation done by the mixer. More info about it in the PR [1].
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1217 >
2023-02-22 20:41:06 +01:00
Sebastian Dröge
b6e253acbf
Update minimum supported Rust version to 1.66
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223 >
2023-02-20 10:42:07 +02:00
Sebastian Dröge
13140d8b8a
Update versions to 0.21.0
2023-02-09 23:42:32 +02:00
Sebastian Dröge
00281e98f0
gstreamer: Rename TagSetter::add()
to TagSetter::add_tag()
to not conflict with Bin::add()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/440
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1211 >
2023-02-04 16:44:40 +02:00
Sebastian Dröge
478606e44c
Use glib::Object::new()
instead of new_default()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1209 >
2023-01-31 12:05:53 +02:00
Sebastian Dröge
a7f670df7a
Return exit code from gio::Application::run()
from main()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1208 >
2023-01-27 19:02:03 +02:00
Sebastian Dröge
f24b38470b
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1203 >
2023-01-25 10:18:33 +02:00
Seungha Yang
8ef4420257
examples: d3d11videosink: Update for windows crate v0.44
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1197 >
2023-01-23 03:01:17 +09:00
Sebastian Dröge
d5e24b9fbd
Update various object construction functions to more efficient approaches
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1196 >
2023-01-22 09:48:51 +02:00
Sebastian Dröge
003554876c
Update various APIs to use glib::GStr
...
Currently only covers what is needed to keep code compiling, plus
everything caps/structure/tags related.
This avoids unnecessary heap allocations for adding the NUL-terminator
of C strings, and especially makes caps/structure handling as efficient
as in C.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1190 >
2023-01-15 21:05:57 +02:00
Sebastian Dröge
277d63601c
gstreamer: Return glib::GString
for the error/warning/info message debug string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1184 >
2023-01-06 10:41:55 +02:00
Sebastian Dröge
8d30bcbf4b
Use IntoGlibPtr
trait instead of to_glib_full()
where appropriate to reduce unnecessary refcounting/copying
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
1e793f3b65
gstreamer: Return some values by reference instead
...
Less refcounting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
32a608b76b
examples: Fix for API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:26:07 +02:00
Sebastian Dröge
567ce0a3bf
Group and merge imports in all manual code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Seungha Yang
b4d3bf297e
examples: Add d3d11videosink example with Direct2D/DirectWrite interop
...
Demonstartes the use of d3d11videosink's present signal
introduced in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923
with Direct2D/DirectWrite API interop using the windows crate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1089 >
2022-12-28 11:20:51 +00:00
Sebastian Dröge
3d0f563111
Update minimum supported Rust version to 1.64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175 >
2022-12-25 14:54:38 +02:00
Jordan Petridis
141a71d69e
ci: Avoid building examples with --all-features
...
--all-features ends up enabling the windows and trying to compile
the d3d example, which can't be built on linux.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175 >
2022-12-25 13:25:30 +02:00
Sebastian Dröge
e3ad1918dc
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1164 >
2022-12-13 11:29:45 +02:00
Sebastian Dröge
01e24d2018
Fix various new clippy warnings
2022-11-01 11:10:57 +02:00
Sebastian Dröge
951f000622
examples: glupload: Set sync point on the GL buffer as soon as possible
...
And also add API for getting the GL context from a `GLBaseMemory`.
2022-10-25 06:51:39 +00:00
Sebastian Dröge
c6cbf86012
examples: glupload: Fix iterating over elements inside glsinkbin
...
Some elements might not have a factory so handle this gracefully instead
of erroring out.
2022-10-25 06:51:39 +00:00
Sebastian Dröge
90b8ee2022
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:06:44 +03:00
Sebastian Dröge
031133c179
Update versions to 0.20.0
2022-10-22 20:27:42 +03:00
Sebastian Dröge
a1165a7456
gstreamer: Add bin/pipeline builders
...
And also implement the Default trait for them.
2022-10-22 17:36:36 +03:00
Sebastian Dröge
2a4e1069a1
app: Add an AppSrc/AppSink builder
...
These allows to construct these elements explicitly together with all the
properties instead of going via gst::ElementFactory::make().
2022-10-22 10:19:49 +03:00