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
Tim-Philipp Müller
25bf82a187
meson: fix tests build with --werror
...
Need to pass -DGST_DISABLE_DEPRECATED to avoid warnings when
testing deprecated API such as gst_uri_construct().
Also remove #ifndef GST_DISABLE_DEPRECATED guard from header
file, we don't use those any more for functions, the
GST_DEPRECATED_FOR macro is enough.
2017-06-15 10:53:11 +01:00
Dimitrios Katsaros
688d79033f
gsturi: Fixed incorrect escaping of path as a generic string
...
The gst_uri_construct function was escaping the location string
as a generic uri string. This is incorrect since the slash('/')
characters are reserved for use in this exact case. The patch
changes the escape_string function mode to handle the path correctly.
I have deleted the escape_string function since it is no longer being
used and have created a unit test for the function. I have also
deprecated this function in favour of the GstUri API.
https://bugzilla.gnome.org/show_bug.cgi?id=783787
2017-06-15 11:39:00 +03:00
Thibault Saunier
d4032d9e0f
meson: Do not use path separator in test names
...
Avoiding warnings like:
WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-06-07 11:42:28 -04:00
Sebastian Dröge
5f5caffa70
bin: Put correct annotations on gst_bin_add() too
2017-05-31 20:40:00 +03:00
Olivier Crête
67a496c0c2
basesrc: Hold object lock while updating latency
...
Otherwise in gst_base_src_query_latency(), it ended up
sometimes thinking it wasn't -1 when it was actually.
2017-05-23 00:51:49 +02:00
Sebastian Dröge
3a23b518d4
object: Add missing annotations to get_value_array() / get_value_g_array()
...
Same as already used in GstControlBinding.
2017-05-22 12:01:41 +03:00
Tim-Philipp Müller
8174c82a49
meson: actually remove config.h.meson as well
2017-05-21 18:14:01 +01:00
Sebastian Dröge
d4f2ae611b
protection: Fix annotations for gst_protection_select_system()
2017-05-21 19:17:15 +03:00
Olivier Crête
156ce96296
plugin: Stop plugin symbol name at first .
...
This is because the python plugin ends up named
libgstpython.cpython-35m-x86_64-linux-gnu.so so we need to stop
at the first dot.
https://bugzilla.gnome.org/show_bug.cgi?id=782924
2017-05-21 17:06:24 +02:00
Tim-Philipp Müller
f6b42d1f56
meson: don't need config.h.meson any more
...
Meson does the largefile support automatically nowadays, and
can generate a config.h from configuration_data() without a
template as input.
2017-05-21 14:31:56 +01:00
Tim-Philipp Müller
fe5111e71d
meson: make C++ compiler optional
...
It's only used to build tests to see if our headers are C++ clean.
2017-05-21 09:02:54 +01:00
Tim-Philipp Müller
ce439995c0
meson: check: generate .gir file
...
https://bugzilla.gnome.org/show_bug.cgi?id=782173
2017-05-20 17:58:21 +01:00
Sebastian Dröge
f322740ef9
parse: Make gst_parse_context_copy() public for bindings
2017-05-20 19:43:18 +03:00