Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrançois Laignel <fengalin@free.fr>2020-04-20 22:35:06 +0300
committerFrançois Laignel <fengalin@free.fr>2020-05-25 19:31:48 +0300
commit1bea2ad27922896c40f95aaca636a479048757f2 (patch)
tree02e9d02acf412eb793fe33b86e8ded08f3cc1a07 /generic/threadshare/src/dataqueue.rs
parentb3138ad0411c68b59a2df8ce8a27511e0fb21916 (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.rs18
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;