[Bug 706478] New: GstAppSrc: new gst_app_src_push_sample() API for appsrc

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Aug 21 03:40:43 PDT 2013


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

           Summary: GstAppSrc: new gst_app_src_push_sample() API for
                    appsrc
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: kishore.arepalli at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Would be better if both GstAppSrc and GstAppSink operate on GstSample. 

Use case: If a pipeline bridge is created between appsink of a pipeline to
appsrc of another pipeline then, always buffer copy has to be made before
pushing the buffer to GstAppSrc, because there is no API on appsrc which can
accept GstSample of GstSample of the GstAppSink (gst_app_sink_pull_sample API).

There is an overhead of gst_buffer_copy of every buffer in the following code
(Present API)
  GstSample *sample = gst_app_sink_pull_sample(appsink);
  gst_app_src_push_buffer(appsrc,
     gst_buffer_copy(gst_sample_get_buffer(sample)));
  gst_sample_unref(sample);
  // push_buffer api takes owner ship of the GstBuffer, so we can't just pass
the buffer of the sample instead we have to copy the buffer and push to appsrc

With the proposed API for GstAppSrc (gst_app_src_push_sample())

  GstSample *sample = gst_app_sink_pull_sample(appsink);
  gst_app_src_push_sample(appsrc, sample); // which will take owner ship of the
sample

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