[gstreamer-bugs] [Bug 619844] New: [basetransform] transform_caps can ignore pass-through

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu May 27 08:45:43 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=619844
  GStreamer | gstreamer (core) | git

           Summary: [basetransform] transform_caps can ignore pass-through
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: otte at gnome.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Due to the way basetransform calls transform_caps it is possible that
passthrough caps aren't used. To reproduce, the following launch line can be
used:
gst-launch videotestsrc !
video/x-raw-yuv,format=\(4\)YV12\;video/x-raw-yuv,format=\(4\)I420 !
ffmpegcolorspace !
video/x-raw-yuv,format=\(4\)YV12\;video/x-raw-yuv,format=\(4\)I420 !
ffmpegcolorspace ! video/x-raw-yuv,format=\(4\)YV12 ! xvimagesink -v
This should show the pipeline switching from YV12 to I420, even though
everywhere (but in template caps), YV12 is the preferred format.

Here's what happens:
Suppose we have a caps with two structures A B. The transform_caps function T
will then transform them into a new caps A T(A) B T(B)
If the peer then accepts caps from T(A) and B, it will not use the passthrough
caps from B but the caps from T(A). And there's nothing an element can do about
it.

A suggestion is to add a flag to basetranform to say "pass the whole caps to
the transform func instead of structure-by-structure". This would solve this
issue and also the performance issues from bug 619806

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