[Bug 744191] New: encodebin: need more buffers in output queue for better performance

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Feb 8 23:58:47 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=744191
  GStreamer | gst-plugins-base | 1.4.1

           Summary: encodebin: need more buffers in output queue for
                    better performance
    Classification: Platform
           Product: GStreamer
           Version: 1.4.1
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: kevinbing.song at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Issue:

The camera application which based on camerabin performance is bad. The
recorded file only has 16 fps. Our expect is 30 fps. Recorder can reach 29.9
fps after changed encodebin output queue buffer count to 50.

Root cause:

encodebin have two queue, one for video encoder input buffer, the other used
for video encoder output buffer. The input buffer can buffer more data when
video encoder performance is bad.

The output queue set max buffers to one. Our video encoder is based on
hardware, the video encoder performance is ok for 1080p at 30fps. Video encoder
use video buffer pool with video source, the video buffer pool has limited max
buffers, so the input buffer can't buffer too much video frame buffers.

The root cause of the issue seems the file sink will cost long time when the
cached file sync to external storage.

Solution:

1. Change the output queue setting. Maybe same with input queue.
2. Add one queue between muxer and filesink. The queue should buffer many
buffers to remove the storage effect.

What's you option. I can upload after we have decision.

-- 
Configure bugmail: https://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