2018-02-19 20:15:52 +00:00
|
|
|
[options]
|
2021-04-12 09:42:41 +00:00
|
|
|
girs_directories = ["../gir-files", "../gst-gir-files"]
|
2018-02-19 20:15:52 +00:00
|
|
|
library = "GstPbutils"
|
|
|
|
version = "1.0"
|
2022-04-07 08:22:39 +00:00
|
|
|
min_cfg_version = "1.14"
|
2018-02-19 20:15:52 +00:00
|
|
|
work_mode = "normal"
|
|
|
|
concurrency = "send+sync"
|
|
|
|
generate_safety_asserts = true
|
2018-04-23 17:34:22 +00:00
|
|
|
single_version_file = true
|
2018-12-08 09:05:20 +00:00
|
|
|
generate_display_trait = false
|
2022-10-18 11:17:00 +00:00
|
|
|
trust_return_value_nullability = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
external_libraries = [
|
|
|
|
"GLib",
|
|
|
|
"GObject",
|
|
|
|
"Gst",
|
|
|
|
]
|
|
|
|
|
|
|
|
generate = [
|
2022-08-30 14:13:45 +00:00
|
|
|
"GstPbutils.AudioVisualizer",
|
|
|
|
"GstPbutils.AudioVisualizerShader",
|
2022-10-18 11:17:00 +00:00
|
|
|
"GstPbutils.DiscovererInfo",
|
2018-02-19 20:15:52 +00:00
|
|
|
"GstPbutils.DiscovererResult",
|
2021-09-19 08:10:18 +00:00
|
|
|
"GstPbutils.PbUtilsCapsDescriptionFlags",
|
2018-02-19 20:15:52 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
manual = [
|
2021-05-30 15:37:25 +00:00
|
|
|
"GLib.DateTime",
|
2018-02-19 20:15:52 +00:00
|
|
|
"GLib.Error",
|
2021-05-30 15:37:25 +00:00
|
|
|
"GLib.MainContext",
|
|
|
|
"GLib.MainLoop",
|
2018-02-19 20:15:52 +00:00
|
|
|
"GLib.Source",
|
2021-05-30 15:37:25 +00:00
|
|
|
"GLib.Type",
|
2018-02-19 20:15:52 +00:00
|
|
|
"GLib.Variant",
|
|
|
|
"GObject.Object",
|
|
|
|
"Gst.Element",
|
2021-05-30 15:37:25 +00:00
|
|
|
"Gst.Object",
|
|
|
|
"Gst.Preset",
|
2018-02-19 20:15:52 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "Gst.Buffer"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "manual"
|
|
|
|
ref_mode = "ref"
|
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "Gst.Caps"
|
|
|
|
status = "manual"
|
|
|
|
ref_mode = "ref"
|
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "Gst.ClockTime"
|
|
|
|
status = "manual"
|
|
|
|
conversion_type = "Option"
|
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "Gst.Event"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "manual"
|
|
|
|
ref_mode = "ref"
|
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "Gst.Message"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "manual"
|
|
|
|
ref_mode = "ref"
|
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "Gst.Structure"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "manual"
|
|
|
|
ref_mode = "ref"
|
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "Gst.TagList"
|
|
|
|
status = "manual"
|
|
|
|
ref_mode = "ref"
|
|
|
|
|
2021-12-03 16:14:55 +00:00
|
|
|
|
2018-02-19 20:15:52 +00:00
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "Gst.Toc"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "manual"
|
2021-05-28 12:58:49 +00:00
|
|
|
ref_mode = "ref"
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "GstPbutils.*"
|
|
|
|
status = "generate"
|
|
|
|
# We'll opt-in for constants at a later time
|
|
|
|
[[object.constant]]
|
|
|
|
pattern = ".+"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
[[object.function]]
|
2022-01-14 14:54:16 +00:00
|
|
|
pattern = "codec_utils_(aac_caps_set_level_and_profile|h264_caps_set_level_and_profile|h265_caps_set_level_tier_and_profile|mpeg4video_caps_set_level_and_profile)"
|
|
|
|
# Needs mutable caps references and checks for the caps
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_aac_get_level"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get AAC level"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_aac_get_profile"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get AAC profile"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_h264_get_level"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get H264 level"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_h264_get_profile"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get H264 profile"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_h264_get_profile_flags_level"
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_h265_get_level"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get H265 level"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_h265_get_profile"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get H265 profile"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_h265_get_tier"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get H265 tier"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_mpeg4video_get_level"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get MPEG4 video level"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_mpeg4video_get_profile"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to get MPEG4 video profile"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_caps_get_mime_codec"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Unsupported caps"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_opus_create_caps"
|
|
|
|
# Manual checks
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_opus_create_header"
|
|
|
|
# Manual checks
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_opus_parse_caps"
|
|
|
|
# Manual checks
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_opus_parse_header"
|
|
|
|
# Manual checks
|
|
|
|
manual = true
|
2021-12-03 16:14:55 +00:00
|
|
|
|
2022-11-21 09:38:45 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "codec_utils_opus_create_caps_from_header"
|
|
|
|
# Use &CapsRef
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
pattern = "(codec_utils_caps_get_mime_codec|pb_utils_get_caps_description_flags|pb_utils_get_file_extension_from_caps)"
|
|
|
|
# Use &CapsRef
|
|
|
|
manual = true
|
|
|
|
|
2021-12-03 16:14:55 +00:00
|
|
|
# Plugin installer API needs some manual impls
|
|
|
|
[[object.function]]
|
|
|
|
pattern = "install_plugins.*"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
# Plugin installer API needs some manual impls
|
|
|
|
[[object.function]]
|
|
|
|
pattern = "missing_.*"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
# Plugin installer API needs some manual impls
|
|
|
|
[[object.function]]
|
|
|
|
name = "is_missing_plugin_message"
|
|
|
|
ignore = true
|
|
|
|
|
2023-04-07 12:55:40 +00:00
|
|
|
# Initialization is handled implicitly
|
2021-12-03 16:14:55 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "pb_utils_init"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
# Needs special handling for mutable taglists
|
|
|
|
[[object.function]]
|
|
|
|
name = "pb_utils_add_codec_description_to_tag_list"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
# Needs special handling for caps refs
|
|
|
|
[[object.function]]
|
|
|
|
name = "pb_utils_get_codec_description"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
# Needs special handling for caps refs
|
|
|
|
[[object.function]]
|
|
|
|
name = "pb_utils_get_decoder_description"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
# Needs special handling for caps refs
|
|
|
|
[[object.function]]
|
|
|
|
name = "pb_utils_get_encoder_description"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "plugins_base_version_string"
|
|
|
|
assertion = "skip"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "plugins_base_version"
|
|
|
|
assertion = "skip"
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.Discoverer"
|
|
|
|
status = "generate"
|
2019-01-21 20:00:48 +00:00
|
|
|
final_type = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "discover_uri_async"
|
|
|
|
[object.function.return]
|
|
|
|
bool_return_is_error = "Failed to add URI to list of discovers"
|
|
|
|
|
2021-04-04 14:17:35 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "new"
|
|
|
|
[[object.function.parameter]]
|
|
|
|
name = "timeout"
|
|
|
|
mandatory = true
|
|
|
|
|
2018-02-19 20:15:52 +00:00
|
|
|
# Manually implemented to use ClockTime
|
|
|
|
[[object.property]]
|
|
|
|
name = "timeout"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
2019-04-23 15:47:13 +00:00
|
|
|
[[object.property]]
|
|
|
|
name = "use-cache"
|
|
|
|
version = "1.16"
|
|
|
|
|
2021-12-03 16:14:55 +00:00
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.DiscovererAudioInfo"
|
|
|
|
status = "generate"
|
|
|
|
final_type = true
|
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.DiscovererContainerInfo"
|
|
|
|
status = "generate"
|
|
|
|
final_type = true
|
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.DiscovererSerializeFlags"
|
|
|
|
status = "generate"
|
|
|
|
[[object.member]]
|
|
|
|
name = "basic"
|
|
|
|
ignore = true
|
|
|
|
[[object.member]]
|
|
|
|
name = "all"
|
|
|
|
ignore = true
|
|
|
|
|
2018-02-19 20:15:52 +00:00
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.DiscovererStreamInfo"
|
|
|
|
status = "generate"
|
2019-01-21 20:00:48 +00:00
|
|
|
final_type = false
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
# Not useful
|
|
|
|
[[object.function]]
|
|
|
|
name = "list_free"
|
|
|
|
ignore = true
|
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "GstPbutils.DiscovererSubtitleInfo"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "generate"
|
2019-01-21 20:00:48 +00:00
|
|
|
final_type = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.DiscovererVideoInfo"
|
|
|
|
status = "generate"
|
2019-01-21 20:00:48 +00:00
|
|
|
final_type = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
# Implement manually to expose as gst::Fraction
|
|
|
|
[[object.function]]
|
|
|
|
name = "get_framerate_num"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-02-19 20:15:52 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "get_framerate_denom"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-02-19 20:15:52 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "get_par_num"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-02-19 20:15:52 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "get_par_denom"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "GstPbutils.EncodingAudioProfile"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "generate"
|
2019-01-21 20:00:48 +00:00
|
|
|
final_type = true
|
2021-12-03 16:14:55 +00:00
|
|
|
# Ignore all setters, making it immutable. A builder will be provided.
|
|
|
|
[[object.function]]
|
|
|
|
name = "new"
|
|
|
|
manual = true
|
|
|
|
[[object.function]]
|
|
|
|
pattern = "set_.*"
|
|
|
|
manual = true
|
2018-02-19 20:15:52 +00:00
|
|
|
|
|
|
|
[[object]]
|
2021-12-03 16:14:55 +00:00
|
|
|
name = "GstPbutils.EncodingContainerProfile"
|
2018-02-19 20:15:52 +00:00
|
|
|
status = "generate"
|
2021-12-03 16:14:55 +00:00
|
|
|
|
|
|
|
# Make it immutable, only able to be constructed for a builder
|
|
|
|
[[object.function]]
|
|
|
|
name = "new"
|
|
|
|
manual = true
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "add_profile"
|
|
|
|
manual = true
|
2018-03-18 17:42:45 +00:00
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.EncodingProfile"
|
|
|
|
status = "generate"
|
|
|
|
|
2018-10-08 04:44:17 +00:00
|
|
|
# Ignore all setters, making it immutable. A builder will be provided.
|
2018-05-13 18:31:10 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "new"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-05-13 18:31:10 +00:00
|
|
|
[[object.function]]
|
|
|
|
pattern = "set_.*"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-05-13 18:31:10 +00:00
|
|
|
|
2020-02-26 04:53:32 +00:00
|
|
|
[[object.function]]
|
|
|
|
pattern = "get_restriction"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2020-02-26 04:53:32 +00:00
|
|
|
|
2022-08-30 09:35:03 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "get_element_properties"
|
|
|
|
# Use custom wrapper types
|
|
|
|
manual = true
|
|
|
|
|
2018-10-08 04:44:17 +00:00
|
|
|
[[object.property]]
|
|
|
|
name = "restriction-caps"
|
|
|
|
# encodingprofile is immutable after constructed
|
|
|
|
ignore = true
|
|
|
|
|
2019-12-17 19:00:42 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "from_discoverer"
|
|
|
|
[object.function.return]
|
|
|
|
nullable_return_is_error = "Failed to create EncodingProfile from DiscovererInfo"
|
|
|
|
|
2018-03-18 17:42:45 +00:00
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.EncodingTarget"
|
|
|
|
status = "generate"
|
|
|
|
|
|
|
|
[[object.function]]
|
|
|
|
name = "add_profile"
|
2018-10-08 06:23:48 +00:00
|
|
|
# can be provided on constructor and we better
|
|
|
|
# consider this immutable
|
|
|
|
ignore = true
|
2018-03-18 17:42:45 +00:00
|
|
|
|
|
|
|
[[object.function]]
|
2022-10-18 11:17:00 +00:00
|
|
|
name = "new"
|
2018-03-18 17:42:45 +00:00
|
|
|
[object.function.return]
|
2022-10-18 11:17:00 +00:00
|
|
|
nullable_return_is_error = "Failed to create EncodingTarget"
|
2018-03-18 17:42:45 +00:00
|
|
|
|
|
|
|
[[object]]
|
|
|
|
name = "GstPbutils.EncodingVideoProfile"
|
|
|
|
status = "generate"
|
2019-01-21 20:00:48 +00:00
|
|
|
final_type = true
|
2018-10-08 04:44:17 +00:00
|
|
|
# Ignore all setters, making it immutable. A builder will be provided.
|
2018-05-13 18:31:10 +00:00
|
|
|
[[object.function]]
|
|
|
|
name = "new"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|
2018-05-13 18:31:10 +00:00
|
|
|
[[object.function]]
|
|
|
|
pattern = "set_.*"
|
2020-11-04 17:52:47 +00:00
|
|
|
manual = true
|