...
 
Commits (36)
stages:
- "lint"
- "test"
.cargo_cache: &cache
......@@ -13,7 +14,6 @@ stages:
G_DEBUG: "fatal_warnings"
DEPENDENCIES: |
curl
libssl-dev
liborc-0.4-dev
libglib2.0-dev
libxml2-dev
......@@ -22,6 +22,7 @@ stages:
libgl1-mesa-dri
libgl1-mesa-glx
libwayland-egl1-mesa
xz-utils
<<: *cache
before_script:
......@@ -34,7 +35,7 @@ stages:
- mkdir -p precompiled-gst && cd precompiled-gst
- curl -L https://people.freedesktop.org/~slomo/gstreamer-1.14.3.tar.gz | tar xz
- curl -L https://people.freedesktop.org/~slomo/gstreamer-1.16.1.tar.xz | tar xJ
- sed -i "s;prefix=/root/gstreamer;prefix=$PWD/gstreamer;g" $PWD/gstreamer/lib/x86_64-linux-gnu/pkgconfig/*.pc
- export PKG_CONFIG_PATH=$PWD/gstreamer/lib/x86_64-linux-gnu/pkgconfig
- export GST_PLUGIN_SYSTEM_PATH=$PWD/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0
......@@ -77,29 +78,29 @@ stages:
cargo test -p $crate; \
done
test 1.31:
# 1.31 img
test 1.36:
# 1.36 img
# https://hub.docker.com/_/rust/
image: "rust:1.31-slim"
image: "rust:1.36-slim-buster"
<<: *cargo_test
test stable:
# Stable img
# https://hub.docker.com/_/rust/
image: "rust:slim"
image: "rust:slim-buster"
<<: *cargo_test
test nightly:
# Nightly
# https://hub.docker.com/r/rustlang/rust/
image: "rustlang/rust:nightly-slim"
image: "rustlang/rust:nightly-buster-slim"
allow_failure: true
<<: *cargo_test
.cargo_cross_check_template: &cargo_cross_check
# Stable img
# https://hub.docker.com/_/rust/
image: "rust:slim"
image: "rust:slim-buster"
stage: "test"
variables:
PKG_CONFIG: "true"
......@@ -114,12 +115,10 @@ test nightly:
- cargo check --target $CROSS_TARGET_TRIPLET --all --color=always
- cargo check --target $CROSS_TARGET_TRIPLET --all --all-features --color=always
test stable-armv7-unknown-linux-gnueabihf:
extends: .cargo_cross_check_template
variables:
CROSS_TARGET_TRIPLET: "armv7-unknown-linux-gnueabihf"
test stable-x86_64-pc-windows-gnu:
extends: .cargo_cross_check_template
variables:
CROSS_TARGET_TRIPLET: "x86_64-pc-windows-gnu"
rustfmt:
image: "rust:slim-buster"
stage: "lint"
script:
- rustup component add rustfmt
- cargo fmt --version
- cargo fmt -- --color=always --check
dist: trusty
sudo: required
language: rust
rust:
- stable
- beta
- nightly
addons:
apt:
packages:
- libglib2.0-dev
- libxml2-dev
- libegl1-mesa
- libgles2-mesa
- libgl1-mesa-dri
- libgl1-mesa-glx
- libwayland-egl1-mesa
matrix:
allow_failures:
- rust: nightly
script:
- rustc --version
- cargo build --all
- cargo build --all --all-features
before_install:
- curl -L https://people.freedesktop.org/~slomo/gstreamer-1.14.3.tar.gz | tar xz
- sed -i "s;prefix=/root/gstreamer;prefix=$PWD/gstreamer;g" $PWD/gstreamer/lib/x86_64-linux-gnu/pkgconfig/*.pc
- export PKG_CONFIG_PATH=$PWD/gstreamer/lib/x86_64-linux-gnu/pkgconfig
- export GST_PLUGIN_SYSTEM_PATH=$PWD/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0
- export PATH=$PATH:$PWD/gstreamer/bin
......@@ -18,4 +18,5 @@ members = [
"gstreamer-gl-sys",
"gstreamer-editing-services-sys",
"gstreamer-check-sys",
"gstreamer-rtp-sys",
]
......@@ -45,3 +45,29 @@ cfg_condition = "feature = \"egl\""
#[[object]]
#name = "GstGL.GL_COLOR_CONVERT_VIDEO_CAPS"
#status = "manual"
[[object]]
name = "GstGL.GLDisplayX11"
status = "generate"
cfg_condition = "feature = \"x11\""
[[object.function]]
pattern = ".*"
cfg_condition = "feature = \"x11\""
[[object]]
name = "GstGL.GLDisplayX11Class"
status = "generate"
cfg_condition = "feature = \"x11\""
[[object]]
name = "GstGL.GLDisplayWayland"
status = "generate"
cfg_condition = "feature = \"wayland\""
[[object.function]]
pattern = ".*"
cfg_condition = "feature = \"wayland\""
[[object]]
name = "GstGL.GLDisplayWaylandClass"
status = "generate"
cfg_condition = "feature = \"wayland\""
[options]
girs_dir = "gir-files"
library = "GstRtp"
version = "1.0"
min_cfg_version = "1.0"
target_path = "gstreamer-rtp-sys"
work_mode = "sys"
external_libraries = [
"GLib",
"GObject"
]
[external_libraries]
gstreamer="Gst"
gstreamer_base="GstBase"
......@@ -22,7 +22,7 @@ def update_workspace():
with open('Cargo.toml', 'w') as f:
f.write(''.join(old_lines))
return success
if not isfile('./gir/src'):
need_rebuild = True
......@@ -36,7 +36,7 @@ if sys.version_info[0] < 3:
else:
line = input(question)
line = line.strip()
if line.lower() == 'n' or len(line) == 0:
if line.lower() == 'y':
need_rebuild = True
print('=> Updating gir submodule...')
call(['bash', '-c', 'cd gir && git reset --hard HEAD && git pull -f origin master'])
......@@ -56,5 +56,6 @@ for entry in [f for f in listdir('.') if isfile(join('.', f))]:
print('==> Regenerating "{}"...'.format(entry))
call(['./target/release/gir', '-c', entry])
print('<== Done!')
call(['cargo', 'fmt'])
print('<= Done!')
print("Don't forget to check if everything has been correctly generated!")
Subproject commit dd33bdf92bed56c03e786693cb72833edee647fa
Subproject commit 7cca8164f3166ba73ce74f02400cb151b963e2d2
This diff is collapsed.
This diff is collapsed.
......@@ -1119,6 +1119,9 @@ buffers that the appsrc element will push to its source pad. Any
previous caps that were set on appsrc will be replaced by the caps
associated with the sample if not equal.
This function does not take ownership of the
sample so the sample needs to be unreffed after calling this function.
When the block property is TRUE, this function can block until free
space becomes available in the queue.</doc>
<return-value transfer-ownership="none">
......@@ -1351,6 +1354,9 @@ buffers that the appsrc element will push to its source pad. Any
previous caps that were set on appsrc will be replaced by the caps
associated with the sample if not equal.
This function does not take ownership of the
sample so the sample needs to be unreffed after calling this function.
When the block property is TRUE, this function can block until free
space becomes available in the queue.</doc>
<return-value transfer-ownership="none">
......
This diff is collapsed.
This diff is collapsed.
......@@ -1713,7 +1713,7 @@ reached.
MT safe.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a @gboolean %TRUE if the waits have been registered, %FALSE if not.
(Could be that it timed out waiting or that more waits then waits was found)</doc>
(Could be that it timed out waiting or that more waits than waits was found)</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
......@@ -2314,6 +2314,39 @@ MT safe.</doc>
</parameter>
</parameters>
</method>
<method name="timed_wait_for_multiple_pending_ids" c:identifier="gst_test_clock_timed_wait_for_multiple_pending_ids" version="1.16">
<doc xml:space="preserve">Blocks until at least @count clock notifications have been requested from
@test_clock, or the timeout expires.
MT safe.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a @gboolean %TRUE if the waits have been registered, %FALSE if not.
(Could be that it timed out waiting or that more waits than waits was found)</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="test_clock" transfer-ownership="none">
<doc xml:space="preserve">#GstTestClock for which to await having enough pending clock</doc>
<type name="TestClock" c:type="GstTestClock*"/>
</instance-parameter>
<parameter name="count" transfer-ownership="none">
<doc xml:space="preserve">the number of pending clock notifications to wait for</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timeout_ms" transfer-ownership="none">
<doc xml:space="preserve">the timeout in milliseconds</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pending_list" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve">Address
of a #GList pointer variable to store the list of pending #GstClockIDs
that expired, or %NULL</doc>
<type name="GLib.List" c:type="GList**">
<type name="Gst.ClockID"/>
</type>
</parameter>
</parameters>
</method>
<method name="wait_for_multiple_pending_ids" c:identifier="gst_test_clock_wait_for_multiple_pending_ids" version="1.4">
<doc xml:space="preserve">Blocks until at least @count clock notifications have been requested from
@test_clock. There is no timeout for this wait, see the main description of
......
This diff is collapsed.
......@@ -108,9 +108,11 @@ Consult the relevant specifications for more details.</doc>
c:symbol-prefix="atsc_eit">
<doc xml:space="preserve">Event Information Table (ATSC)</doc>
<field name="source_id" writable="1">
<doc xml:space="preserve">The source id</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="protocol_version" writable="1">
<doc xml:space="preserve">The protocol version</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="events" writable="1">
......@@ -127,15 +129,19 @@ Consult the relevant specifications for more details.</doc>
c:symbol-prefix="atsc_eit_event">
<doc xml:space="preserve">An ATSC EIT Event</doc>
<field name="event_id" writable="1">
<doc xml:space="preserve">The event id</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="start_time" writable="1">
<doc xml:space="preserve">The start time</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="etm_location" writable="1">
<doc xml:space="preserve">The etm location</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="length_in_seconds" writable="1">
<doc xml:space="preserve">The length in seconds</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="titles" writable="1">
......@@ -161,9 +167,11 @@ Consult the relevant specifications for more details.</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="protocol_version" writable="1">
<doc xml:space="preserve">The protocol version</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="etm_id" writable="1">
<doc xml:space="preserve">The etm id</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="messages" writable="1">
......@@ -180,9 +188,11 @@ Consult the relevant specifications for more details.</doc>
c:symbol-prefix="atsc_mgt">
<doc xml:space="preserve">Master Guide Table (A65)</doc>
<field name="protocol_version" writable="1">
<doc xml:space="preserve">The protocol version</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="tables_defined" writable="1">
<doc xml:space="preserve">The numbers of subtables</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="tables" writable="1">
......@@ -205,12 +215,15 @@ Consult the relevant specifications for more details.</doc>
c:symbol-prefix="atsc_mgt_table">
<doc xml:space="preserve">Source from a @GstMpegtsAtscMGT</doc>
<field name="table_type" writable="1">
<doc xml:space="preserve">#GstMpegtsAtscMGTTableType</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="pid" writable="1">
<doc xml:space="preserve">The packet ID</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="version_number" writable="1">
<doc xml:space="preserve">The version number</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="number_bytes" writable="1">
......@@ -247,6 +260,7 @@ Consult the relevant specifications for more details.</doc>
glib:get-type="gst_mpegts_atsc_mult_string_get_type"
c:symbol-prefix="atsc_mult_string">
<field name="iso_639_langcode" writable="1">
<doc xml:space="preserve">The ISO639 language code</doc>
<array zero-terminated="0" c:type="gchar" fixed-size="4">
<type name="gchar" c:type="gchar"/>
</array>
......@@ -264,21 +278,26 @@ Consult the relevant specifications for more details.</doc>
c:symbol-prefix="atsc_stt">
<doc xml:space="preserve">System Time Table (A65)</doc>
<field name="protocol_version" writable="1">
<doc xml:space="preserve">The protocol version</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="system_time" writable="1">
<doc xml:space="preserve">The system time</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="gps_utc_offset" writable="1">
<doc xml:space="preserve">The GPS to UTC offset</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="ds_status" writable="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="ds_dayofmonth" writable="1">
<doc xml:space="preserve">The day of month</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="ds_hour" writable="1">
<doc xml:space="preserve">The hour</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="descriptors" writable="1">
......@@ -288,6 +307,7 @@ Consult the relevant specifications for more details.</doc>
</array>
</field>
<field name="utc_datetime" writable="1">
<doc xml:space="preserve">The UTC date and time</doc>
<type name="Gst.DateTime" c:type="GstDateTime*"/>
</field>
<method name="get_datetime_utc"
......@@ -307,16 +327,21 @@ Consult the relevant specifications for more details.</doc>
glib:type-name="GstMpegtsAtscStringSegment"
glib:get-type="gst_mpegts_atsc_string_segment_get_type"
c:symbol-prefix="atsc_string_segment">
<doc xml:space="preserve">A string segment</doc>
<field name="compression_type" writable="1">
<doc xml:space="preserve">The compression type</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="mode" writable="1">
<doc xml:space="preserve">The mode</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="compressed_data_size" writable="1">
<doc xml:space="preserve">The size of compressed data</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="compressed_data" writable="1">
<doc xml:space="preserve">The compressed data</doc>
<type name="guint8" c:type="guint8*"/>
</field>
<field name="cached_string" writable="1">
......@@ -344,9 +369,11 @@ Consult the relevant specifications for more details.</doc>
Terrestrial Virtual Channel Table (A65)
Cable Virtual Channel Table (A65)</doc>
<field name="transport_stream_id" writable="1">
<doc xml:space="preserve">The transport stream</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="protocol_version" writable="1">
<doc xml:space="preserve">The protocol version</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="sources" writable="1">
......@@ -369,48 +396,63 @@ Consult the relevant specifications for more details.</doc>
c:symbol-prefix="atsc_vct_source">
<doc xml:space="preserve">Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables</doc>
<field name="short_name" writable="1">
<doc xml:space="preserve">The short name of a source</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="major_channel_number" writable="1">
<doc xml:space="preserve">The major channel number</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="minor_channel_number" writable="1">
<doc xml:space="preserve">The minor channel number</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="modulation_mode" writable="1">
<doc xml:space="preserve">The modulation mode</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="carrier_frequency" writable="1">
<doc xml:space="preserve">The carrier frequency</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="channel_TSID" writable="1">
<doc xml:space="preserve">The transport stream ID</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="program_number" writable="1">
<doc xml:space="preserve">The program number (see #GstMpegtsPatProgram)</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="ETM_location" writable="1">
<doc xml:space="preserve">The ETM location</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="access_controlled" writable="1">
<doc xml:space="preserve">is access controlled</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="hidden" writable="1">
<doc xml:space="preserve">is hidden</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="path_select" writable="1">
<doc xml:space="preserve">is path select, CVCT only</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="out_of_band" writable="1">
<doc xml:space="preserve">is out of band, CVCT only</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="hide_guide" writable="1">
<doc xml:space="preserve">is hide guide</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="service_type" writable="1">
<doc xml:space="preserve">The service type</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="source_id" writable="1">
<doc xml:space="preserve">The source id</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="descriptors" writable="1">
......
......@@ -791,7 +791,7 @@ parameters if it wasn't called before.</doc>
version="1.6">
<doc xml:space="preserve">Check if the GStreamer PTP clock subsystem is initialized.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the GStreamer PTP clock subsystem is intialized.</doc>
<doc xml:space="preserve">%TRUE if the GStreamer PTP clock subsystem is initialized.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
// This file was generated by gir (https://github.com/gtk-rs/gir @ dd33bdf)
// This file was generated by gir (https://github.com/gtk-rs/gir @ 7cca816)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
......
// This file was generated by gir (https://github.com/gtk-rs/gir @ dd33bdf)
// This file was generated by gir (https://github.com/gtk-rs/gir @ 7cca816)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
// This file was generated by gir (https://github.com/gtk-rs/gir @ dd33bdf)
// This file was generated by gir (https://github.com/gtk-rs/gir @ 7cca816)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
......
// This file was generated by gir (https://github.com/gtk-rs/gir @ dd33bdf)
// This file was generated by gir (https://github.com/gtk-rs/gir @ 7cca816)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
// This file was generated by gir (https://github.com/gtk-rs/gir @ dd33bdf)
// This file was generated by gir (https://github.com/gtk-rs/gir @ 7cca816)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.