Commit graph

1303 commits

Author SHA1 Message Date
Sebastian Dröge
dd745d2f18 Update versions to 0.15.7 2020-06-08 12:58:58 +03:00
Sebastian Dröge
604d58e153 Update CHANGELOG.md for 0.15.7 2020-06-08 12:58:37 +03:00
Sebastian Dröge
d465fa0140 audio: Add bindings for AudioBuffer
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/222
2020-06-08 12:29:16 +03:00
Sebastian Dröge
04a4d0a380 audio: Add bindings for AudioMeta
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/222
2020-06-08 12:23:20 +03:00
Sebastian Dröge
1924d3b222 audio: Add AudioInfo::is_valid() and guard against finfo being NULL when retrieving the audio format 2020-06-08 12:23:20 +03:00
Sebastian Dröge
d6b5126c87 audio: Add bindings for audio_buffer_truncate() 2020-06-08 12:23:20 +03:00
Sebastian Dröge
71bb12564f audio: Move audio_buffer_clip() to functions module 2020-06-08 12:23:20 +03:00
Sebastian Dröge
ed0f1140b8 video: Don't unmap VideoFrameRefs that are just borrowed 2020-06-08 12:23:20 +03:00
Sebastian Dröge
997dad0f11 video: Check that the passed in video info is valid when creating a VideoFrame 2020-06-08 12:23:20 +03:00
Sebastian Dröge
de0f228075 video: Add VideoInfo::is_valid() and guard against finfo being NULL when retrieving the video format 2020-06-08 12:23:20 +03:00
Thiago Sousa Santos
51024345f8 rtp_buffer: wrap more methods
* extension data
* onebyte/twobytes extension
* ssrc
* csrc
* get_payload
2020-06-08 12:23:20 +03:00
jneem
2c4de19067 README.md: Add remark about pkg-config in MSYS2
Mention (and link to) the known issue about the MSYS2 version of pkg-config.
2020-06-08 12:23:20 +03:00
Sebastian Dröge
afe2b18018 gstreamer/iterator: Store filter types in a hash table
Static variables in generic functions only exist once and not once per
type parameter, so before we were only able to register exactly one
filter type.
2020-06-08 12:23:20 +03:00
Sebastian Dröge
0feadec9fe video: Add VideoAffineTransformationMeta, CropMeta and RegionOfInterestMeta
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/218
2020-06-08 12:23:20 +03:00
Sebastian Dröge
06505ad74d gstreamer: Add bindings for ProtectionMeta 2020-06-08 12:11:56 +03:00
Sebastian Dröge
2868bb3033 Update version to 0.15.6 2020-05-28 13:14:03 +03:00
Sebastian Dröge
570c1d014a Update CHANGELOG.md for 0.15.6 2020-05-28 13:13:38 +03:00
Sebastian Dröge
d21953ba66 Add various glib::Value trait impls for borrowed versions of types
For SDPMessageRef, StructureRef and CapsFeatureRef this involves the
conversion from and to a glib::Value. Specifically this means that e.g.
a StructureRef can be retrieved from a glib::Value via borrowing, i.e.
without creating a copy of the structure first.

For all mini objects only retrieval from a glib::Value is implemented as
the other direction would allow to get multiple immutable references
from a mutable reference without borrowing, which is not allowed and
would make it possible to observe a mini object changing while having an
immutable reference to it.
2020-05-27 15:24:08 +03:00
Sebastian Dröge
c2acb000b1 gstreamer/promise: Convert None promise replies to an empty structure in the change_func
webrtcbin likes to put a NULL structure into the reply under some
circumstances when the promise successfully resolved.

See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300
for details.
2020-05-27 15:24:08 +03:00
Sebastian Dröge
8e96888c63 video/videoconverter: Add TryFrom<Structure> and inverse From impl for VideoConverterConfig
Allows converting between both types interchangebly.
2020-05-27 15:24:08 +03:00
Mathieu Duponchelle
487970f620 gstreamer-video: expose caps features 2020-05-27 15:24:08 +03:00
Sebastian Dröge
12063ec83a video: Add bindings for guess_framerate() 2020-05-27 14:51:21 +03:00
Sebastian Dröge
c35a7caf42 video: Add bindings for calculate_display_ratio() 2020-05-27 14:51:21 +03:00
Sebastian Dröge
b9d1669c0d gstreamer/event: Add setter/getter for the gst::Stream in the stream-start event 2020-05-27 14:51:21 +03:00
Sebastian Dröge
122ccafd1a gstreamer/gstreamer-app: Don't store strong references in futures Stream/Sink adapters
This applies to the ones of the appsink, appsrc and bus. If we would
store a strong reference then they would keep alive the underlying
object forever even if their pipeline disappeared in the meantime.

