[Bug 728379] New: appsink/appsrc: caps negotiation/parsing regression

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Apr 16 15:13:13 PDT 2014


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

           Summary: appsink/appsrc: caps negotiation/parsing regression
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: lists at svrinformatica.it
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


In 0.10 you can do this:

rtspsrc ... ! rtph264depay ! h264parse !
video/x-h264,stream-format=avc,alignment=au ! appsink

and then:

appsrc ! queue ! matroskamux ! ...

and it works fine,

in 1.0 to make this works in the appsink callback you have to get the caps from
the sample and explictly set them on appsrc, if you set something generic like
video/x-h264,stream-format=avc,alignment=au on appsrc it does not work

in conclusion, in 0.10 the caps of the buffers sent to appsrc are automatically
recognized, in 1.0 even putting an h264parse after appsrc or setting some
generic caps is not enough, you have to wait for the first buffer on the
appsink callback, get the full caps such as:

video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142001fffe100146742001fe29019026fcb80b7010101a41e24454001000468ce3c80,
width=(int)800, height=(int)600, framerate=(fraction)0/1, parsed=(boolean)true,
pixel-aspect-ratio=(fraction)1/1" 

and set them on appsrc before start to send buffers,

0.10 was much more convenient, would be useful to restore the old way to
negotiate/propagate buffers caps. 

Probably in 0.10 this works since each buffer has caps setted, in 1.0 the caps
are on the samples and not on the buffers and in appsink callbacks we get
samples, so why we push buffers and not samples to appsrc? Is this intentional
for some technical reasons or an incomplete implementation?

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