After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 699352 - [PATCH] shm: Allow caps to change in PLAYING state
[PATCH] shm: Allow caps to change in PLAYING state
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-04-30 19:59 UTC by Joshua M. Doe
Modified: 2018-11-03 13:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for shm 0.10 to allow caps string to be sent to clients (8.49 KB, patch)
2013-05-03 16:46 UTC, Joshua M. Doe
none Details | Review

Description Joshua M. Doe 2013-04-30 19:59:09 UTC
I'd like to extend shmsrc/shmsink to support changing of caps while in the PLAYING state, though I'm really only interested in width and height changing. A new ShmPipe command would be needed, such as COMMAND_NEW_CAPS, which would include a string set by gst_caps_to_string in shmsink. Upon shmsrc receiving this command, in 0.10 the new caps would just be set to the subsequent buffers, and in 1.0 a CAPS event would be sent. Certainly this breaks API compatibility somewhat, but this could be mitigated by adding an allow-reconfigure property to shmsink that defaults to FALSE. Is any of this reasonable?
Comment 1 Olivier Crête 2013-04-30 20:32:06 UTC
The current design of shmsink/shmsrc is that it doesn't do caps at all, it's like fdsink/fdsrc. You may want to use gdppay if you want the full gst handling, although I guess that means you don't get zerocopy.
Comment 2 Joshua M. Doe 2013-05-03 16:46:56 UTC
Created attachment 243219 [details] [review]
patch for shm 0.10 to allow caps string to be sent to clients
Comment 3 Joshua M. Doe 2013-05-03 16:54:48 UTC
I've attached a patch that does this for 0.10, but will port to 1.0 if it would be accepted upstream. This is applied on top of the patch [here](https://bugzilla.gnome.org/show_bug.cgi?id=698657), but does not depend on it.

I know the current design is to have ShmPipe be completely independent of any GStreamer concepts, but I'm not sure what the value is in this. This patch, while perhaps crude, does allow the caps to be changed during the PLAYING state (convenient for me where an application can toggle between views of different width/height/format), and perhaps significant to more people is that a capsfilter is no longer needed with shmsrc.
Comment 4 Olivier Crête 2013-05-03 17:34:08 UTC
if you are to send caps, you also want to send timestamps, segments, tags, whatnot.. And then you just re-invented gdp!
Comment 5 Joshua M. Doe 2013-05-03 18:06:36 UTC
I personally have no interest in any of those other features, as the ability to change caps and do zerocopy is all that matters to me. I think the gap in complexity from what I'm proposing to what gdp does is pretty huge, especially when you talk about custom implementations of a shm writer. If this is out of scope, that's fine, or if you have a suggestion as to how I can get zerocopy and caps changing, I'll try it out.
Comment 6 GStreamer system administrator 2018-11-03 13:15:34 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/94.