Vincent Penquerc'h
53a7a991e2
multiqueue: catch errors and flushing case after lock
...
This ensures we can not get into an indefinite wait on the
following cond var wait.
https://bugzilla.gnome.org/show_bug.cgi?id=764999
2016-04-14 09:12:27 +01:00
Guillaume Desmottes
e0757e1d80
rusage: properly free the queue memory
...
The queue is allocated as part of the tracer struct so we should not
use g_queue_free() to free it.
https://bugzilla.gnome.org/show_bug.cgi?id=764985
2016-04-13 12:40:41 +03:00
Havard Graff
1bc8d9f2ea
valve: don't send sticky events as a direct response to upstream events
...
Also refactor the existing valve test to actually test the valve,
and not just test the EOS mechanism of a pad.
https://bugzilla.gnome.org/show_bug.cgi?id=763753
2016-03-24 14:50:50 +02:00
Tim-Philipp Müller
bc78548cfe
capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks
...
No need to do this for every input buffer, since it involves
locking and iterating of the sticky events array and such.
https://bugzilla.gnome.org/show_bug.cgi?id=763337
2016-03-24 14:48:40 +02:00
Edward Hervey
f87ec5e014
queue: Use full running time for level calculation
...
Ensures we have proper time level estimation for the cases where
the incoming buffers have PTS/DTS outside of the segment start/stop
values.
https://bugzilla.gnome.org/show_bug.cgi?id=762995
2016-03-24 14:42:31 +02:00
Sebastian Dröge
0d5326950a
typefind: Remove redundant assignment
...
CID 1357158
2016-03-24 11:49:44 +02:00
Jan Schmidt
c9b6848885
multiqueue: Fix not-linked pad handling at EOS
...
Ensure that not-linked pads will drain out at EOS by
correctly detecting the EOS condition based on the EOS
pad flag (which indicates we actually pushed an EOS),
and make sure that not-linked pads are woken when doing
EOS processing on linked pads.
https://bugzilla.gnome.org/show_bug.cgi?id=763770
2016-03-18 21:21:44 +11:00
Romain Picard
20859af3f2
typefind: Allow caps query in "have-type" signal handlers
...
If an application calls gst_pad_query_caps from its "have-type" signal handler,
then the query fails because typefind->caps has not been set yet.
This patch sets typefind->caps in the object method handler, before the signal
handlers are called.
https://bugzilla.gnome.org/show_bug.cgi?id=763491
2016-03-15 18:58:06 +02:00
Sebastian Dröge
57bbd18471
typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
...
https://bugzilla.gnome.org/show_bug.cgi?id=763491
2016-03-14 13:07:49 +02:00
Carlos Rafael Giani
46573a27da
concat: Fix comment typo
2016-03-14 12:23:12 +02:00
Sebastian Dröge
a15fca1934
Revert "typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler"
...
This reverts commit 0835c3d656
.
It causes deadlocks in decodebin, which currently would deadlock if the caps
are already on the pad in have-type and are forwarded while copying the sticky
events (while holding the decodebin lock)... as that might cause the next
element to expose pads, which then calls back into decodebin and takes the
decodebin lock.
This needs some more thoughts.
2016-03-12 12:57:47 +02:00
Sebastian Dröge
0835c3d656
typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
...
https://bugzilla.gnome.org/show_bug.cgi?id=763491
2016-03-12 11:56:49 +02:00
Tim-Philipp Müller
cf0680017e
elements: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=762778
2016-02-28 13:10:07 +00:00
Tim-Philipp Müller
94ec3f8a3e
typefind: fix indentation
2016-02-27 16:39:50 +00:00
Sebastian Dröge
e953f20786
identity: Add a " " after pts: in the silent=false output
2016-02-25 14:12:00 +02:00
Edward Hervey
555df9d614
plugins: Check return values of gst_buffer_map()
...
They can fail for various reasons.
For non-fatal cases (such as the dump feature of identiy and fakesink),
we just silently skip it.
For other cases post an error message.
https://bugzilla.gnome.org/show_bug.cgi?id=728326
2016-02-23 17:30:45 +01:00
Sebastian Dröge
fd253ab1ab
Revert "queue2: add overrun signal"
...
This reverts commit 8ae8b2723d
.
It's not used anymore by anything and was considered a bad idea in general.
2016-02-16 19:11:59 +02:00
Alex Henrie
78ba7f9a8e
typefindelement: Improve English grammar
...
https://bugzilla.gnome.org/show_bug.cgi?id=761273
2016-01-29 10:34:44 +01:00
Stefan Sauer
ec75b68984
tracerrecord: don't leak the spec structures
...
Change the gst_tracer_record_new() api to take the parameters the make the
spec structure directly. This allows us to own the top-level structure and
also collect the args so that we can take ownership of the sub-structures.
https://bugzilla.gnome.org/show_bug.cgi?id=760821
2016-01-22 10:07:26 +01:00
Tim-Philipp Müller
469475f06b
multiqueue: two small fixes for when an existing pad is requested
...
Unlock when returning NULL from gst_single_queue_new(), and don't
crash with debug logging enabled if NULL is returned.
Spotted by Steven Hoving.
2016-01-20 10:06:14 +00:00
Stefan Sauer
f69382c5f9
tracer/gststats: fix mismatch between '.class' and tracer args
...
Clean up from the recent changes. The logging descriptiors did not match what we logged.
2016-01-20 09:14:12 +01:00
Jan Schmidt
c1f4920859
queue2: Add use-tags-bitrate property
...
The use-tags-bitrate property makes queue2 look at
tag events in the stream and extract a bitrate for the
stream to use when calculating a duration for buffers
that don't have one explicitly set.
This lets queue2 sensibly buffer to a time threshold
for any bytestream for which the general bitrate is known.
2016-01-20 03:13:44 +11:00
Tim-Philipp Müller
8641d7c911
tracers: fix thread-id casts to 64-bit ints on 32-bit systems
...
https://bugzilla.gnome.org/show_bug.cgi?id=760762
2016-01-18 11:28:28 +00:00
Stefan Sauer
84554af301
tracer/stats: use the right log template
...
When porting we used the wrong record (copy and paste).
2016-01-16 21:23:10 +01:00
Stefan Sauer
af91d23204
tracer: use the new flags to create the optional field in the format string
...
This spares us explicitly listing the field in the spec. and thus hide this
implementation detail.
2016-01-16 19:21:00 +01:00
Stefan Sauer
8cd76a918a
tracer: add a GstTracerValueFlags and replace strings
...
This allows us to document the flags and makes the logs a bit smaller.
2016-01-16 18:52:32 +01:00
Tim-Philipp Müller
8b88fc487f
gst.h: Don't spew warnings if GST_USE_UNSTABLE_API is not defined
...
Only hide GstTracer and GstTracerRecord API behind GST_USE_UNSTABLE_API,
but don't spew any warnings, otherwise everyone has to define this
to avoid compiler warnings.
This reverts parts of commit 89ee5d948d
.
2016-01-16 16:00:16 +00:00
Stefan Sauer
89ee5d948d
tracer: add a GFlag for the tracer scope
...
Port all tracers. Add the GST_USE_UNSTABLE_API flag to the internal CFLAGS so
that we don't have to specify this for gir, docs, mkenum, ...
2016-01-16 13:31:51 +01:00
Sebastian Dröge
485b15d8a9
output-selector: Make access to the active pad and last buffer thread-safe
...
Both can be modified from different threads at the same time.
2016-01-16 10:48:02 +01:00
Sebastian Dröge
0e132260a3
output-selector: Notify when the active-pad property is changing
2016-01-16 10:47:36 +01:00
Stefan Sauer
10b78d872b
tracerrecord: add a log record class
...
We use this class to register tracer log entry metadata and build a log
template. With the log template we can serialize log data very efficiently.
This also simplifies the logging code, since that is now a simple varargs
function that is not exposing the implementation details.
Add docs for the new class and basic tests.
Remove the previous log handler.
Fixes #760267
2016-01-15 21:54:01 +01:00
Stefan Sauer
30741e0206
tracers: code clean ups
...
Drop some trailing whilespace. Make field order consistent.
2016-01-10 14:30:05 +01:00
HoonHee Lee
788938640d
funnel: improve debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=745939
2016-01-08 19:28:43 +00:00
Stefan Sauer
2f41e7bc6a
tracer: harmonize the query hooks
...
In post hooks always pass the return value as the last param. Pass the query
also to post hooks since it is still alive.
2016-01-07 23:03:48 +01:00
Stefan Sauer
fb249dadcb
tracers/stats: add missing parameters to callback functions
2016-01-07 22:47:37 +01:00
Tim-Philipp Müller
61e2f1eab1
queue2: avoid calculating fill levels multiple times
...
Macro expansion means we might calculate the fill level once
for the check and then possibly again for the return value.
2016-01-06 20:00:46 +00:00
Tim-Philipp Müller
8c6c0bef88
queue2: fix fill level arithmetic overflow with large values
...
Based on patch by: Aleksander Wabik <awabik@opera.com>
https://bugzilla.gnome.org/show_bug.cgi?id=755971
2016-01-06 20:00:46 +00:00
Stefan Sauer
5e40639be7
tracer: make gst_tracing_register_hook_id static
...
We don't need to expose this as public API. Change the only plugin that was
using it.
2016-01-06 20:46:58 +01:00
Sebastian Dröge
7e761798bd
tee: Check if parsing the name template with sscanf() was successful
...
If not, go back to the automatic pad numbering.
CID 1195129
2015-12-14 13:06:57 +01:00
Sebastian Dröge
33ded76ab8
queue/multiqueue: Don't special-case CAPS events in the event handlers
...
For CAPS events we will never ever have a FALSE return value here, so just
remove the dead code instead of causing future confusion.
2015-12-14 11:20:43 +01:00
Sebastian Dröge
0636fe1391
Revert "queue: Illegal memory access of sink event"
...
This reverts commit 78614c505a
.
The code it was fixing does not have any effect anyway and will be removed in
the next commit.
2015-12-14 11:20:22 +01:00
Vineeth TM
78614c505a
queue: Illegal memory access of sink event
...
Once event is pushed to pad, then queue should not access the event.
This is leading to invalid read valgrind errors
https://bugzilla.gnome.org/show_bug.cgi?id=759430
2015-12-14 10:41:50 +01:00
Reynaldo H. Verdejo Pinochet
2a17bad7e8
downloadbuffer: drop unneeded macros for G_OS_WIN32
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
b3a704de6a
fdsrc: drop unneeded macros for G_OS_WIN32
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
e71344010a
fdsrc: enable large file support in Android
...
https://bugzilla.gnome.org/show_bug.cgi?id=758980
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
806b48f6ba
fdsink: enable large file support in Android
...
https://bugzilla.gnome.org/show_bug.cgi?id=758980
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
85e7cfd811
queue2: fix some typos
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
ea8bbd58df
queue2: enable large file support on Android
...
https://bugzilla.gnome.org/show_bug.cgi?id=758980
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
5261283dd9
downloadbuffer: fix some typos
2015-12-12 13:13:54 -08:00
Reynaldo H. Verdejo Pinochet
63727152e0
downloadbuffer: enable large file support on Android
...
https://bugzilla.gnome.org/show_bug.cgi?id=758980
2015-12-12 13:13:54 -08:00