Commit graph

487 commits

Author SHA1 Message Date
Sebastian Dröge
8c54d21066 Add getters for the BaseSrc/Sink/Transform configured segment 2018-02-18 22:54:20 +01:00
fengalin
658be807c1 Fix building argument-less messages
Building an argument-less message such as eos yields an assertion failure due to the inner structure being null. The short term solution consists in checking that the inner `structure` is not `null` before attempting to insert `other_fields`. The consequence is that `others_fields` defined for argument-less messages will be ignored. A correction will be applied when GStreamer 1.14 is released thank to the introduction of `gst_message_writable_structure` (see https://bugzilla.gnome.org/show_bug.cgi?id=792928). Due to the dependency on GStreamer 1.14, the correction will be only available under the activation of a feature "v1_14".

Events are not affected as the build method the availability of `gst_event_writable_structure` and this function "will never return NULL". However, we can avoid a `structure` allocation for argument-less messages without `other_fields`.
2018-01-30 09:57:09 +02:00
Charlie Turner
7fe2216daf Document dependency for libgstreamer-plugins-bad1.0-dev 2018-01-30 09:56:35 +02:00
Sebastian Dröge
1294c28058 Add VideoFrameRef::copy_to_ref() and ::copy_plane_to_ref()
These take a VideoFrameRef instead of a VideoFrame as destination. Next
time we break API, the existing ::copy() and ::copy_plane() functions
should be modified.
2018-01-16 18:55:25 +02:00
Sebastian Dröge
7a779fe940 Don't implement Copy for VideoRectangle and pass by reference to center_video_rectangle() 2018-01-03 17:37:54 +02:00
Sebastian Dröge
24b263acef Update version to 0.10.1 2018-01-03 17:08:21 +02:00
Sebastian Dröge
97097554e7 Update CHANGELOG.md for 0.10.1 2018-01-03 17:08:10 +02:00
Sebastian Dröge
0dd0442fb7 Add VideoFrameRef API
This is like VideoFrame, but can work on gst::BufferRefs and borrows
from it. VideoFrames can be converted into this by borrowing.
2018-01-03 16:54:45 +02:00
Sebastian Dröge
a8c2815c3b Add GstVideoFilter bindings
Not very useful, but will be useful for gst-plugin-rs
2017-12-30 15:35:53 +02:00
Sebastian Dröge
1898599c42 Add gst::Object as parent class of gst_player::Player 2017-12-30 15:35:13 +02:00
Sebastian Dröge
c71623591a Add unit test for gst_video::convert_sample_async() 2017-12-30 15:25:12 +02:00
Sebastian Dröge
7508184557 Fix memory leak for gst_video::convert_sample_async()
Values are passed owned to the callback
2017-12-30 15:25:12 +02:00
Sebastian Dröge
9a63eb6353 Add Sample::get_info() and deprecate get_structure()
For consistency with the C API naming.
2017-12-30 15:25:12 +02:00
Sebastian Dröge
9ba69ad93b Add Sample::with_buffer_list() constructor 2017-12-30 15:25:12 +02:00
Sebastian Dröge
1f0947cda0 Add Debug impl for Sample 2017-12-30 15:25:12 +02:00
Sebastian Dröge
950e5dbc32 Run video_rectangle.rs through rustfmt 2017-12-30 15:25:12 +02:00
Philippe Normand
4ce1221ef4 gstreamer-video: VideoRectangle bindings 2017-12-30 15:25:12 +02:00
Sebastian Dröge
4b71d65283 Add gst::TagSetter example 2017-12-30 15:25:12 +02:00
Sebastian Dröge
93723026eb Add bindings for gst_video::convert_sample() and ::convert_sample_async() 2017-12-30 15:25:12 +02:00
Sebastian Dröge
f2ef2b6bea Correctly mark Stream and StreamType as requiring version 1.10 at least
Should fix https://github.com/sdroege/gstreamer-rs/issues/68
2017-12-26 18:13:57 +01:00
Sebastian Dröge
9321f31d0a Don't require a mutable self for TagSetterExtManual::add()
Like all GObjects, mutation works through interior mutability.
2017-12-23 11:43:52 +02:00
Sebastian Dröge
74527fe9d8 Fix documentation links for gstreamer-base/net 2017-12-22 15:34:21 +02:00
Sebastian Dröge
85f44a0479 Update versions of all dependencies and point to releases instead of GIT 2017-12-22 14:57:27 +02:00
Sebastian Dröge
95562b8d22 Update CHANGELOG.md for 0.10.0 2017-12-22 14:44:24 +02:00
Sebastian Dröge
7642441d58 Update documentation 2017-12-22 13:37:28 +02:00
Sebastian Dröge
9b6efb2339 Fix various clippy warnings 2017-12-20 21:46:58 +02:00
Sebastian Dröge
15ea81e473 Derive Clone on ErrorMessage 2017-12-20 20:08:00 +02:00
Sebastian Dröge
9066cf0634 Add ErrorMessage type
This can be used to propagate an element error via a Result until the
place where it can be actually posted on an element.
2017-12-20 20:00:05 +02:00
Sebastian Dröge
e0dc84c10a Run everything through rustfmt again 2017-12-20 19:30:14 +02:00
Sebastian Dröge
f439f14ec3 SystemClock::set_default() can accept None 2017-12-20 18:57:16 +02:00
Sebastian Dröge
95c9f92549 Add StreamCollection::iter() 2017-12-20 18:54:56 +02:00
Sebastian Dröge
67a46b3bf5 Most Preset functions that return a bool signal an error with this, use a Result 2017-12-20 18:47:04 +02:00
Sebastian Dröge
f2729fb730 Preset::set_app_dir() returning false is an error, make it a Result 2017-12-20 18:44:57 +02:00
Sebastian Dröge
d182584c25 Object::set_name() should not accept NULL 2017-12-20 18:35:41 +02:00
Sebastian Dröge
55c8cf69f3 update_registry() returning false is not an error
It means that there were no changes.
2017-12-20 18:22:30 +02:00
Sebastian Dröge
e34212d517 parse_bin_from_description() return value is not nullable, except for errors 2017-12-20 18:22:30 +02:00
Sebastian Dröge
210119d9aa Element::set_clock() allows None for the clock parameter 2017-12-20 18:22:30 +02:00
Sebastian Dröge
6d7acd200d Element::set_bus() allows None for the bus parameter 2017-12-20 18:10:50 +02:00
Sebastian Dröge
241bb823d5 Element::link_pads_full() should return a Result instead of a bool 2017-12-20 18:07:55 +02:00
Sebastian Dröge
e2970db84c Failure to post a message is an error, so return a Result instead of a bool 2017-12-20 18:07:28 +02:00
Sebastian Dröge
6d8cfa5de0 Add support for TypeFind and implement Ord on Rank and TypeFindProbability
Fixes https://github.com/sdroege/gstreamer-rs/issues/11
2017-12-19 19:14:12 +02:00
Sebastian Dröge
917255de89 Add typefind helper bindings 2017-12-18 10:05:42 +02:00
Sebastian Dröge
12ee7358e3 Add bindings for TypeFindFactory 2017-12-18 09:53:08 +02:00
Sebastian Dröge
5dd89d01e2 DeviceMonitor/Provider::start() should return a Result 2017-12-18 09:49:15 +02:00
Sebastian Dröge
48958d381e Implement Sync for DateTime
It's immutable.
2017-12-18 09:42:27 +02:00
Sebastian Dröge
9223386750 Remove clock parameter from Clock::(un)adjust_with_calibration()
It's useless and not used.
2017-12-18 09:39:37 +02:00
Sebastian Dröge
9a7ede1dcc Bus::add_signal_watch_full() should take a Priority, not u32 for the priority 2017-12-18 09:39:14 +02:00
Sebastian Dröge
49627b8de7 Various nullability fixes everywhere and hide enum->string functions 2017-12-17 18:29:22 +02:00
Sebastian Dröge
5108c941ed Various nullability fixes to plugin bindings, and add add_dependency() API
Also fix structure ownership for the cache data API
2017-12-17 14:26:17 +02:00
Sebastian Dröge
4b2fd0e593 Require SendValue for value::Array and value::List 2017-12-17 14:06:22 +02:00