summaryrefslogtreecommitdiff
path: root/sys/shm
Commit message (Collapse)AuthorAgeFilesLines
* plugins-sys: allow per feature registrationStéphane Cerveau2021-04-095-4/+13
| | | | | | | | | | | | | Split plugin into features including dynamic types which can be indiviually registered during a static build. More details here: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2116>
* Don't pass default GLib marshallers for signalsNiels De Graef2019-11-061-4/+4
| | | | | | | | | | | | By passing NULL to `g_signal_new` instead of a marshaller, GLib will actually internally optimize the signal (if the marshaller is available in GLib itself) by also setting the valist marshaller. This makes the signal emission a bit more performant than the regular marshalling, which still needs to box into `GValue` and call libffi in case of a generic marshaller. Note that for custom marshallers, one would use `g_signal_set_va_marshaller()` with the valist marshaller instead.
* Remove autotools build systemTim-Philipp Müller2019-10-141-8/+0
|
* docs: Build documentation with hotdocThibault Saunier2019-05-131-0/+1
|
* Minor documentation fixesThibault Saunier2019-05-131-4/+2
|
* shmsrc: delay fd removal until there's no usesJosep Torra2018-10-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | | This fixes the remaining race condition with the fd by delaying the removal until last pipe ref. Unexpected critical/warning: gst_poll_fd_has_error: assertion 'fd->fd >= 0' failed Stack trace: gst_debug_get_stack_trace (gstinfo.c:2788) gst_check_log_critical_func (gstcheck.c:281) g_logv (/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2:0x7fdd4efa0a40) g_log (/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2:0x7fdd4efa0c6b) gst_poll_fd_has_error (gstpoll.c:1217) gst_shm_src_create (gstshmsrc.c:364) gst_push_src_create (gstpushsrc.c:131) gst_base_src_get_range (gstbasesrc.c:2521) gst_base_src_loop (gstbasesrc.c:2845) gst_task_func (gsttask.c:328) default_func (gsttaskpool.c:69) https://bugzilla.gnome.org/show_bug.cgi?id=797203
* shmsrc: fixes a crash when is-live is true due a race conditionJosep Torra2018-10-101-27/+42
| | | | | | | | | | There's a race condition when is-live is set to true and the shmsrc element releases the pipe in the transition from PLAYING to PAUSED. To avoid it this change ensures that _create method takes the pipe and increases the use_count in one operation protected by object lock. Also perform apropriate protections when releasing the pipe. https://bugzilla.gnome.org/show_bug.cgi?id=797203
* shmsrc: Remove commented out codeOlivier Crête2018-10-101-2/+0
|
* shmsink: do not keep locking if element is unlockedAleix Conchillo Flaqué2018-10-101-0/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=797260
* meson: host_system is 'ios' when building for iOSNirbheek Chauhan2018-08-171-1/+1
| | | | The cross file sets this value, and we use 'ios' in Cerbero.
* meson: Fix shm librt dep check on macOS, iOS, and *BSDNirbheek Chauhan2018-08-151-1/+1
|
* Add feature options for almost all pluginsNirbheek Chauhan2018-07-271-11/+21
| | | | | | | The only plugins remaining are those that haven't been ported to Meson yet, and msdk. Also, the tests are still automagic. https://bugzilla.gnome.org/show_bug.cgi?id=795107
* Meson: Generate pc file for all plugins in badXavier Claessens2018-04-251-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=794568
* shmsink: Fix compilation with latest GLibSebastian Dröge2018-03-201-2/+3
| | | | | | | | | | | | g_object_ref() forwards its arguments type. gstshmsink.c: In function ‘gst_shm_sink_allocator_alloc_locked’: /usr/include/glib-2.0/gobject/gobject.h:512:32: error: passing argument 3 of ‘gst_memory_init’ from incompatible pointer type [-Werror=incompatible-pointer-types] #define g_object_ref(Obj) ((__typeof__(Obj)) (g_object_ref) (Obj)) ^ gstshmsink.c:292:45: note: in expansion of macro ‘g_object_ref’ gst_memory_init (memory, params->flags, g_object_ref (self), NULL, ^~~~~~~~~~~~
* shmsink: Block in preroll_wait on unlockOlivier Crête2017-12-191-13/+33
| | | | | | | | | The correct behaviour of anything stuck in the ->render() function between ->unlock() and ->unlock_stop() is to call gst_base_sink_wait_preroll() and only return an error if this returns an error, otherwise, it must continue where it left off! https://bugzilla.gnome.org/show_bug.cgi?id=774950
* smhsink: Check return values of functions working on memoryMarcin Lewandowski2017-12-191-17/+38
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=768530
* meson: fix potentially undefined shm_deps variableAlessandro Decina2017-07-201-0/+1
|
* meson: Enable shm unit testNicolas Dufresne2017-06-211-3/+5
|
* meson: Enable building shm pluginNicolas Dufresne2017-06-211-0/+28
|
* shmpipe: Should not use glib type without ifdefNicolas Dufresne2017-06-211-1/+1
| | | | The shmpipe should build without GLIB.
* gst: Clear floating flag in constructor of all GstObject subclasses that are ↵Sebastian Dröge2017-05-171-0/+2
| | | | | | not owned by any parent https://bugzilla.gnome.org/show_bug.cgi?id=743062
* Remove plugin specific static build optionNicolas Dufresne2017-05-161-2/+0
| | | | | Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
* docs: Port all docstring to gtk-doc markdownThibault Saunier2017-04-122-6/+6
|
* shmsink: continue polling after EINTRSamuel Maroy2017-03-101-1/+9
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=779856
* shm: Change example pipelines to something that actually worksSebastian Dröge2017-02-132-3/+6
| | | | | | Enforce exactly the same raw video format on both sides, include a videoconvert and queue before the video sink and make the shm area a little bit bigger so that things don't get stuck.
* shmsrc: Do not call gst_poll_remove_fd upon stop if reading was never startedMarcin Lewandowski2016-07-041-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=768365
* bad: use new gst_element_class_add_static_pad_template()Vineeth TM2016-03-242-4/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=763081
* shmsink: fix possible deadlock in _render()/ _allocator_free()Matt Crane2016-01-161-1/+1
| | | | | | | | Drop object lock before unrefing memory, otherwise the object lock might be taken again from the allocator and then things deadlock. https://bugzilla.gnome.org/show_bug.cgi?id=760551
* plugins-bad: Fix example pipelinesVineeth TM2015-12-152-4/+4
| | | | | | | | rename gst-launch --> gst-launch-1.0 replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) fix caps in examples https://bugzilla.gnome.org/show_bug.cgi?id=759432
* shmpipe: Ensure string received from recv() is NULL-terminatedEdward Hervey2015-04-201-1/+3
| | | | | | We will be doing string operations on it later. CID #1292830
* shmsink: add an shm-area-name propertyGuillaume Emont2015-04-023-4/+32
| | | | | | | | The shm-area-property tells the name of the shm area used by the element. This is useful for cases where shmsink is not able to clean up (calling shm_unlink()), e.g. if it is in a sandbox. https://bugzilla.gnome.org/show_bug.cgi?id=675134
* shmsink: Allocate enough memory to do alignmentOlivier Crête2014-06-021-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=731093
* shm: Don't leak GstShmPipeEdward Hervey2014-05-131-4/+5
| | | | | | By reordering the leaking code path to before the allocation CID #1212153
* shm: remove dead codeVincent Penquerc'h2014-04-091-5/+1
| | | | Coverity 1139683
* shm: call close() after shutdown()Aleix Conchillo Flaqué2014-02-101-1/+5
| | | | | | | shutdown() doesn't close the file descriptor so we leak sockets if we don't call close(). https://bugzilla.gnome.org/show_bug.cgi?id=724077
* shm: use shutdown() instead of close()Aleix Conchillo Flaqué2014-02-101-3/+3
| | | | | | | we make sure both ends get notified when the socket is closed by using shutdown() instead of close(). https://bugzilla.gnome.org/show_bug.cgi?id=724077
* shmsink: Document that socket-path may changeOlivier Crête2014-01-031-2/+3
|
* shmsink: Change default shm size to 64 MiBOlivier Crête2014-01-031-1/+1
| | | | | | The original size of 256k was too small for anything where one would want to use shm. If the buffer's size needs to be limit, it is better to use buffer-time in most cases anyway.
* shmsink: unref buffer if no clients are connectedAleix Conchillo Flaque2013-06-191-1/+4
| | | | | | | | If no client has received the command, unref the buffer. This will make sure that the shared memory area does not get filled with buffers no one knows about. https://bugzilla.gnome.org/show_bug.cgi?id=702684
* shmsink: propagate events to basesink classAleix Conchillo Flaque2013-06-181-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702597
* gst: Add better support for static pluginsSebastian Dröge2013-04-151-1/+1
|
* shm: Make sure the zero-sized array is always last in the structOlivier Crête2013-03-281-2/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=696681
* shmsink: Use correct print format specifiers to fix compiler warningsJosep Torra2013-03-101-4/+6
|
* shmsink: Add custom allocator to allow for zero-copy shared memory useOlivier Crête2013-02-285-118/+402
|
* shm: Don't leak socket pathOlivier Crête2013-02-282-0/+2
|
* shm: use O_CLOEXEC where appropriate in shmpipeBlake Tregre2013-02-281-0/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=684339
* shmsink: Error out if memory area is smaller than bufferOlivier Crête2013-02-273-0/+23
|
* shm: Make sure to not allocate blocks larger than the shared mem areaOlivier Crête2013-02-271-7/+5
| | | | Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681359
* shm: don't use deprecated threading APITim-Philipp Müller2013-02-112-15/+18
|
* shm: Initialize shm_area_buf to invalid valueOlivier Crête2013-01-171-0/+1
|