[options]
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstNet"
version = "1.0"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true
single_version_file = true
generate_display_trait = false
trust_return_value_nullability = true

external_libraries = [
    "Gio",
    "GLib",
    "GObject",
    "Gst",
]

generate = [
]

manual = [
    "GObject.Object",
    "Gst.Bus",
    "Gst.Clock",
    "Gst.Object",
    "Gst.Pipeline",
    "Gst.Structure",
]

[[object]]
name = "Gst.ClockTime"
status = "manual"
conversion_type = "Option"

[[object]]
name = "GstNet.NetClientClock"
status = "generate"
final_type = true

[[object]]
name = "GstNet.NetTimeProvider"
status = "generate"
final_type = true
    [[object.function]]
    name = "new"
        [object.function.return]
        nullable_return_is_error = "Failed to create NetTimeProvider"

[[object]]
name = "GstNet.NtpClock"
status = "generate"
final_type = true

[[object]]
name = "GstNet.PtpClock"
status = "generate"
final_type = true
    [[object.function]]
    name = "new"
        [[object.function.parameter]]
        name = "name"
        # See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6251
        nullable = true

        [object.function.return]
        # See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6251
        nullable = true
        nullable_return_is_error = "Can't create gst::PtpClock"
