[Bug 795747] New: allocation: add event notifying downstream about allocated buffers

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed May 2 09:14:31 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=795747

            Bug ID: 795747
           Summary: allocation: add event notifying downstream about
                    allocated buffers
    Classification: Platform
           Product: GStreamer
           Version: unspecified
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: gdesmott at gnome.org
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

We have a couple of use cases where elements would need to know about the
buffers which have been allocated upstream:
- bug #794817 : Msdk requires to know all the dmabuf fds which will be used.
- bug #795746 : in gst-omx when using dynamic buffer mode, we'd like to have
the same number of input/output buffers allocated on two consecutive ports.

This is not possible with the current allocation API. The ALLOCATION query
retrieves information from downstream but does not propagate its own
requirement or notify downstream about what has actually be allocated.

We could solve this by adding a new serialized downstream event sent once
buffers have been allocated.

Here is the event I used in my local branch to try solving #795746.
It is sent as soon as the pool has been activated.

gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM,
    gst_structure_new ("buffers-allocated",
         "nb-buffers", G_TYPE_UINT, min,
         "pool", GST_TYPE_BUFFER_POOL, self->out_port_pool, NULL));

We could retrieve the number of buffers from the pool but having a specific
field make it usable even if no pool is being used.

Open questions:
- Proper naming of this event and its fields.
- Should we resend this event if extra buffers are being allocated in the pool?

-- 
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