Commit graph

17638 commits

Author SHA1 Message Date
Sebastian Dröge ad0dd860c9 debug: Add a memory ringbuffer based debug logger
This stores debug logs in memory per thread and uses up to a
configurable amount of bytes per thread for the logs. Inactive threads
are timed out after a configurable amount of time.

https://bugzilla.gnome.org/show_bug.cgi?id=785035
2017-07-28 17:27:51 +01:00
Sebastian Dröge 0bf3531efa segment: Add missing out annotations for various parameters 2017-07-28 17:27:32 +01:00
Tim-Philipp Müller 6575389908 downloadbuffer: remove unused struct member
This was used in queue2 when handling in coming serialized
queries, but downloadbuffer just refuses serialized queries.
2017-07-26 14:20:44 +01:00
Luis de Bethencourt 1f89d6d739 check: duplicate code branches
CID #1226446
2017-07-26 15:05:07 +02:00
George Kiagiadakis 4c3092e07a element: document that gst_element_continue_state needs to be called with the STATE_LOCK
It internally calls gst_element_change_state(), which requires the STATE_LOCK

https://bugzilla.gnome.org/show_bug.cgi?id=785431
2017-07-26 12:36:20 +03:00
Tim-Philipp Müller 92ad74052b gst-launch: fix compiler warnings for SIGHUP handlers on windows
Fix unused variable/function compiler warnings on windows.
The SIGHUP handling is only available under unix.

https://bugzilla.gnome.org/show_bug.cgi?id=783661
2017-07-20 17:31:41 +01:00
Edward Hervey 78ee0dfad1 multiqueue: Fix access to NULL pointer
sq can be NULL.

Also fix commit message (it's the queue we are iterating over that we
are logging, not the one passed as argument).

CID #1415569
2017-07-20 14:18:51 +02:00
Seungha Yang 1b0059e0c5 multiqueue: Calculate interleave only within each streaming thread
... and use the biggest interleave value among streaming threads.
This is to optimize multiqueue size adaptation on adaptive streaming
use case with "use-interleave" property.

https://bugzilla.gnome.org/show_bug.cgi?id=784448
2017-07-19 17:19:14 +02:00
Tim-Philipp Müller ad6a655cf7 meson: po: use glib preset and read language list from LINGUAS
Supported since meson 0.37, so we can use it now.
2017-07-15 12:40:28 +01:00
Tim-Philipp Müller ea62c96b94 miniobject: don't modify memory if it's clearly not a valid miniobject
Add back function guard that checks the refcount in a read-only
operation first, and bail out without modifying the passed-in
memory if it's clearly not a valid mini object. Otherwise we
probably cause more harm than good. We keep the second sanity
check based on the 'real refcount' at the time of the unref
around for now too.

https://bugzilla.gnome.org/show_bug.cgi?id=784383
2017-07-15 11:57:43 +01:00
Tim-Philipp Müller b37429c995 basesrc: deprecate non-functional "typefind" property
https://bugzilla.gnome.org/show_bug.cgi?id=736565
2017-07-14 17:00:48 +01:00
Francisco Velazquez 542b173d34 benchmark: fix complexity benchmark
Make complexity benchmark code work for complexity > 1

https://bugzilla.gnome.org/show_bug.cgi?id=784754
2017-07-14 16:39:42 +01:00
Tim-Philipp Müller d123291183 win32: find plugin scanner in libexecdir subdir as configured
https://bugzilla.gnome.org/show_bug.cgi?id=679115
2017-07-14 16:13:12 +01:00
Jason Lin 5bd4603ed3 basesink: fix buffer leaks if preroll failed
buffer is not unreferened if preroll failed

:Detailed Notes:
- Problem : video freeze when switching from pause to 1/2-FF repeatedly
- RootCause : buffer leaks in basesink
- Solution : unref the buffer if prerolled failed

:Testing Preformed:
How to Test :
pause -> 1/2 FF -> resume -> pause -> 1/2 FF ...

https://bugzilla.gnome.org/show_bug.cgi?id=784932
2017-07-14 14:02:52 +10:00
Graham Leggett cfe59c285c Generate a gstreamer pipeline diagram on SIGHUP.
Useful for debugging a pipeline that refuses to enter a given state.

