diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c index 9844f0d9c2..87402c8ed9 100644 --- a/plugins/elements/gstfilesrc.c +++ b/plugins/elements/gstfilesrc.c @@ -836,8 +836,12 @@ gst_file_src_create_read (GstFileSrc * src, guint64 offset, guint length, } /* files should eos if they read 0 and more was requested */ - if (G_UNLIKELY (ret == 0)) + if (G_UNLIKELY (ret == 0)) { + /* .. but first we should return any remaining data */ + if (bytes_read > 0) + break; goto eos; + } to_read -= ret; bytes_read += ret;