Commit graph

588 commits

Author SHA1 Message Date
fengalin 86812c1a53 MessageBuilder: comment out other_fields related methods until GStreamer v1.14 is released
These methods are commented out in order to maintain consistency between messages with and without arguments. It will be restored and conditioned to feature "v1_14" when GStreamer v1.14 is released.
2018-01-29 10:07:42 +02:00
fengalin 3c65a50076 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-29 10:07:42 +02:00
Charlie Turner b6979f248c Address review comments 2018-01-26 18:18:50 +02:00
Charlie Turner fa1b0e6c4a Document dependency for libgstreamer-plugins-bad1.0-dev 2018-01-26 18:18:50 +02:00
Sebastian Dröge ad219dd171 Remove PAD_PROBE_ID_INVALID and Default impls for PadProbeId and NotifyWatchId
These should never ever be 0, and passing 0 to any of the functions
using them will result in assertions.
2018-01-25 21:06:39 +02:00
Sebastian Dröge fc4ad81777 Change VideoFrameRef::copy_to() and ::copy_plane() to take VideoFrameRefs instead of VideoFrames
VideoFrames can always be converted to a VideoFrameRef if needed.
2018-01-16 18:59:04 +02:00
Sebastian Dröge 4297f8f5c5 Don't implement Copy for VideoRectangle and pass by reference to center_video_rectangle() 2018-01-03 17:38:22 +02:00
Sebastian Dröge 98290bcc55 Update CHANGELOG.md for 0.10.1 2018-01-03 17:08:46 +02:00
Sebastian Dröge 899be5e2c3 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-01 13:47:07 +02:00
Sebastian Dröge a65016bea1 Add gst::Object as parent class of gst_player::Player 2017-12-30 15:34:41 +02:00
Sebastian Dröge 38bd880a74 Add GstVideoFilter bindings
Not very useful, but will be useful for gst-plugin-rs
2017-12-30 15:34:41 +02:00
Sebastian Dröge 6083fb63c2 Add unit test for gst_video::convert_sample_async() 2017-12-30 12:08:48 +02:00
Sebastian Dröge c52da3639a Fix memory leak for gst_video::convert_sample_async()
Values are passed owned to the callback
2017-12-30 12:08:26 +02:00
Sebastian Dröge 65468c1fc8 Add Sample::get_info() and deprecate get_structure()
For consistency with the C API naming.
2017-12-30 12:03:03 +02:00
Sebastian Dröge 4a9cb50670 Add Sample::with_buffer_list() constructor 2017-12-30 12:02:48 +02:00
Sebastian Dröge f47b30b8d1 Add Debug impl for Sample 2017-12-30 12:02:33 +02:00
Sebastian Dröge d44869711a Run video_rectangle.rs through rustfmt 2017-12-26 18:18:13 +01:00
Philippe Normand 1722b047bd gstreamer-video: VideoRectangle bindings 2017-12-26 18:17:30 +01:00
Sebastian Dröge 755982bb38 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:15 +01:00
Sebastian Dröge f4da93aadb Add gst::TagSetter example 2017-12-24 14:49:56 +02:00
Sebastian Dröge 25a8ce4f8d Add bindings for gst_video::convert_sample() and ::convert_sample_async() 2017-12-24 14:30:38 +02:00
Sebastian Dröge c56251d673 Don't require a mutable self for TagSetterExtManual::add()
Like all GObjects, mutation works through interior mutability.
2017-12-23 11:43:09 +02:00
Sebastian Dröge 91d0723c1b Fix documentation links for gstreamer-base/net 2017-12-22 15:35:11 +02:00
Sebastian Dröge 4a5987d03d Update versions to 0.11.0 2017-12-22 15:06:06 +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