Skip to content

Commit 89e9312

Browse files
authored
Merge pull request #440 from nathansizemore/h264-reader-io-errors
Surfaces io::Error from H264Reader read.
2 parents 64bdcd5 + 4949219 commit 89e9312

File tree

1 file changed

+6
-6
lines changed
  • media/src/io/h264_reader

1 file changed

+6
-6
lines changed

media/src/io/h264_reader/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ impl<R: Read> H264Reader<R> {
154154
}
155155
}
156156

157-
fn read(&mut self, num_to_read: usize) -> Bytes {
157+
fn read(&mut self, num_to_read: usize) -> Result<Bytes> {
158158
let buf = &mut self.temp_buf;
159159
while self.read_buffer.len() < num_to_read {
160160
let n = match self.reader.read(buf) {
@@ -164,7 +164,7 @@ impl<R: Read> H264Reader<R> {
164164
}
165165
n
166166
}
167-
Err(_) => break,
167+
Err(e) => return Err(Error::Io(e.into())),
168168
};
169169

170170
self.read_buffer.extend_from_slice(&buf[0..n]);
@@ -176,15 +176,15 @@ impl<R: Read> H264Reader<R> {
176176
self.read_buffer.len()
177177
};
178178

179-
Bytes::from(
179+
Ok(Bytes::from(
180180
self.read_buffer
181181
.drain(..num_should_read)
182182
.collect::<Vec<u8>>(),
183-
)
183+
))
184184
}
185185

186186
fn bit_stream_starts_with_h264prefix(&mut self) -> Result<usize> {
187-
let prefix_buffer = self.read(4);
187+
let prefix_buffer = self.read(4)?;
188188

189189
let n = prefix_buffer.len();
190190
if n == 0 {
@@ -228,7 +228,7 @@ impl<R: Read> H264Reader<R> {
228228
}
229229

230230
loop {
231-
let buffer = self.read(1);
231+
let buffer = self.read(1)?;
232232
let n = buffer.len();
233233

234234
if n != 1 {

0 commit comments

Comments
 (0)