diff --git a/src/bin/loop_server.rs b/src/bin/loop_server.rs index 88c85b0..20083b5 100644 --- a/src/bin/loop_server.rs +++ b/src/bin/loop_server.rs @@ -9,8 +9,8 @@ use hyper::{Get, StatusCode}; use hyper::header::ContentType; use hyper::server::{Http, Request, Response, Service}; use std::env::args; -use std::rc::Rc; use std::net::ToSocketAddrs; +use std::sync::Arc; const SRC_FILE: &'static [u8] = include_bytes!("../data/test1.webm"); @@ -26,7 +26,7 @@ impl Service for WebmServer { fn call(&self, req: Request) -> Self::Future { let response = match (req.method(), req.path()) { (&Get, "/loop") => { - let stream: BodyStream = Box::new(once(Ok(Chunk::Headers {bytes: Rc::new(SRC_FILE)}))); + let stream: BodyStream = Box::new(once(Ok(Chunk::Headers {bytes: Arc::new(SRC_FILE)}))); Response::new() .with_header(ContentType("video/webm".parse().unwrap())) .with_body(stream) diff --git a/src/chunk.rs b/src/chunk.rs index 4c46bfd..1d82db7 100644 --- a/src/chunk.rs +++ b/src/chunk.rs @@ -1,11 +1,11 @@ use std::io::Cursor; -use std::rc::Rc; +use std::sync::Arc; use webm::*; #[derive(Clone)] pub enum Chunk = Vec> { Headers { - bytes: Rc + bytes: Arc }, ClusterHead { keyframe: bool, @@ -15,7 +15,7 @@ pub enum Chunk = Vec> { bytes: [u8;16] }, ClusterBody { - bytes: Rc + bytes: Arc } }