diff options
author | François Laignel <fengalin@free.fr> | 2021-05-26 12:54:34 +0300 |
---|---|---|
committer | François Laignel <fengalin@free.fr> | 2021-06-05 11:36:21 +0300 |
commit | 8f81cb881262aba9ba4aa2c1d7579e2467b3a596 (patch) | |
tree | 7310df86f506f57cd37dda9962c81d708b6178b0 /generic/threadshare/src/dataqueue.rs | |
parent | 17feaa8c71a1915e57d05311fe8c1deedb5b97a1 (diff) |
generic: migrate to new ClockTime design
Diffstat (limited to 'generic/threadshare/src/dataqueue.rs')
-rw-r--r-- | generic/threadshare/src/dataqueue.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/generic/threadshare/src/dataqueue.rs b/generic/threadshare/src/dataqueue.rs index 263a25cf8..48f9d31da 100644 --- a/generic/threadshare/src/dataqueue.rs +++ b/generic/threadshare/src/dataqueue.rs @@ -25,7 +25,7 @@ use once_cell::sync::Lazy; use std::collections::VecDeque; use std::sync::Arc; use std::sync::Mutex as StdMutex; -use std::{u32, u64}; +use std::u32; static DATA_QUEUE_CAT: Lazy<gst::DebugCategory> = Lazy::new(|| { gst::DebugCategory::new( @@ -54,12 +54,10 @@ impl DataQueueItem { } } - fn timestamp(&self) -> Option<u64> { + fn timestamp(&self) -> Option<gst::ClockTime> { match *self { - DataQueueItem::Buffer(ref buffer) => buffer.dts_or_pts().0, - DataQueueItem::BufferList(ref list) => { - list.iter().filter_map(|b| b.dts_or_pts().0).next() - } + DataQueueItem::Buffer(ref buffer) => buffer.dts_or_pts(), + DataQueueItem::BufferList(ref list) => list.iter().find_map(|b| b.dts_or_pts()), DataQueueItem::Event(_) => None, } } @@ -86,7 +84,7 @@ struct DataQueueInner { cur_size_bytes: u32, max_size_buffers: Option<u32>, max_size_bytes: Option<u32>, - max_size_time: Option<u64>, + max_size_time: Option<gst::ClockTime>, pending_handle: Option<AbortHandle>, } @@ -105,7 +103,7 @@ impl DataQueue { src_pad: &gst::Pad, max_size_buffers: Option<u32>, max_size_bytes: Option<u32>, - max_size_time: Option<u64>, + max_size_time: impl Into<Option<gst::ClockTime>>, ) -> DataQueue { DataQueue(Arc::new(StdMutex::new(DataQueueInner { element: element.clone(), @@ -116,7 +114,7 @@ impl DataQueue { cur_size_bytes: 0, max_size_buffers, max_size_bytes, - max_size_time, + max_size_time: max_size_time.into(), pending_handle: None, }))) } |