From 532af96ef92517aae41cbfa06f7c2ce86887786d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= Date: Sun, 4 Apr 2021 16:17:35 +0200 Subject: [PATCH] Gir.toml: use TryFromGlib::Option for ClockTime --- gstreamer-app/Gir.toml | 2 +- gstreamer-audio/Gir.toml | 121 +++++++++++++++++++++++- gstreamer-base/Gir.toml | 59 +++++++++++- gstreamer-check/Gir.toml | 19 +++- gstreamer-controller/Gir.toml | 19 +++- gstreamer-editing-services/Gir.toml | 68 ++++++++++++-- gstreamer-net/Gir.toml | 2 +- gstreamer-pbutils/Gir.toml | 8 +- gstreamer-player/Gir.toml | 8 +- gstreamer-rtsp-server/Gir.toml | 2 +- gstreamer-rtsp/Gir.toml | 2 +- gstreamer-video/Gir.toml | 2 +- gstreamer/Gir.toml | 139 +++++++++++++++++++++++++++- 13 files changed, 428 insertions(+), 23 deletions(-) diff --git a/gstreamer-app/Gir.toml b/gstreamer-app/Gir.toml index dac2e138b..70ef176bb 100644 --- a/gstreamer-app/Gir.toml +++ b/gstreamer-app/Gir.toml @@ -217,4 +217,4 @@ ref_mode = "ref" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" diff --git a/gstreamer-audio/Gir.toml b/gstreamer-audio/Gir.toml index a41b739b0..29556ff69 100644 --- a/gstreamer-audio/Gir.toml +++ b/gstreamer-audio/Gir.toml @@ -27,7 +27,6 @@ generate = [ "GstAudio.StreamVolumeFormat", "GstAudio.AudioSink", "GstAudio.AudioSrc", - "GstAudio.AudioBaseSink", "GstAudio.AudioBaseSrc", ] @@ -69,7 +68,33 @@ ref_mode = "ref" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" + +[[object]] +name = "GstAudio.AudioBaseSink" +status = "generate" + + [[object.function]] + name = "get_alignment_threshold" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_discont_wait" + [object.function.return] + mandatory = true + + [[object.function]] + name = "set_alignment_threshold" + [[object.function.parameter]] + name = "alignment_threshold" + mandatory = true + + [[object.function]] + name = "set_discont_wait" + [[object.function.parameter]] + name = "discont_wait" + mandatory = true [[object]] name = "GstAudio.AudioBuffer" @@ -191,6 +216,43 @@ status = "generate" # bool does not signal error manual = true + [[object.function]] + pattern = "get_.*" + [[object.function.parameter]] + name = "align" + const = true + + [[object.function]] + name = "new" + [[object.function.parameter]] + name = "alignment_threshold" + mandatory = true + [[object.function.parameter]] + name = "discont_wait" + mandatory = true + + [[object.function]] + name = "get_alignment_threshold" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_discont_wait" + [object.function.return] + mandatory = true + + [[object.function]] + name = "set_alignment_threshold" + [[object.function.parameter]] + name = "alignment_threshold" + mandatory = true + + [[object.function]] + name = "set_discont_wait" + [[object.function.parameter]] + name = "discont_wait" + mandatory = true + [[object]] name = "GstAudio.AudioDecoder" status = "generate" @@ -204,10 +266,38 @@ manual_traits = ["AudioDecoderExtManual"] name = "finish_subframe" manual = true + [[object.function]] + name = "get_latency" + [[object.function.parameter]] + name = "min" + mandatory = true + + [[object.function]] + name = "get_min_latency" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_tolerance" + [object.function.return] + mandatory = true + [[object.function]] name = "negotiate" manual = true + [[object.function]] + name = "set_latency" + [[object.function.parameter]] + name = "min" + mandatory = true + + [[object.function]] + name = "set_min_latency" + [[object.function.parameter]] + name = "num" + mandatory = true + [[object.function]] name = "set_output_caps" manual = true @@ -216,6 +306,12 @@ manual_traits = ["AudioDecoderExtManual"] name = "set_output_format" manual = true + [[object.function]] + name = "set_tolerance" + [[object.function.parameter]] + name = "tolerance" + mandatory = true + [[object.function]] name = "get_allocator" manual = true @@ -253,13 +349,32 @@ manual_traits = ["AudioEncoderExtManual"] [[object.function]] name = "get_latency" - manual = true + [[object.function.parameter]] + name = "min" + mandatory = true + + [[object.function]] + name = "get_tolerance" + [object.function.return] + mandatory = true [[object.function]] name = "proxy_getcaps" [object.function.return] nullable = false + [[object.function]] + name = "set_latency" + [[object.function.parameter]] + name = "min" + mandatory = true + + [[object.function]] + name = "set_tolerance" + [[object.function.parameter]] + name = "tolerance" + mandatory = true + [[object.function]] name = "allocate_output_buffer" [object.function.return] diff --git a/gstreamer-base/Gir.toml b/gstreamer-base/Gir.toml index 467f171a5..57807e98c 100644 --- a/gstreamer-base/Gir.toml +++ b/gstreamer-base/Gir.toml @@ -118,6 +118,21 @@ name = "GstBase.BaseSink" status = "generate" manual_traits = ["BaseSinkExtManual"] + [[object.function]] + name = "get_latency" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_processing_deadline" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_render_delay" + [object.function.return] + mandatory = true + [[object.function]] name = "query_latency" # Use Result @@ -157,6 +172,24 @@ manual_traits = ["BaseSinkExtManual"] name = "get_drop_out_of_segment" rename = "drops_out_of_segment" + [[object.function]] + name = "set_processing_deadline" + [[object.function.parameter]] + name = "processing_deadline" + mandatory = true + + [[object.function]] + name = "set_render_delay" + [[object.function.parameter]] + name = "delay" + mandatory = true + + [[object.function]] + name = "wait_clock" + [[object.function.parameter]] + name = "time" + mandatory = true + [[object]] name = "GstBase.BaseSrc" status = "generate" @@ -195,6 +228,12 @@ manual_traits = ["BaseTransformExtManual"] name = "get_allocator" manual = true + [[object.function]] + name = "update_qos" + [[object.function.parameter]] + name = "timestamp" + mandatory = true + [[object.function]] name = "update_src_caps" [object.function.return] @@ -239,6 +278,12 @@ manual_traits = ["AggregatorExtManual"] # Info parameter manual = true + [[object.function]] + name = "set_latency" + [[object.function.parameter]] + name = "min_latency" + mandatory = true + [[object.property]] name = "latency" version = "1.14" @@ -328,7 +373,7 @@ ref_mode = "ref" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "Gst.TagList" @@ -339,6 +384,12 @@ ref_mode = "ref" name = "GstBase.BaseParse" status = "generate" manual_traits = ["BaseParseExtManual"] + [[object.function]] + name = "add_index_entry" + [[object.function.parameter]] + name = "ts" + mandatory = true + [[object.function]] name = "finish_frame" manual = true @@ -347,6 +398,12 @@ manual_traits = ["BaseParseExtManual"] name = "set_duration" manual = true + [[object.function]] + name = "set_latency" + [[object.function.parameter]] + name = "min_latency" + mandatory = true + [[object.function]] name = "convert_default" manual = true diff --git a/gstreamer-check/Gir.toml b/gstreamer-check/Gir.toml index 19f096c1a..42dcf1b92 100644 --- a/gstreamer-check/Gir.toml +++ b/gstreamer-check/Gir.toml @@ -60,12 +60,29 @@ status = "manual" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "GstCheck.TestClock" status = "generate" final_type = true + [[object.function]] + name = "get_next_entry_time" + [object.function.return] + mandatory = true + + [[object.function]] + name = "new_with_start_time" + [[object.function.parameter]] + name = "start_time" + mandatory = true + + [[object.function]] + name = "set_time" + [[object.function.parameter]] + name = "new_time" + mandatory = true + [[object.function]] name = "has_id" manual = true diff --git a/gstreamer-controller/Gir.toml b/gstreamer-controller/Gir.toml index 50846d57b..65e84a1de 100644 --- a/gstreamer-controller/Gir.toml +++ b/gstreamer-controller/Gir.toml @@ -21,7 +21,6 @@ generate = [ "GstController.InterpolationControlSource", "GstController.LFOControlSource", "GstController.ProxyControlBinding", - "GstController.TimedValueControlSource", "GstController.TriggerControlSource", "GstController.DirectControlBindingConvertValue", "GstController.DirectControlBindingConvertGValue", @@ -39,5 +38,21 @@ manual = [ [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" + +[[object]] +name = "GstController.TimedValueControlSource" +status = "generate" + + [[object.function]] + name = "set" + [[object.function.parameter]] + name = "timestamp" + mandatory = true + + [[object.function]] + name = "unset" + [[object.function.parameter]] + name = "timestamp" + mandatory = true diff --git a/gstreamer-editing-services/Gir.toml b/gstreamer-editing-services/Gir.toml index a0ef66be6..fdfb71285 100644 --- a/gstreamer-editing-services/Gir.toml +++ b/gstreamer-editing-services/Gir.toml @@ -94,7 +94,7 @@ ref_mode = "ref" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "GES.BaseEffect" @@ -130,6 +130,17 @@ status = "generate" [object.function.return] nullable = false + [[object.function]] + name = "get_duration" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_frame_at" + [[object.function.parameter]] + name = "timestamp" + mandatory = true + [[object.function]] name = "load_from_uri" [object.function.return] @@ -155,6 +166,12 @@ status = "generate" [object.function.return] bool_return_is_error = "Failed to move layer" + [[object.function]] + name = "paste_element" + [[object.function.parameter]] + name = "position" + mandatory = true + [[object.function]] name = "remove_track" [object.function.return] @@ -233,6 +250,11 @@ status = "generate" [[object]] name = "GES.Clip" status = "generate" + [[object.function]] + name = "get_duration_limit" + [object.function.return] + mandatory = true + [[object.function]] name = "move_to_layer" [object.function.return] @@ -290,6 +312,11 @@ status = "generate" [object.function.return] bool_return_is_error = "Failed to add clip" + [[object.function]] + name = "get_duration" + [object.function.return] + mandatory = true + [[object.function]] name = "remove_clip" [object.function.return] @@ -317,26 +344,57 @@ status = "generate" name = "GES.TimelineElement" status = "generate" manual_traits = ["TimelineElementExtManual"] + [[object.function]] + name = "get_duration" + [object.function.return] + mandatory = true + + [[object.function]] + name = "paste" + [[object.function.parameter]] + name = "paste_position" + mandatory = true + [object.function.return] + nullable_return_is_error = "Failed to paste timeline element" + [[object.function]] name = "ripple" + [[object.function.parameter]] + name = "start" + mandatory = true [object.function.return] bool_return_is_error = "Failed to ripple" [[object.function]] name = "ripple_end" + [[object.function.parameter]] + name = "end" + mandatory = true [object.function.return] bool_return_is_error = "Failed to ripple" [[object.function]] name = "roll_end" + [[object.function.parameter]] + name = "end" + mandatory = true [object.function.return] bool_return_is_error = "Failed to roll" [[object.function]] name = "roll_start" + [[object.function.parameter]] + name = "start" + mandatory = true [object.function.return] bool_return_is_error = "Failed to roll" + [[object.function]] + name = "set_inpoint" + [[object.function.parameter]] + name = "inpoint" + mandatory = true + [[object.function]] name = "set_name" [object.function.return] @@ -359,6 +417,9 @@ manual_traits = ["TimelineElementExtManual"] [[object.function]] name = "trim" + [[object.function.parameter]] + name = "start" + mandatory = true [object.function.return] bool_return_is_error = "Failed to trim" @@ -367,11 +428,6 @@ manual_traits = ["TimelineElementExtManual"] [object.function.return] nullable_return_is_error = "Failed to copy timeline element" - [[object.function]] - name = "paste" - [object.function.return] - nullable_return_is_error = "Failed to paste timeline element" - [[object]] name = "GES.TrackElement" status = "generate" diff --git a/gstreamer-net/Gir.toml b/gstreamer-net/Gir.toml index 0e92e676f..1246fa5ed 100644 --- a/gstreamer-net/Gir.toml +++ b/gstreamer-net/Gir.toml @@ -32,7 +32,7 @@ manual = [ [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "GstNet.NtpClock" diff --git a/gstreamer-pbutils/Gir.toml b/gstreamer-pbutils/Gir.toml index fe660dc30..1bece0698 100644 --- a/gstreamer-pbutils/Gir.toml +++ b/gstreamer-pbutils/Gir.toml @@ -71,7 +71,7 @@ ref_mode = "ref" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "GstPbutils.Discoverer" @@ -83,6 +83,12 @@ final_type = true [object.function.return] bool_return_is_error = "Failed to add URI to list of discovers" + [[object.function]] + name = "new" + [[object.function.parameter]] + name = "timeout" + mandatory = true + # Manually implemented to use ClockTime [[object.property]] name = "timeout" diff --git a/gstreamer-player/Gir.toml b/gstreamer-player/Gir.toml index 60e87eef1..fc833525e 100644 --- a/gstreamer-player/Gir.toml +++ b/gstreamer-player/Gir.toml @@ -90,6 +90,12 @@ final_type = true [object.function.return] nullable = false + [[object.function]] + name = "seek" + [[object.function.parameter]] + name = "position" + mandatory = true + [[object.function]] name = "set_audio_track" [object.function.return] @@ -256,4 +262,4 @@ final_type = true [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" diff --git a/gstreamer-rtsp-server/Gir.toml b/gstreamer-rtsp-server/Gir.toml index e9f654db1..ca4aa9415 100644 --- a/gstreamer-rtsp-server/Gir.toml +++ b/gstreamer-rtsp-server/Gir.toml @@ -121,7 +121,7 @@ ref_mode = "ref" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "GstRtspServer.RTSPServer" diff --git a/gstreamer-rtsp/Gir.toml b/gstreamer-rtsp/Gir.toml index c37963399..08eabb0e5 100644 --- a/gstreamer-rtsp/Gir.toml +++ b/gstreamer-rtsp/Gir.toml @@ -51,7 +51,7 @@ version = "1.12" [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "Gst.Caps" diff --git a/gstreamer-video/Gir.toml b/gstreamer-video/Gir.toml index 997972589..2532a4ec5 100644 --- a/gstreamer-video/Gir.toml +++ b/gstreamer-video/Gir.toml @@ -75,7 +75,7 @@ manual = [ [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "Gst.Caps" diff --git a/gstreamer/Gir.toml b/gstreamer/Gir.toml index ee636b37c..20b795b03 100644 --- a/gstreamer/Gir.toml +++ b/gstreamer/Gir.toml @@ -254,7 +254,7 @@ manual_traits = ["ChildProxyExtManual"] [[object]] name = "Gst.ClockTime" status = "manual" -conversion_type = "scalar" +conversion_type = "Option" [[object]] name = "Gst.ClockFlags" @@ -646,6 +646,16 @@ ref_mode = "ref" [[object]] name = "Gst.Pipeline" status = "generate" + [[object.function]] + name = "get_delay" + [object.function.return] + mandatory = true + + [[object.function]] + name = "set_delay" + [[object.function.parameter]] + name = "delay" + mandatory = true [[object]] name = "Gst.Promise" @@ -686,11 +696,101 @@ manual_traits = ["ClockExtManual"] name = "single_shot_id_reinit" manual = true + [[object.function]] + name = "add_observation" + [[object.function.parameter]] + name = "slave" + mandatory = true + [[object.function.parameter]] + name = "master" + mandatory = true + + [[object.function]] + name = "add_observation_unapplied" + [[object.function.parameter]] + name = "slave" + mandatory = true + [[object.function.parameter]] + name = "master" + mandatory = true + [[object.function.parameter]] + name = "internal" + mandatory = true + [[object.function.parameter]] + name = "external" + mandatory = true + [[object.function.parameter]] + name = "rate_num" + mandatory = true + [[object.function.parameter]] + name = "rate_denom" + mandatory = true + + [[object.function]] + name = "adjust_unlocked" + [[object.function.parameter]] + name = "internal" + mandatory = true + + [[object.function]] + name = "get_calibration" + [[object.function.parameter]] + name = "internal" + mandatory = true + [[object.function.parameter]] + name = "external" + mandatory = true + [[object.function.parameter]] + name = "rate_num" + mandatory = true + [[object.function.parameter]] + name = "rate_denom" + mandatory = true + + [[object.function]] + name = "get_internal_time" + [object.function.return] + mandatory = true + + [[object.function]] + name = "get_resolution" + [object.function.return] + mandatory = true + + [[object.function]] + name = "set_calibration" + [[object.function.parameter]] + name = "internal" + mandatory = true + [[object.function.parameter]] + name = "external" + mandatory = true + [[object.function.parameter]] + name = "rate_num" + mandatory = true + [[object.function.parameter]] + name = "rate_denom" + mandatory = true + [[object.function]] name = "set_master" [object.function.return] bool_return_is_error = "Failed to set master clock" + [[object.function]] + name = "set_resolution" + [[object.function.parameter]] + name = "resolution" + mandatory = true + [object.function.return] + mandatory = true + + [[object.function]] + name = "unadjust_unlocked" + [[object.function.parameter]] + name = "external" + mandatory = true + [[object.function]] name = "wait_for_sync" [object.function.return] @@ -739,6 +839,12 @@ manual_traits = ["ElementExtManual"] # more specific closure type possible manual = true + [[object.function]] + name = "set_base_time" + [[object.function.parameter]] + name = "time" + mandatory = true + [[object.function]] name = "get_current_running_time" # manual implementation also works for earlier versions @@ -1033,18 +1139,27 @@ trait_name = "GstObjectExt" [[object.function]] name = "sync_values" + [[object.function.parameter]] + name = "timestamp" + mandatory = true [object.function.return] bool_return_is_error = "Failed to sync values" + [[object.function]] + name = "value" + [[object.function.parameter]] + name = "timestamp" + mandatory = true + [[object.function]] name = "get_g_value_array" ignore = true + [[object.function]] name = "add_control_binding" [object.function.return] bool_return_is_error = "Failed to add control binding" - [[object]] name = "Gst.ObjectFlags" status = "generate" @@ -1841,6 +1956,9 @@ status = "generate" name = "util_get_timestamp" # can be called before gst_init() assertion = "skip" + [object.function.return] + # always returns a value + mandatory = true [[object.function]] name = "version" @@ -2028,11 +2146,14 @@ generate_builder = true [[object.function]] name = "control_source_get_value" rename = "value" + [[object.function.parameter]] + name = "timestamp" + mandatory = true + [[object.function]] name = "control_source_get_value_array" manual = true - [[object]] name = "Gst.ControlBinding" status = "generate" @@ -2041,3 +2162,15 @@ generate_builder = true [[object.function]] name = "get_g_value_array" manual = true + + [[object.function]] + name = "get_value" + [[object.function.parameter]] + name = "timestamp" + mandatory = true + + [[object.function]] + name = "sync_values" + [[object.function.parameter]] + name = "timestamp" + mandatory = true