diff options
author | François Laignel <fengalin@free.fr> | 2020-04-20 22:35:06 +0300 |
---|---|---|
committer | François Laignel <fengalin@free.fr> | 2020-05-25 19:31:48 +0300 |
commit | 1bea2ad27922896c40f95aaca636a479048757f2 (patch) | |
tree | 02e9d02acf412eb793fe33b86e8ded08f3cc1a07 /generic/threadshare/src/dataqueue.rs | |
parent | b3138ad0411c68b59a2df8ce8a27511e0fb21916 (diff) |
threadshare: introduce TaskImpl trait
TaskImpl is the trait for specific Task behaviour. It is the basis
of a new Task model. The main motivation for this model is to ease
threadsafe implementations of state transitions.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/298
Diffstat (limited to 'generic/threadshare/src/dataqueue.rs')
-rw-r--r-- | generic/threadshare/src/dataqueue.rs | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/generic/threadshare/src/dataqueue.rs b/generic/threadshare/src/dataqueue.rs index 300e39764..9d206061a 100644 --- a/generic/threadshare/src/dataqueue.rs +++ b/generic/threadshare/src/dataqueue.rs @@ -67,7 +67,6 @@ impl DataQueueItem { #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum DataQueueState { - Paused, Started, Stopped, } @@ -137,18 +136,6 @@ impl DataQueue { inner.wake(); } - pub fn pause(&self) { - let mut inner = self.0.lock().unwrap(); - if inner.state == DataQueueState::Paused { - gst_debug!(DATA_QUEUE_CAT, obj: &inner.element, "Data queue already Paused"); - return; - } - gst_debug!(DATA_QUEUE_CAT, obj: &inner.element, "Pausing data queue"); - assert_eq!(DataQueueState::Started, inner.state); - inner.state = DataQueueState::Paused; - inner.wake(); - } - pub fn stop(&self) { let mut inner = self.0.lock().unwrap(); if inner.state == DataQueueState::Stopped { @@ -163,7 +150,6 @@ impl DataQueue { pub fn clear(&self) { let mut inner = self.0.lock().unwrap(); - assert_eq!(inner.state, DataQueueState::Paused); gst_debug!(DATA_QUEUE_CAT, obj: &inner.element, "Clearing data queue"); let src_pad = inner.src_pad.clone(); @@ -259,10 +245,6 @@ impl DataQueue { return Some(item); } }, - DataQueueState::Paused => { - gst_debug!(DATA_QUEUE_CAT, obj: &inner.element, "Data queue Paused"); - return None; - } DataQueueState::Stopped => { gst_debug!(DATA_QUEUE_CAT, obj: &inner.element, "Data queue Stopped"); return None; |