[Bug 682770] v4l2src breaks after renegotiation

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Sep 7 09:28:47 PDT 2012


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

--- Comment #7 from Wim Taymans <wim.taymans at gmail.com> 2012-09-07 16:28:43 UTC ---
(In reply to comment #6)
> It could, but you don't necessarily need to DRAIN the full pipeline, only the
> buffers from one specific bufferpool. I don't think you want to necessarily
> wait until the pipeline is drained before starting to capture new buffers
> again, especially when doing live encoding where there is some buffering in the
> local pipeline.

Some options:

1) add option to the DRAIN query to only drain the buffers from the pool. Like
a shallow DRAIN or something.

2) add new serialized query (DRAIN_POOL maybe) instead of adding this to the
DRAIN query.

3) add new event (RELEASE_BUFFERS) to release all bufferpool buffers. This
would also need a new callback or a _buffer_pool_wait() function to wait until
the buffers are returned to the pool.

About 1): overloading events with too many functions doesn't seem like a good
idea. 2) would be better and then you can also add the bufferpool to drain in
the query.

I think 3) is the best option.

Another thing is that the encoder (or queue) could make a copy of the
bufferpool buffers and release the original ones back into the pool to release
the buffers quicker.

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