https://bugzilla.gnome.org/show_bug.cgi?id=783661
2017-07-13 14:02:33 +01:00
George Kiagiadakis bd5b1d00e6 basesrc: forward SINK_MESSAGE events downstream
https://bugzilla.gnome.org/show_bug.cgi?id=784551
2017-07-12 15:23:42 +03:00
Nicolas Dufresne 5443ce69ff meson: Fix bashcomp installation
For some reason the double quotes ended up in the path, hence
the helper where installed at "."/share/...
2017-07-11 14:57:36 -04:00
Nicolas Dufresne 4a108c7858 meson: Use join_paths and .set_quoted where possible 2017-07-11 14:57:26 -04:00
Tim-Philipp Müller c9766eff9d meson: pkgconfig: add libunwind/libdw to gstreamer-1.0 Requires.private
https://bugzilla.gnome.org/show_bug.cgi?id=784795
2017-07-11 16:15:16 +01:00
Edward Hervey b6064abdfe pkgconfig: Add private requirements
Add libunwind and dw to the .pc Requires.private. Fixes static library
compilation if gstreamer was compiled with one of those dependencies

https://bugzilla.gnome.org/show_bug.cgi?id=784795
2017-07-11 15:31:07 +02:00
Stefan Sauer 2ace5f4191 basesink: use GST_CLOCK_TIME macros for readability
Replace some -1 comparison with GST_CLOCK_TIME macros.
2017-07-09 21:20:03 +02:00
Stefan Sauer 7a4df51b08 collectpads: correct some comments and add more logging
Add more logging to analyze event handling (especially failure cases).
2017-07-09 21:17:43 +02:00
Scott D Phillips f37688ef4d tools: gst-stats: Use standard character escapes
Having '\e' expand to '\x1b' is a gnu extension. I didn't see any
document describing the behavior, but gcc also seems to expand
'\[' to '['.

https://bugzilla.gnome.org/show_bug.cgi?id=782028
2017-07-09 20:10:31 +01:00
Tim-Philipp Müller f28435b0d4 meson: find python3 via python3 module
And rename python3 variable in meson build files for clarity.

https://bugzilla.gnome.org/show_bug.cgi?id=783198
2017-07-07 12:07:09 +01:00
Tim-Philipp Müller d93ebba58b meson: add option to disable tracer hooks 2017-07-05 13:27:48 +01:00
Tim-Philipp Müller 736efc2d9e tests: memory: skip test that depends on debug system if it's disabled 2017-07-05 13:19:00 +01:00
Tim-Philipp Müller d0c956adac tracing: fix build with tracer hooks disabled 2017-07-05 13:17:49 +01:00
Tim-Philipp Müller cce18426f7 miniobject: make refcount tracing and debug logging reliable
Tracing of the refcounts wasn't thread-safe, and log output of
the refcount values before/after wasn't reliable.

https://bugzilla.gnome.org/show_bug.cgi?id=784383
2017-07-05 13:15:22 +01:00
Tim-Philipp Müller f29082bfe1 plugin: clarify code that deduces plugin name from file name
Make the final else branch explicit for clarity.

https://bugzilla.gnome.org/show_bug.cgi?id=783333
2017-07-05 11:15:43 +01:00
Stefan Sauer c6bd520b8b docs: add a missing const in bytereader docs
This syncs the prototype with gstbytereader.h
2017-06-29 21:08:01 +02:00
Nicolas Dufresne dd5905c31a basesrc: Removed unused private member qos_enabled 2017-06-29 10:51:33 -04:00
Nicolas Dufresne 2be51ba60c basesrc: Don't reallocate buffers when flushing
Instead of using gst_buffer_pool_set_active() when flushing, use
gst_buffer_pool_set_flushing(), this avoids uneeded reallocation of the
buffers.
2017-06-29 10:51:33 -04:00
Nicolas Dufresne 523de1a9dc basesrc: Don't hold LIVE_LOCK in create/alloc/fill
Holding this lock on live source prevents the source from changing
the caps in ::create() without risking a deadlock. This has consequences
as the LIVE_LOCK was replacing the STREAM_LOCK in many situation. As a
side effect:

