[Bug 702972] New: Issue with gst_audio_ring_buffer_prepare_read() of gstaudioringbuffer

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jun 24 05:55:28 PDT 2013


http://bugzilla.gnome.org/show_bug.cgi?id=702972
  GStreamer | gst-plugins-base | 1.0.7

           Summary: Issue with gst_audio_ring_buffer_prepare_read() of
                    gstaudioringbuffer
    Classification: Platform
           Product: GStreamer
           Version: 1.0.7
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: visechelle at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=247632)
 View: http://bugzilla.gnome.org/attachment.cgi?id=247632
 Review: http://bugzilla.gnome.org/review?bug=702972&attachment=247632

Patch

gst_audio_ring_buffer_prepare_read() reads per segment whereas default_commit()
might not filled totally the segment depending on the sample offset for
instance. This means that gst_audio_ring_buffer_prepare_read() might read a
partially written segment.
In the patch in attachment, I added a "writepointer" which makes it possible to
calculate the difference between the last written segment and the last read
segment in gst_audio_ring_buffer_prepare_read(). If the difference is lower
than 1 the function sets the readpointer (readptr) to the previous segment read
and decrement segdone as it should be incremented later on by the function
calling gst_audio_ring_buffer_prepare_read().

This adds an extra latency as there will be always at least one full segment in
the audioringbuffer and there might be a more optimize way to handle such a
case.

Please comments if I am saying something wrong :)

-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list