Like this e.g. the bus stream would start returning None once the bus
was destroyed, similar to how other channels are working in Rust.
2020-05-27 14:51:21 +03:00
Sebastian Dröge
215dbe53c6 video: Assert if caption data passed when adding caption metas is empty
It will cause a critical warning otherwise.
2020-05-27 14:51:21 +03:00
Guillaume Desmottes
605898277f gstreamer: caps: add new_from_iter(_with_features)() 2020-05-27 14:51:21 +03:00
Guillaume Desmottes
b724e0c46c gstreamer: structure: add new_from_iter()
Allow to easily create a new Structure from an iterator.

Fix #250
2020-05-27 13:28:42 +03:00
Sebastian Dröge
d623bcdce5 gstreamer: Add Stream::debug() and StreamCollection::debug()
These provide more helpful debug output than just the pointer when
printing.
2020-05-27 13:28:22 +03:00
Sebastian Dröge
43e7f9f589 Update version to 0.15.5 2020-05-03 09:52:04 +03:00
Sebastian Dröge
4a8b904c6c Update CHANGELOG.md for 0.15.5 2020-05-03 09:51:01 +03:00
Sebastian Dröge
a1fbb359ea rtsp-server: Use log() instead of log_with_object() for now in the 0.15 branch
See 8077b7ac82
2020-04-30 11:22:11 +03:00
Sebastian Dröge
451c198cec Run everything through cargo fmt again 2020-04-30 11:01:25 +03:00
Guillaume Desmottes
ef012b9445 rtp: add dox feature 2020-04-30 10:59:16 +03:00
alleynb
923daa04b9 tutorials/tutorial-6: Improve caps output
Fixed printing of pad capabilites in tutorial6.
Output now displays the capability lists eg:
  layout:{ (string)interleaved, (string)non-interleaved }

The origional broken output was being displayed as:
  layout:SendValue(Value(GString(Foreign(0x557140c99d00, 40))))
2020-04-30 10:58:52 +03:00
Sebastian Dröge
774281a0c9 gstreamer: Add some API to calculate the next state convert state changes into their component states and back 2020-04-30 10:58:34 +03:00
Guillaume Gomez
fdf56b1235 gstreamer*: Add missing manual traits 2020-04-30 10:57:26 +03:00
Sebastian Dröge
d23d313b39 gstreamer: Add Element::get_current_clock_time() and ::get_current_running_time()
This was added in GStreamer 1.18 but we can easily implement it
ourselves here for the time being and for older versions.
2020-04-30 10:57:12 +03:00
Sebastian Dröge
c8ac89ec2b gstreamer-audio: Simplify audio clipping meta test a bit 2020-04-30 10:57:03 +03:00
Sebastian Dröge
96c83bc0e6 gstreamer: Add bindings for Plugin::get_plugin_name()
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/248
2020-04-30 10:57:03 +03:00
Sebastian Dröge
26beed7277 gstreamer-audio: Follow-up commit for updating audio clipping meta tests 2020-04-30 10:57:03 +03:00
Andrew Eikum
d9a06b31de gstreamer-audio: Add support for GstAudioClippingMeta 2020-04-30 10:57:03 +03:00
Sebastian Dröge
5479b23eb9 Use mem::ManuallyDrop instead of mem::forget() everywhere
It makes the intentions clearer and potentially results in simpler
assembly, at least in debug builds.
2020-04-30 10:56:38 +03:00
Sebastian Dröge
973ac7344e gstreamer/buffer: Add tests for various memory related buffer API 2020-04-30 10:56:20 +03:00
Sebastian Dröge
2bbfbb5842 gstreamer/buffer: Add iterators for iterating over the memories inside a buffer
With immutable, mutable and owned variant.
2020-04-30 10:56:13 +03:00
Sebastian Dröge
0749250743 gstreamer/buffer: Add BufferRef::peek_memory_mut() function
This gives a mutable reference to the given memory and fails if the
memory is not actually writable.
2020-04-30 10:56:02 +03:00
Sebastian Dröge
e8c5f5fb6b gstreamer/log: Replace % with %% in the debug message
Otherwise gst_debug_log() will look for further arguments that don't
exist, and will likely crash or worse.
2020-04-30 10:54:09 +03:00
Sebastian Dröge
8077b7ac82 Revert "gstreamer/log: Allow any glib::Object as target for logging"
This reverts commit 67e6afc628.

Unfortunately this breaks the API due to how subclassing is modeled in
the GObject bindings.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/251
2020-04-30 10:19:55 +03:00
Sebastian Dröge
ef77a5ae92 Update versions to 0.15.4 2020-03-09 23:01:42 +02:00
Sebastian Dröge
079095b55c Update CHANGELOG.md for 0.15.4 2020-03-09 23:01:42 +02:00