[Bug 729760] appsrc: Changing caps and pushing buffers is not serialized

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jul 28 21:51:30 PDT 2014


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

comicfans44 <comicfans44> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #281836|0                           |1
        is obsolete|                            |

--- Comment #10 from comicfans44 <comicfans44 at gmail.com> 2014-07-29 04:51:27 UTC ---
Created an attachment (id=281900)
 View: https://bugzilla.gnome.org/attachment.cgi?id=281900
 Review: https://bugzilla.gnome.org/review?bug=729760&attachment=281900

a draft patch to serialize caps set action together with buffer

this is a patch try to solve the problem ,it modified appsrc as following:

queue new caps after buffer in priv->queue (or replace tail caps)
add last_caps to store last caps setted to appsrc, to help check if new caps is
changed
add current_caps to store current caps used , .(which is used in last
gst_base_src_set_caps call)

for convenience, current/last_caps is nevel NULL, but use gst_caps_new_any

it leaves some problem, which caps should gst_app_src_get_caps return ? 
docs said "Get the configured caps on appsrc " in original implementation, it
returns new caps even if haven't been used, is this correct when it's called as
basesrc_class->get_caps ?  if caps is queued ,which caps should be returned ?

please feel free to correct this

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the gstreamer-bugs mailing list