- We no longer need to unlock when doing play/pause as the LIVE_LOCK
  isn't held. We then let the create() call finish, but will block if
  the state have changed meanwhile. This has the benefit that
  wait_preroll() calls in subclass is no longer needed.
- We no longer need to change the state to unlock, simplifying the
  set_flushing() interface
- We need different handling for EOS depending if we are in push or pull
  mode.

This patch also document the locking of each private class member and
the locking order.

https://bugzilla.gnome.org/show_bug.cgi?id=783301
2017-06-29 10:51:33 -04:00
Nicolas Dufresne 946622ec3f basesrc: Protect access to pool and allocator
This was only partly protected by the object lock. Always take the
object lock to access the currently configured pool and allocator.

https://bugzilla.gnome.org/show_bug.cgi?id=783301
2017-06-29 10:51:33 -04:00
Jimmy Ohn a8acba142f gst-inspect: Fix memory leak in print_pad_templates_info
gst_static_caps_get function returned allocated memory.
So, It should be free using gst_caps_unref.

https://bugzilla.gnome.org/show_bug.cgi?id=784311
2017-06-29 15:26:36 +01:00
Tim-Philipp Müller a405aedde8 meson: check for ppoll() as well 2017-06-29 09:10:04 +01:00
Thibault Saunier 55ccfd4760 meson: Add configinc as include_directory in tools/
Otherwise when the glib is used as a subproject config.h is the glib
one, not ours.
2017-06-28 09:38:35 -04:00
Thibault Saunier 992c54b774 meson: Allow using glib as a subproject 2017-06-28 09:36:48 -04:00
Xabier Rodriguez Calvar bda8440f1f protection: add function to filter system ids
gst_protection_filter_systems_by_available_decryptors() takes an array
of strings and returns a new array of strings filtered by the available
decryptors for them so the ones you get are the ones that you should be
able to decrypt.

https://bugzilla.gnome.org/show_bug.cgi?id=770107
2017-06-28 10:52:11 +01:00
Tim-Philipp Müller 3683a0753a meson: fix with-package-name option
https://bugzilla.gnome.org/show_bug.cgi?id=784082
2017-06-23 11:11:44 +01:00
Matej Knopp c9c2902604 gstplugin: remove gst prefix when loading plugin on MSVC
When building with Meson and MSVC, our plugins don't have a 'libgst'
suffix and are just 'gstfoo.dll', so look for that too.

https://bugzilla.gnome.org/show_bug.cgi?id=783333
2017-06-23 14:40:48 +05:30
Nicolas Dufresne 632952be87 baseparse: sinkcaps can be NULL in default caps negotiation
This was causing harmless assertion about the unreffed caps not being of
type caps.

https://bugzilla.gnome.org/show_bug.cgi?id=784041
2017-06-22 16:00:45 -04:00
Thibault Saunier ff38bfe0ee win32: Update .def file 2017-06-20 11:13:18 -04:00
Thibault Saunier 3a1f2c22dc utils: Add a function to get a string representation of GstStateChange
API:
    gst_state_change_get_name

https://bugzilla.gnome.org/show_bug.cgi?id=783798
2017-06-20 09:33:31 -04:00
Thibault Saunier 54e16cc34e element: Add missing values for "to same" state changes
And handle newly added GstStateChange values in GstPipeline

https://bugzilla.gnome.org/show_bug.cgi?id=783798
2017-06-20 09:33:25 -04:00
Heekyoung Seo c30c39b5ad utils: Fix leak in failed case of regression overflow checking
https://bugzilla.gnome.org/show_bug.cgi?id=783978
2017-06-20 10:55:49 +03:00
Heekyoung Seo d32afe3f71 registrychunk: Fix leak in failed case of reading plugin dependency string
https://bugzilla.gnome.org/show_bug.cgi?id=783978
2017-06-20 10:55:49 +03:00
Sebastian Dröge 848dee060b controller: Export boxed type copy/free functions for GstControlPoint 2017-06-20 10:00:16 +03:00
Sebastian Dröge 35b426ff19 base: Export boxed type copy/free functions for the remaining types 2017-06-20 09:57:01 +03:00
Andrejs Vasiljevs d99c9d9944 ptp: Unref timeout GSource for delay requests
https://bugzilla.gnome.org/show_bug.cgi?id=783864
2017-06-16 17:57:35 +03:00