use fetch_add
This commit is contained in:
parent
a50e195dca
commit
a52a0fa399
@ -125,7 +125,7 @@ impl Iterator for Source {
|
||||
self.current_node.add_filter();
|
||||
self.current_node.begin = Some(get_sec());
|
||||
|
||||
self.index.store(i + 1, Ordering::SeqCst);
|
||||
self.index.fetch_add(1, Ordering::SeqCst);
|
||||
|
||||
Some(self.current_node.clone())
|
||||
} else {
|
||||
|
@ -95,8 +95,7 @@ impl CurrentProgram {
|
||||
*self.nodes.lock().unwrap() = json.program;
|
||||
|
||||
self.get_current_clip();
|
||||
let idx = self.index.load(Ordering::SeqCst);
|
||||
self.index.store(idx + 1, Ordering::SeqCst);
|
||||
self.index.fetch_add(1, Ordering::SeqCst);
|
||||
}
|
||||
} else {
|
||||
error!(
|
||||
@ -222,12 +221,10 @@ impl CurrentProgram {
|
||||
|
||||
if !self.playout_stat.list_init.load(Ordering::SeqCst) {
|
||||
let time_sec = self.get_current_time();
|
||||
let index = self.index.load(Ordering::SeqCst);
|
||||
let index = self.index.fetch_add(1, Ordering::SeqCst);
|
||||
|
||||
// de-instance node to preserve original values in list
|
||||
let mut node_clone = self.nodes.lock().unwrap()[index].clone();
|
||||
let idx = self.index.load(Ordering::SeqCst);
|
||||
self.index.store(idx + 1, Ordering::SeqCst);
|
||||
|
||||
node_clone.seek = time_sec - node_clone.begin.unwrap();
|
||||
self.current_node = handle_list_init(node_clone);
|
||||
@ -276,6 +273,7 @@ impl Iterator for CurrentProgram {
|
||||
if self.config.playlist.start_sec.unwrap() > current_time {
|
||||
current_time += self.config.playlist.length_sec.unwrap() + 1.0;
|
||||
}
|
||||
|
||||
let mut media = Media::new(0, String::new(), false);
|
||||
media.begin = Some(current_time);
|
||||
media.duration = duration;
|
||||
@ -308,7 +306,7 @@ impl Iterator for CurrentProgram {
|
||||
&self.playout_stat,
|
||||
);
|
||||
self.last_next_ad();
|
||||
self.index.store(index + 1, Ordering::SeqCst);
|
||||
self.index.fetch_add(1, Ordering::SeqCst);
|
||||
|
||||
// update playlist should happen after current clip,
|
||||
// to prevent unknown behaviors.
|
||||
@ -342,7 +340,7 @@ impl Iterator for CurrentProgram {
|
||||
self.current_node.last_ad = last_ad;
|
||||
self.current_node.add_filter();
|
||||
|
||||
self.index.store(index + 1, Ordering::SeqCst);
|
||||
self.index.fetch_add(1, Ordering::SeqCst);
|
||||
|
||||
return Some(self.current_node.clone());
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ pub fn json_rpc_server(
|
||||
info!("Move to last clip");
|
||||
let mut data_map = Map::new();
|
||||
let mut media = play.current_list.lock().unwrap()[index - 2].clone();
|
||||
play.index.store(index - 2, Ordering::SeqCst);
|
||||
play.index.fetch_sub(2, Ordering::SeqCst);
|
||||
media.add_probe();
|
||||
|
||||
let (delta, _) = get_delta(&media.begin.unwrap_or(0.0));
|
||||
|
Loading…
x
Reference in New Issue
Block a user