diff --git a/gst/elements/gstfilesrc.c b/gst/elements/gstfilesrc.c index e1d4bff973..fcdb643093 100644 --- a/gst/elements/gstfilesrc.c +++ b/gst/elements/gstfilesrc.c @@ -623,7 +623,7 @@ gst_filesrc_get_mmap (GstFileSrc *src) /* subbuffer it */ buf = gst_buffer_create_sub (src->mapbuf, src->curoffset - nextmap, readsize); - GST_BUFFER_OFFSET (buf) = mapstart + src->curoffset - nextmap; + GST_BUFFER_OFFSET (buf) = GST_BUFFER_OFFSET (src->mapbuf) + src->curoffset - nextmap; } } } @@ -637,6 +637,8 @@ gst_filesrc_get_mmap (GstFileSrc *src) } /* we're done, return the buffer */ + g_assert (src->curoffset == GST_BUFFER_OFFSET (buf)); + g_print ("offset %u %u\n", (guint) src->curoffset, (guint) GST_BUFFER_OFFSET (buf)); src->curoffset += GST_BUFFER_SIZE(buf); return buf; } diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c index e1d4bff973..fcdb643093 100644 --- a/plugins/elements/gstfilesrc.c +++ b/plugins/elements/gstfilesrc.c @@ -623,7 +623,7 @@ gst_filesrc_get_mmap (GstFileSrc *src) /* subbuffer it */ buf = gst_buffer_create_sub (src->mapbuf, src->curoffset - nextmap, readsize); - GST_BUFFER_OFFSET (buf) = mapstart + src->curoffset - nextmap; + GST_BUFFER_OFFSET (buf) = GST_BUFFER_OFFSET (src->mapbuf) + src->curoffset - nextmap; } } } @@ -637,6 +637,8 @@ gst_filesrc_get_mmap (GstFileSrc *src) } /* we're done, return the buffer */ + g_assert (src->curoffset == GST_BUFFER_OFFSET (buf)); + g_print ("offset %u %u\n", (guint) src->curoffset, (guint) GST_BUFFER_OFFSET (buf)); src->curoffset += GST_BUFFER_SIZE(buf); return buf; }