forked from mirrors/gstreamer-rs
Add newtype wrappers and INVALID constants for event/message GroupId and Seqnum
This commit is contained in:
parent
97b786a0c7
commit
55f044dd83
6 changed files with 189 additions and 107 deletions
10
Gir_Gst.toml
10
Gir_Gst.toml
|
@ -796,6 +796,16 @@ status = "generate"
|
||||||
# wrong mutable for context parameter
|
# wrong mutable for context parameter
|
||||||
ignore = true
|
ignore = true
|
||||||
|
|
||||||
|
[[object.function]]
|
||||||
|
name = "util_group_id_next"
|
||||||
|
# newtype wrapper
|
||||||
|
ignore = true
|
||||||
|
|
||||||
|
[[object.function]]
|
||||||
|
name = "util_seqnum_next"
|
||||||
|
# newtype wrapper
|
||||||
|
ignore = true
|
||||||
|
|
||||||
[[object]]
|
[[object]]
|
||||||
name = "Gst.StateChangeReturn"
|
name = "Gst.StateChangeReturn"
|
||||||
status = "generate"
|
status = "generate"
|
||||||
|
|
|
@ -158,20 +158,6 @@ pub fn util_get_timestamp() -> ClockTime {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn util_group_id_next() -> u32 {
|
|
||||||
assert_initialized_main_thread!();
|
|
||||||
unsafe {
|
|
||||||
ffi::gst_util_group_id_next()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn util_seqnum_next() -> u32 {
|
|
||||||
assert_initialized_main_thread!();
|
|
||||||
unsafe {
|
|
||||||
ffi::gst_util_seqnum_next()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn version() -> (u32, u32, u32, u32) {
|
pub fn version() -> (u32, u32, u32, u32) {
|
||||||
assert_initialized_main_thread!();
|
assert_initialized_main_thread!();
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -18,13 +18,75 @@ use std::ffi::CStr;
|
||||||
|
|
||||||
use glib;
|
use glib;
|
||||||
use glib::value::ToSendValue;
|
use glib::value::ToSendValue;
|
||||||
use glib::translate::{from_glib, from_glib_full, from_glib_none, ToGlib, ToGlibPtr};
|
use glib::translate::{from_glib, from_glib_full, from_glib_none, FromGlib, ToGlib, ToGlibPtr};
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
use glib::translate::FromGlibPtrContainer;
|
use glib::translate::FromGlibPtrContainer;
|
||||||
|
|
||||||
use EventType;
|
use EventType;
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
|
||||||
|
pub struct Seqnum(pub u32);
|
||||||
|
pub const SEQNUM_INVALID: Seqnum = Seqnum(0);
|
||||||
|
|
||||||
|
impl ToGlib for Seqnum {
|
||||||
|
type GlibType = u32;
|
||||||
|
|
||||||
|
fn to_glib(&self) -> u32 {
|
||||||
|
self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FromGlib<u32> for Seqnum {
|
||||||
|
fn from_glib(val: u32) -> Seqnum {
|
||||||
|
skip_assert_initialized!();
|
||||||
|
Seqnum(val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Into<u32> for Seqnum {
|
||||||
|
fn into(self) -> u32 {
|
||||||
|
self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<u32> for Seqnum {
|
||||||
|
fn from(v: u32) -> Seqnum {
|
||||||
|
Seqnum(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
|
||||||
|
pub struct GroupId(pub u32);
|
||||||
|
pub const GROUP_ID_INVALID: GroupId = GroupId(0);
|
||||||
|
|
||||||
|
impl ToGlib for GroupId {
|
||||||
|
type GlibType = u32;
|
||||||
|
|
||||||
|
fn to_glib(&self) -> u32 {
|
||||||
|
self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Into<u32> for GroupId {
|
||||||
|
fn into(self) -> u32 {
|
||||||
|
self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<u32> for GroupId {
|
||||||
|
fn from(v: u32) -> GroupId {
|
||||||
|
GroupId(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FromGlib<u32> for GroupId {
|
||||||
|
fn from_glib(val: u32) -> GroupId {
|
||||||
|
skip_assert_initialized!();
|
||||||
|
GroupId(val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct EventRef(ffi::GstEvent);
|
pub struct EventRef(ffi::GstEvent);
|
||||||
|
|
||||||
|
@ -92,8 +154,8 @@ impl PartialOrd for EventType {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EventRef {
|
impl EventRef {
|
||||||
pub fn get_seqnum(&self) -> u32 {
|
pub fn get_seqnum(&self) -> Seqnum {
|
||||||
unsafe { ffi::gst_event_get_seqnum(self.as_mut_ptr()) }
|
unsafe { from_glib(ffi::gst_event_get_seqnum(self.as_mut_ptr())) }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_running_time_offset(&self) -> i64 {
|
pub fn get_running_time_offset(&self) -> i64 {
|
||||||
|
@ -239,7 +301,7 @@ impl GstRc<EventRef> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub fn new_stream_group_done<'a>(group_id: u32) -> StreamGroupDoneBuilder<'a> {
|
pub fn new_stream_group_done<'a>(group_id: GroupId) -> StreamGroupDoneBuilder<'a> {
|
||||||
assert_initialized_main_thread!();
|
assert_initialized_main_thread!();
|
||||||
StreamGroupDoneBuilder::new(group_id)
|
StreamGroupDoneBuilder::new(group_id)
|
||||||
}
|
}
|
||||||
|
@ -474,13 +536,13 @@ impl<'a> StreamStart<'a> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_group_id(&self) -> u32 {
|
pub fn get_group_id(&self) -> GroupId {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut group_id = mem::uninitialized();
|
let mut group_id = mem::uninitialized();
|
||||||
|
|
||||||
ffi::gst_event_parse_group_id(self.0.as_mut_ptr(), &mut group_id);
|
ffi::gst_event_parse_group_id(self.0.as_mut_ptr(), &mut group_id);
|
||||||
|
|
||||||
group_id
|
from_glib(group_id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -574,13 +636,13 @@ impl<'a> SinkMessage<'a> {
|
||||||
pub struct StreamGroupDone<'a>(&'a EventRef);
|
pub struct StreamGroupDone<'a>(&'a EventRef);
|
||||||
impl<'a> StreamGroupDone<'a> {
|
impl<'a> StreamGroupDone<'a> {
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub fn get_group_id(&self) -> u32 {
|
pub fn get_group_id(&self) -> GroupId {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut group_id = mem::uninitialized();
|
let mut group_id = mem::uninitialized();
|
||||||
|
|
||||||
ffi::gst_event_parse_stream_group_done(self.0.as_mut_ptr(), &mut group_id);
|
ffi::gst_event_parse_stream_group_done(self.0.as_mut_ptr(), &mut group_id);
|
||||||
|
|
||||||
group_id
|
from_glib(group_id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -802,7 +864,7 @@ pub struct CustomBothOob<'a>(&'a EventRef);
|
||||||
|
|
||||||
macro_rules! event_builder_generic_impl {
|
macro_rules! event_builder_generic_impl {
|
||||||
($new_fn:expr) => {
|
($new_fn:expr) => {
|
||||||
pub fn seqnum(self, seqnum: u32) -> Self {
|
pub fn seqnum(self, seqnum: Seqnum) -> Self {
|
||||||
Self {
|
Self {
|
||||||
seqnum: Some(seqnum),
|
seqnum: Some(seqnum),
|
||||||
.. self
|
.. self
|
||||||
|
@ -830,7 +892,7 @@ macro_rules! event_builder_generic_impl {
|
||||||
unsafe {
|
unsafe {
|
||||||
let event = $new_fn(&mut self);
|
let event = $new_fn(&mut self);
|
||||||
if let Some(seqnum) = self.seqnum {
|
if let Some(seqnum) = self.seqnum {
|
||||||
ffi::gst_event_set_seqnum(event, seqnum);
|
ffi::gst_event_set_seqnum(event, seqnum.to_glib());
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(running_time_offset) = self.running_time_offset {
|
if let Some(running_time_offset) = self.running_time_offset {
|
||||||
|
@ -854,7 +916,7 @@ macro_rules! event_builder_generic_impl {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct FlushStartBuilder<'a> {
|
pub struct FlushStartBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
|
@ -872,7 +934,7 @@ impl<'a> FlushStartBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct FlushStopBuilder<'a> {
|
pub struct FlushStopBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
reset_time: bool,
|
reset_time: bool,
|
||||||
|
@ -894,12 +956,12 @@ impl<'a> FlushStopBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct StreamStartBuilder<'a> {
|
pub struct StreamStartBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
stream_id: &'a str,
|
stream_id: &'a str,
|
||||||
flags: Option<::StreamFlags>,
|
flags: Option<::StreamFlags>,
|
||||||
group_id: Option<u32>,
|
group_id: Option<GroupId>,
|
||||||
}
|
}
|
||||||
impl<'a> StreamStartBuilder<'a> {
|
impl<'a> StreamStartBuilder<'a> {
|
||||||
fn new(stream_id: &'a str) -> Self {
|
fn new(stream_id: &'a str) -> Self {
|
||||||
|
@ -921,7 +983,7 @@ impl<'a> StreamStartBuilder<'a> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn group_id(self, group_id: u32) -> Self {
|
pub fn group_id(self, group_id: GroupId) -> Self {
|
||||||
Self {
|
Self {
|
||||||
group_id: Some(group_id),
|
group_id: Some(group_id),
|
||||||
..self
|
..self
|
||||||
|
@ -934,14 +996,14 @@ impl<'a> StreamStartBuilder<'a> {
|
||||||
ffi::gst_event_set_stream_flags(ev, flags.to_glib());
|
ffi::gst_event_set_stream_flags(ev, flags.to_glib());
|
||||||
}
|
}
|
||||||
if let Some(group_id) = s.group_id {
|
if let Some(group_id) = s.group_id {
|
||||||
ffi::gst_event_set_group_id(ev, group_id);
|
ffi::gst_event_set_group_id(ev, group_id.to_glib());
|
||||||
}
|
}
|
||||||
ev
|
ev
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CapsBuilder<'a> {
|
pub struct CapsBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
caps: &'a ::Caps,
|
caps: &'a ::Caps,
|
||||||
|
@ -961,7 +1023,7 @@ impl<'a> CapsBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SegmentBuilder<'a> {
|
pub struct SegmentBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
segment: &'a ::Segment,
|
segment: &'a ::Segment,
|
||||||
|
@ -984,7 +1046,7 @@ impl<'a> SegmentBuilder<'a> {
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct StreamCollectionBuilder<'a> {
|
pub struct StreamCollectionBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
stream_collection: &'a ::StreamCollection,
|
stream_collection: &'a ::StreamCollection,
|
||||||
|
@ -1007,7 +1069,7 @@ impl<'a> StreamCollectionBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct TagBuilder<'a> {
|
pub struct TagBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
tags: Option<::TagList>,
|
tags: Option<::TagList>,
|
||||||
|
@ -1030,7 +1092,7 @@ impl<'a> TagBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct BufferSizeBuilder<'a> {
|
pub struct BufferSizeBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
minsize: ::FormatValue,
|
minsize: ::FormatValue,
|
||||||
|
@ -1061,7 +1123,7 @@ impl<'a> BufferSizeBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SinkMessageBuilder<'a> {
|
pub struct SinkMessageBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
name: &'a str,
|
name: &'a str,
|
||||||
|
@ -1086,28 +1148,28 @@ impl<'a> SinkMessageBuilder<'a> {
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct StreamGroupDoneBuilder<'a> {
|
pub struct StreamGroupDoneBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
uid: u32,
|
group_id: GroupId,
|
||||||
}
|
}
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
impl<'a> StreamGroupDoneBuilder<'a> {
|
impl<'a> StreamGroupDoneBuilder<'a> {
|
||||||
fn new(uid: u32) -> Self {
|
fn new(group_id: GroupId) -> Self {
|
||||||
skip_assert_initialized!();
|
skip_assert_initialized!();
|
||||||
Self {
|
Self {
|
||||||
seqnum: None,
|
seqnum: None,
|
||||||
running_time_offset: None,
|
running_time_offset: None,
|
||||||
other_fields: Vec::new(),
|
other_fields: Vec::new(),
|
||||||
uid: uid,
|
group_id: group_id,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
event_builder_generic_impl!(|s: &Self| ffi::gst_event_new_stream_group_done(s.uid));
|
event_builder_generic_impl!(|s: &Self| ffi::gst_event_new_stream_group_done(s.group_id.to_glib()));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct EosBuilder<'a> {
|
pub struct EosBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
|
@ -1125,7 +1187,7 @@ impl<'a> EosBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct TocBuilder<'a> {
|
pub struct TocBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
toc: &'a ::Toc,
|
toc: &'a ::Toc,
|
||||||
|
@ -1149,7 +1211,7 @@ impl<'a> TocBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct ProtectionBuilder<'a> {
|
pub struct ProtectionBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
system_id: &'a str,
|
system_id: &'a str,
|
||||||
|
@ -1179,7 +1241,7 @@ impl<'a> ProtectionBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SegmentDoneBuilder<'a> {
|
pub struct SegmentDoneBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
position: ::FormatValue,
|
position: ::FormatValue,
|
||||||
|
@ -1201,7 +1263,7 @@ impl<'a> SegmentDoneBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct GapBuilder<'a> {
|
pub struct GapBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
timestamp: u64,
|
timestamp: u64,
|
||||||
|
@ -1223,7 +1285,7 @@ impl<'a> GapBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct QosBuilder<'a> {
|
pub struct QosBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
type_: ::QOSType,
|
type_: ::QOSType,
|
||||||
|
@ -1251,7 +1313,7 @@ impl<'a> QosBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct SeekBuilder<'a> {
|
pub struct SeekBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
rate: f64,
|
rate: f64,
|
||||||
|
@ -1298,7 +1360,7 @@ impl<'a> SeekBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct NavigationBuilder<'a> {
|
pub struct NavigationBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
@ -1324,7 +1386,7 @@ impl<'a> NavigationBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct LatencyBuilder<'a> {
|
pub struct LatencyBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
latency: u64,
|
latency: u64,
|
||||||
|
@ -1344,7 +1406,7 @@ impl<'a> LatencyBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct StepBuilder<'a> {
|
pub struct StepBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
fmt: ::Format,
|
fmt: ::Format,
|
||||||
|
@ -1380,7 +1442,7 @@ impl<'a> StepBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct ReconfigureBuilder<'a> {
|
pub struct ReconfigureBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
|
@ -1398,7 +1460,7 @@ impl<'a> ReconfigureBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct TocSelectBuilder<'a> {
|
pub struct TocSelectBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
uid: &'a str,
|
uid: &'a str,
|
||||||
|
@ -1421,7 +1483,7 @@ impl<'a> TocSelectBuilder<'a> {
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct SelectStreamsBuilder<'a> {
|
pub struct SelectStreamsBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
streams: &'a [&'a str],
|
streams: &'a [&'a str],
|
||||||
|
@ -1444,7 +1506,7 @@ impl<'a> SelectStreamsBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CustomUpstreamBuilder<'a> {
|
pub struct CustomUpstreamBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
@ -1471,7 +1533,7 @@ impl<'a> CustomUpstreamBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CustomDownstreamBuilder<'a> {
|
pub struct CustomDownstreamBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
@ -1498,7 +1560,7 @@ impl<'a> CustomDownstreamBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CustomDownstreamOobBuilder<'a> {
|
pub struct CustomDownstreamOobBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
@ -1527,7 +1589,7 @@ impl<'a> CustomDownstreamOobBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CustomDownstreamStickyBuilder<'a> {
|
pub struct CustomDownstreamStickyBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
@ -1556,7 +1618,7 @@ impl<'a> CustomDownstreamStickyBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CustomBothBuilder<'a> {
|
pub struct CustomBothBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
@ -1582,7 +1644,7 @@ impl<'a> CustomBothBuilder<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct CustomBothOobBuilder<'a> {
|
pub struct CustomBothOobBuilder<'a> {
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
running_time_offset: Option<i64>,
|
running_time_offset: Option<i64>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<Structure>,
|
structure: Option<Structure>,
|
||||||
|
|
|
@ -85,3 +85,25 @@ pub fn parse_launchv_full<'a, P: Into<Option<&'a mut ParseContext>>>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn util_group_id_next() -> ::GroupId {
|
||||||
|
assert_initialized_main_thread!();
|
||||||
|
unsafe {
|
||||||
|
let v = from_glib(ffi::gst_util_group_id_next());
|
||||||
|
if v == ::GROUP_ID_INVALID {
|
||||||
|
return from_glib(ffi::gst_util_group_id_next());
|
||||||
|
}
|
||||||
|
v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn util_seqnum_next() -> ::Seqnum {
|
||||||
|
assert_initialized_main_thread!();
|
||||||
|
unsafe {
|
||||||
|
let v = from_glib(ffi::gst_util_seqnum_next());
|
||||||
|
if v == ::SEQNUM_INVALID {
|
||||||
|
return from_glib(ffi::gst_util_seqnum_next());
|
||||||
|
}
|
||||||
|
v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@ pub use bufferlist::{BufferList, BufferListRef};
|
||||||
pub mod query;
|
pub mod query;
|
||||||
pub use query::{Query, QueryRef, QueryView};
|
pub use query::{Query, QueryRef, QueryView};
|
||||||
pub mod event;
|
pub mod event;
|
||||||
pub use event::{Event, EventRef, EventView};
|
pub use event::{Event, EventRef, EventView, GroupId, Seqnum, GROUP_ID_INVALID, SEQNUM_INVALID};
|
||||||
pub mod context;
|
pub mod context;
|
||||||
pub use context::{Context, ContextRef};
|
pub use context::{Context, ContextRef};
|
||||||
mod static_caps;
|
mod static_caps;
|
||||||
|
|
|
@ -12,6 +12,8 @@ use miniobject::*;
|
||||||
use structure::*;
|
use structure::*;
|
||||||
use TagList;
|
use TagList;
|
||||||
use GstObjectExt;
|
use GstObjectExt;
|
||||||
|
use Seqnum;
|
||||||
|
use GroupId;
|
||||||
|
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
@ -41,8 +43,8 @@ impl MessageRef {
|
||||||
unsafe { from_glib_none((*self.as_ptr()).src) }
|
unsafe { from_glib_none((*self.as_ptr()).src) }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_seqnum(&self) -> u32 {
|
pub fn get_seqnum(&self) -> Seqnum {
|
||||||
unsafe { ffi::gst_message_get_seqnum(self.as_mut_ptr()) }
|
unsafe { from_glib(ffi::gst_message_get_seqnum(self.as_mut_ptr())) }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_structure(&self) -> Option<&StructureRef> {
|
pub fn get_structure(&self) -> Option<&StructureRef> {
|
||||||
|
@ -961,7 +963,7 @@ impl<'a> ResetTime<'a> {
|
||||||
|
|
||||||
pub struct StreamStart<'a>(&'a MessageRef);
|
pub struct StreamStart<'a>(&'a MessageRef);
|
||||||
impl<'a> StreamStart<'a> {
|
impl<'a> StreamStart<'a> {
|
||||||
pub fn get_group_id(&self) -> Option<u32> {
|
pub fn get_group_id(&self) -> Option<GroupId> {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut group_id = mem::uninitialized();
|
let mut group_id = mem::uninitialized();
|
||||||
|
|
||||||
|
@ -969,7 +971,7 @@ impl<'a> StreamStart<'a> {
|
||||||
self.0.as_mut_ptr(),
|
self.0.as_mut_ptr(),
|
||||||
&mut group_id,
|
&mut group_id,
|
||||||
)) {
|
)) {
|
||||||
Some(group_id)
|
Some(from_glib(group_id))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
@ -1151,7 +1153,7 @@ macro_rules! message_builder_generic_impl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn seqnum(self, seqnum: u32) -> Self {
|
pub fn seqnum(self, seqnum: Seqnum) -> Self {
|
||||||
Self {
|
Self {
|
||||||
seqnum: Some(seqnum),
|
seqnum: Some(seqnum),
|
||||||
.. self
|
.. self
|
||||||
|
@ -1173,7 +1175,7 @@ macro_rules! message_builder_generic_impl {
|
||||||
let src = self.src.to_glib_none().0;
|
let src = self.src.to_glib_none().0;
|
||||||
let msg = $new_fn(&mut self, src);
|
let msg = $new_fn(&mut self, src);
|
||||||
if let Some(seqnum) = self.seqnum {
|
if let Some(seqnum) = self.seqnum {
|
||||||
ffi::gst_message_set_seqnum(msg, seqnum);
|
ffi::gst_message_set_seqnum(msg, seqnum.to_glib());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -1194,7 +1196,7 @@ macro_rules! message_builder_generic_impl {
|
||||||
|
|
||||||
pub struct EosBuilder<'a> {
|
pub struct EosBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
impl<'a> EosBuilder<'a> {
|
impl<'a> EosBuilder<'a> {
|
||||||
|
@ -1219,7 +1221,7 @@ impl MessageErrorDomain for ::LibraryError {}
|
||||||
|
|
||||||
pub struct ErrorBuilder<'a, T> {
|
pub struct ErrorBuilder<'a, T> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
error: T,
|
error: T,
|
||||||
message: &'a str,
|
message: &'a str,
|
||||||
|
@ -1287,7 +1289,7 @@ impl<'a, T: MessageErrorDomain> ErrorBuilder<'a, T> {
|
||||||
|
|
||||||
pub struct WarningBuilder<'a, T> {
|
pub struct WarningBuilder<'a, T> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
error: T,
|
error: T,
|
||||||
message: &'a str,
|
message: &'a str,
|
||||||
|
@ -1355,7 +1357,7 @@ impl<'a, T: MessageErrorDomain> WarningBuilder<'a, T> {
|
||||||
|
|
||||||
pub struct InfoBuilder<'a, T> {
|
pub struct InfoBuilder<'a, T> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
error: T,
|
error: T,
|
||||||
message: &'a str,
|
message: &'a str,
|
||||||
|
@ -1423,7 +1425,7 @@ impl<'a, T: MessageErrorDomain> InfoBuilder<'a, T> {
|
||||||
|
|
||||||
pub struct TagBuilder<'a> {
|
pub struct TagBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
tags: &'a TagList,
|
tags: &'a TagList,
|
||||||
}
|
}
|
||||||
|
@ -1445,7 +1447,7 @@ impl<'a> TagBuilder<'a> {
|
||||||
|
|
||||||
pub struct BufferingBuilder<'a> {
|
pub struct BufferingBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
percent: i32,
|
percent: i32,
|
||||||
stats: Option<(::BufferingMode, i32, i32, i64)>,
|
stats: Option<(::BufferingMode, i32, i32, i64)>,
|
||||||
|
@ -1495,7 +1497,7 @@ impl<'a> BufferingBuilder<'a> {
|
||||||
|
|
||||||
pub struct StateChangedBuilder<'a> {
|
pub struct StateChangedBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
old: ::State,
|
old: ::State,
|
||||||
new: ::State,
|
new: ::State,
|
||||||
|
@ -1526,7 +1528,7 @@ impl<'a> StateChangedBuilder<'a> {
|
||||||
|
|
||||||
pub struct StateDirtyBuilder<'a> {
|
pub struct StateDirtyBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
impl<'a> StateDirtyBuilder<'a> {
|
impl<'a> StateDirtyBuilder<'a> {
|
||||||
|
@ -1544,7 +1546,7 @@ impl<'a> StateDirtyBuilder<'a> {
|
||||||
|
|
||||||
pub struct StepDoneBuilder<'a> {
|
pub struct StepDoneBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
format: ::Format,
|
format: ::Format,
|
||||||
amount: u64,
|
amount: u64,
|
||||||
|
@ -1595,7 +1597,7 @@ impl<'a> StepDoneBuilder<'a> {
|
||||||
|
|
||||||
pub struct ClockProvideBuilder<'a> {
|
pub struct ClockProvideBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
clock: &'a ::Clock,
|
clock: &'a ::Clock,
|
||||||
ready: bool,
|
ready: bool,
|
||||||
|
@ -1619,7 +1621,7 @@ impl<'a> ClockProvideBuilder<'a> {
|
||||||
|
|
||||||
pub struct ClockLostBuilder<'a> {
|
pub struct ClockLostBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
clock: &'a ::Clock,
|
clock: &'a ::Clock,
|
||||||
}
|
}
|
||||||
|
@ -1641,7 +1643,7 @@ impl<'a> ClockLostBuilder<'a> {
|
||||||
|
|
||||||
pub struct NewClockBuilder<'a> {
|
pub struct NewClockBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
clock: &'a ::Clock,
|
clock: &'a ::Clock,
|
||||||
}
|
}
|
||||||
|
@ -1663,7 +1665,7 @@ impl<'a> NewClockBuilder<'a> {
|
||||||
|
|
||||||
pub struct StructureChangeBuilder<'a> {
|
pub struct StructureChangeBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
type_: ::StructureChangeType,
|
type_: ::StructureChangeType,
|
||||||
owner: &'a ::Element,
|
owner: &'a ::Element,
|
||||||
|
@ -1694,7 +1696,7 @@ impl<'a> StructureChangeBuilder<'a> {
|
||||||
|
|
||||||
pub struct StreamStatusBuilder<'a> {
|
pub struct StreamStatusBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
type_: ::StreamStatusType,
|
type_: ::StreamStatusType,
|
||||||
owner: &'a ::Element,
|
owner: &'a ::Element,
|
||||||
|
@ -1732,7 +1734,7 @@ impl<'a> StreamStatusBuilder<'a> {
|
||||||
|
|
||||||
pub struct ApplicationBuilder<'a> {
|
pub struct ApplicationBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<::Structure>,
|
structure: Option<::Structure>,
|
||||||
}
|
}
|
||||||
|
@ -1754,7 +1756,7 @@ impl<'a> ApplicationBuilder<'a> {
|
||||||
|
|
||||||
pub struct ElementBuilder<'a> {
|
pub struct ElementBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
structure: Option<::Structure>,
|
structure: Option<::Structure>,
|
||||||
}
|
}
|
||||||
|
@ -1776,7 +1778,7 @@ impl<'a> ElementBuilder<'a> {
|
||||||
|
|
||||||
pub struct SegmentStartBuilder<'a> {
|
pub struct SegmentStartBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
position: ::FormatValue,
|
position: ::FormatValue,
|
||||||
}
|
}
|
||||||
|
@ -1802,7 +1804,7 @@ impl<'a> SegmentStartBuilder<'a> {
|
||||||
|
|
||||||
pub struct SegmentDoneBuilder<'a> {
|
pub struct SegmentDoneBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
position: ::FormatValue,
|
position: ::FormatValue,
|
||||||
}
|
}
|
||||||
|
@ -1828,7 +1830,7 @@ impl<'a> SegmentDoneBuilder<'a> {
|
||||||
|
|
||||||
pub struct DurationChangedBuilder<'a> {
|
pub struct DurationChangedBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
impl<'a> DurationChangedBuilder<'a> {
|
impl<'a> DurationChangedBuilder<'a> {
|
||||||
|
@ -1846,7 +1848,7 @@ impl<'a> DurationChangedBuilder<'a> {
|
||||||
|
|
||||||
pub struct LatencyBuilder<'a> {
|
pub struct LatencyBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
impl<'a> LatencyBuilder<'a> {
|
impl<'a> LatencyBuilder<'a> {
|
||||||
|
@ -1864,7 +1866,7 @@ impl<'a> LatencyBuilder<'a> {
|
||||||
|
|
||||||
pub struct AsyncStartBuilder<'a> {
|
pub struct AsyncStartBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
}
|
}
|
||||||
impl<'a> AsyncStartBuilder<'a> {
|
impl<'a> AsyncStartBuilder<'a> {
|
||||||
|
@ -1882,7 +1884,7 @@ impl<'a> AsyncStartBuilder<'a> {
|
||||||
|
|
||||||
pub struct AsyncDoneBuilder<'a> {
|
pub struct AsyncDoneBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
running_time: u64,
|
running_time: u64,
|
||||||
}
|
}
|
||||||
|
@ -1904,7 +1906,7 @@ impl<'a> AsyncDoneBuilder<'a> {
|
||||||
|
|
||||||
pub struct RequestStateBuilder<'a> {
|
pub struct RequestStateBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
state: ::State,
|
state: ::State,
|
||||||
}
|
}
|
||||||
|
@ -1926,7 +1928,7 @@ impl<'a> RequestStateBuilder<'a> {
|
||||||
|
|
||||||
pub struct StepStartBuilder<'a> {
|
pub struct StepStartBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
active: bool,
|
active: bool,
|
||||||
format: ::Format,
|
format: ::Format,
|
||||||
|
@ -1973,7 +1975,7 @@ impl<'a> StepStartBuilder<'a> {
|
||||||
|
|
||||||
pub struct QosBuilder<'a> {
|
pub struct QosBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
live: bool,
|
live: bool,
|
||||||
running_time: u64,
|
running_time: u64,
|
||||||
|
@ -2035,7 +2037,7 @@ impl<'a> QosBuilder<'a> {
|
||||||
|
|
||||||
pub struct ProgressBuilder<'a> {
|
pub struct ProgressBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
type_: ::ProgressType,
|
type_: ::ProgressType,
|
||||||
code: Option<&'a str>,
|
code: Option<&'a str>,
|
||||||
|
@ -2080,7 +2082,7 @@ impl<'a> ProgressBuilder<'a> {
|
||||||
|
|
||||||
pub struct TocBuilder<'a> {
|
pub struct TocBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
toc: &'a ::Toc,
|
toc: &'a ::Toc,
|
||||||
updated: bool,
|
updated: bool,
|
||||||
|
@ -2104,7 +2106,7 @@ impl<'a> TocBuilder<'a> {
|
||||||
|
|
||||||
pub struct ResetTimeBuilder<'a> {
|
pub struct ResetTimeBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
running_time: u64,
|
running_time: u64,
|
||||||
}
|
}
|
||||||
|
@ -2126,9 +2128,9 @@ impl<'a> ResetTimeBuilder<'a> {
|
||||||
|
|
||||||
pub struct StreamStartBuilder<'a> {
|
pub struct StreamStartBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
group_id: Option<u32>,
|
group_id: Option<GroupId>,
|
||||||
}
|
}
|
||||||
impl<'a> StreamStartBuilder<'a> {
|
impl<'a> StreamStartBuilder<'a> {
|
||||||
fn new() -> Self {
|
fn new() -> Self {
|
||||||
|
@ -2141,7 +2143,7 @@ impl<'a> StreamStartBuilder<'a> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn group_id(self, group_id: u32) -> Self {
|
pub fn group_id(self, group_id: GroupId) -> Self {
|
||||||
Self {
|
Self {
|
||||||
group_id: Some(group_id),
|
group_id: Some(group_id),
|
||||||
..self
|
..self
|
||||||
|
@ -2151,7 +2153,7 @@ impl<'a> StreamStartBuilder<'a> {
|
||||||
message_builder_generic_impl!(|s: &mut Self, src| {
|
message_builder_generic_impl!(|s: &mut Self, src| {
|
||||||
let msg = ffi::gst_message_new_stream_start(src);
|
let msg = ffi::gst_message_new_stream_start(src);
|
||||||
if let Some(group_id) = s.group_id {
|
if let Some(group_id) = s.group_id {
|
||||||
ffi::gst_message_set_group_id(msg, group_id);
|
ffi::gst_message_set_group_id(msg, group_id.to_glib());
|
||||||
}
|
}
|
||||||
msg
|
msg
|
||||||
});
|
});
|
||||||
|
@ -2159,7 +2161,7 @@ impl<'a> StreamStartBuilder<'a> {
|
||||||
|
|
||||||
pub struct NeedContextBuilder<'a> {
|
pub struct NeedContextBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
context_type: &'a str,
|
context_type: &'a str,
|
||||||
}
|
}
|
||||||
|
@ -2181,7 +2183,7 @@ impl<'a> NeedContextBuilder<'a> {
|
||||||
|
|
||||||
pub struct HaveContextBuilder<'a> {
|
pub struct HaveContextBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
context: Option<::Context>,
|
context: Option<::Context>,
|
||||||
}
|
}
|
||||||
|
@ -2204,7 +2206,7 @@ impl<'a> HaveContextBuilder<'a> {
|
||||||
|
|
||||||
pub struct DeviceAddedBuilder<'a> {
|
pub struct DeviceAddedBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
device: &'a ::Device,
|
device: &'a ::Device,
|
||||||
}
|
}
|
||||||
|
@ -2226,7 +2228,7 @@ impl<'a> DeviceAddedBuilder<'a> {
|
||||||
|
|
||||||
pub struct DeviceRemovedBuilder<'a> {
|
pub struct DeviceRemovedBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
device: &'a ::Device,
|
device: &'a ::Device,
|
||||||
}
|
}
|
||||||
|
@ -2249,7 +2251,7 @@ impl<'a> DeviceRemovedBuilder<'a> {
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct PropertyNotifyBuilder<'a> {
|
pub struct PropertyNotifyBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
property_name: &'a str,
|
property_name: &'a str,
|
||||||
value: &'a glib::Value,
|
value: &'a glib::Value,
|
||||||
|
@ -2279,7 +2281,7 @@ impl<'a> PropertyNotifyBuilder<'a> {
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct StreamCollectionBuilder<'a> {
|
pub struct StreamCollectionBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
collection: &'a ::StreamCollection,
|
collection: &'a ::StreamCollection,
|
||||||
}
|
}
|
||||||
|
@ -2303,7 +2305,7 @@ impl<'a> StreamCollectionBuilder<'a> {
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct StreamsSelectedBuilder<'a> {
|
pub struct StreamsSelectedBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))] collection: &'a ::StreamCollection,
|
#[cfg(any(feature = "v1_10", feature = "dox"))] collection: &'a ::StreamCollection,
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))] streams: Option<&'a [&'a ::Stream]>,
|
#[cfg(any(feature = "v1_10", feature = "dox"))] streams: Option<&'a [&'a ::Stream]>,
|
||||||
|
@ -2342,7 +2344,7 @@ impl<'a> StreamsSelectedBuilder<'a> {
|
||||||
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub struct RedirectBuilder<'a> {
|
pub struct RedirectBuilder<'a> {
|
||||||
src: Option<Object>,
|
src: Option<Object>,
|
||||||
seqnum: Option<u32>,
|
seqnum: Option<Seqnum>,
|
||||||
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
other_fields: Vec<(&'a str, &'a ToSendValue)>,
|
||||||
location: &'a str,
|
location: &'a str,
|
||||||
tag_list: Option<&'a TagList>,
|
tag_list: Option<&'a TagList>,
|
||||||
|
|
Loading…
Reference in a new issue