Commit cf5de908 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller
Browse files

filesrc: minor cosmetic changes

Rename woffset variable, maintain separate bytes_read in addition
to length variable.
parent f2d76b7e
...@@ -800,7 +800,7 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length, ...@@ -800,7 +800,7 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length,
{ {
int ret; int ret;
GstBuffer *buf; GstBuffer *buf;
guint64 woffset; guint to_read, bytes_read;
if (G_UNLIKELY (src->read_position != offset)) { if (G_UNLIKELY (src->read_position != offset)) {
off_t res; off_t res;
...@@ -822,12 +822,13 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length, ...@@ -822,12 +822,13 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length,
GST_BUFFER_SIZE (buf) = 0; GST_BUFFER_SIZE (buf) = 0;
GST_BUFFER_OFFSET (buf) = offset; GST_BUFFER_OFFSET (buf) = offset;
GST_BUFFER_OFFSET_END (buf) = offset; GST_BUFFER_OFFSET_END (buf) = offset;
woffset = 0; bytes_read = 0;
while (length > 0) { to_read = length;
while (to_read > 0) {
GST_LOG_OBJECT (src, "Reading %d bytes at offset 0x%" G_GINT64_MODIFIER "x", GST_LOG_OBJECT (src, "Reading %d bytes at offset 0x%" G_GINT64_MODIFIER "x",
length, offset + woffset); to_read, offset + bytes_read);
errno = 0; errno = 0;
ret = read (src->fd, GST_BUFFER_DATA (buf) + woffset, length); ret = read (src->fd, GST_BUFFER_DATA (buf) + bytes_read, to_read);
if (G_UNLIKELY (ret < 0)) { if (G_UNLIKELY (ret < 0)) {
if (errno == EAGAIN || errno == EINTR) if (errno == EAGAIN || errno == EINTR)
continue; continue;
...@@ -838,14 +839,15 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length, ...@@ -838,14 +839,15 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length,
if (G_UNLIKELY (ret == 0)) if (G_UNLIKELY (ret == 0))
goto eos; goto eos;
length -= ret; to_read -= ret;
woffset += ret; bytes_read += ret;
GST_BUFFER_SIZE (buf) += ret;
GST_BUFFER_OFFSET_END (buf) += ret;
src->read_position += ret; src->read_position += ret;
} }
GST_BUFFER_SIZE (buf) = bytes_read;
GST_BUFFER_OFFSET_END (buf) = offset + bytes_read;
*buffer = buf; *buffer = buf;
return GST_FLOW_OK; return GST_FLOW_OK;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment