Commit graph

7334 commits

Author SHA1 Message Date
George Kiagiadakis
31597fcd68 ghostpad: use gst_pad_get_peer to acquire a reference to the target pad
This ensures that the lock of the internal pad is held while referencing
it's peer (= the target pad), which ensures that the peer is not
going to be unlinked/destroyed in the meantime.

https://bugzilla.gnome.org/show_bug.cgi?id=725809
2014-04-12 12:06:48 +01:00
George Kiagiadakis
c72ba7e3d9 ghostpad: hold a reference to the target pad while unlinking it
https://bugzilla.gnome.org/show_bug.cgi?id=725809
2014-04-12 12:06:43 +01:00
Wim Taymans
3e043378d8 buffer: remove wrong comment
Refcount and writability are not related for memory objects.
2014-04-12 12:03:37 +01:00
Sebastian Dröge
4494f032d6 parse: Don't dist the bison and flex generated headers
https://bugzilla.gnome.org/show_bug.cgi?id=727253
2014-04-07 12:00:36 +02:00
Sebastian Rasmussen
0b845fc88c docs: Fix typos and remove unknown annotations
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725517
2014-03-02 21:55:12 +01:00
Sebastian Dröge
a77aafc54b error: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4 2014-02-11 13:28:13 +01:00
Sebastian Dröge
93bf011a74 error: Add RESOURCE_NOT_AUTHORIZED error
This allows to distinguish normal read failures from read failures
where we miss authorization.
2014-02-11 13:28:12 +01:00
Thiago Santos
c6f8d25557 pad: fix sticky event leak after sticky_events_foreach
events_foreach adds an extra ref when giving the event to the
user function. In case it was unrefed by the user, this extra ref
disappeared, but events_foreach still should unref again to
lose its own ref before removing the event from the array.

https://bugzilla.gnome.org/show_bug.cgi?id=722467
2014-01-17 23:13:47 -03:00
Sebastian Dröge
87cdd96270 segment: gst_segment_offset_running_time() will be available in 1.2.3 2014-01-15 11:14:48 +01:00
Wim Taymans
313949a6a6 pad: use new segment offset method to apply the offset
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721422
2014-01-15 11:12:43 +01:00
Wim Taymans
f8582e27da segment: add method to offset the segment running-time
Add a method that can apply an offset to the calculated running-time of
a segment.
2014-01-15 11:12:28 +01:00
Wim Taymans
3f88d10f3e segment: take offset into account in _to_position()
Take the offset into account when converting between running-time and
segment positions.
2014-01-14 13:07:40 +01:00
Sebastian Dröge
2f2485d6c9 pad: Check if new probes need to be called when adding/removing some
This allows blocking a pad, add a new blocking probe, removing
the first probe and then having the second probe called. Which
could then decide that data-flow should actually continue
instead of blocking now.

https://bugzilla.gnome.org/show_bug.cgi?id=721289
2014-01-03 09:44:27 +01:00
Sebastian Dröge
0716b35219 pad: Keep an extra ref of the pad when calling an IDLE probe immediately
The callback might destroy the pad.
2013-12-31 11:28:34 +01:00
Sebastian Dröge
fac8b48c27 pad: Only call IDLE probes if we are actually idle
Also only check the data types for non-IDLE probes. When we
are idle, we have no data type obviously.

Previously we were calling IDLE probes during data flow whenever
a non-blocking probe would be called. The pad was usually not idle
at that time.
2013-12-31 11:28:27 +01:00
Sebastian Dröge
ec090a3af8 pad: Don't ignore probe callback return value when immediately calling IDLE probe
https://bugzilla.gnome.org/show_bug.cgi?id=721096
2013-12-31 11:28:18 +01:00
Thiago Santos
8bc7f086e4 gstpad: drop assertion on gst_pad_peer_query_position
It is a 'both' query, so it can be sent both ways
2013-11-29 15:31:57 -03:00
Wim Taymans
4be591c2f8 Revert "ghostpad: copy sticky events to SRC ghostpads"
This reverts commit 8162a583a4.

Automatically copying the sticky events makes it impossible for apps
and elements to filter the events with event probes. This causes
regressions (See #719437). The best option is to let the app/element
copy and filter the events themselves after the ghostpad target is
set.
2013-11-29 19:33:10 +01:00
Sebastian Dröge
5bc3de3af4 bin: Resync iterator if necessary 2013-11-26 12:43:18 +01:00
Wim Taymans
19c98d0b79 ghostpad: copy sticky events to SRC ghostpads
Update the sticky events on SRC ghostpads when retargeting. This ensures
that the ghostpad has the exect same sticky events as the target pad. We
don't want to do this for SINK ghostpads, they got the events from
downstream and we don't want to overwrite them with the target pad
events.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707621
2013-11-26 12:39:01 +01:00
Sebastian Rasmussen
238dfb5f42 gstutils: Escape stream id format in comments
These must be escaped for gtk-doc to parse the comments without warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=714989
2013-11-26 12:36:56 +01:00
Olivier Crête
88acf3515e query: Fix gi annotations of gst_structure_new_custom() 2013-11-26 11:00:47 +00:00
Wim Taymans
5c982f6113 pluginloader: check read/write before closed
first try to read or write on the socket before checking the closed state. This
makes sure we handle all data on the socket before erroring out.
2013-11-22 17:07:13 +01:00
Wim Taymans
366f80f4a3 poll: improve debug
So that we can see the return values of functions in the log.
2013-11-22 17:07:03 +01:00
Mark Nauwelaerts
7e2277000c segment: resurrect sanitizing start and stop for seeking 2013-11-09 10:29:37 +01:00
Sebastian Dröge
eac533f365 datetime: Make sure to include gst_private.h before glib-compat-private.h
We need to define the GLib log domain before including glib.h, which is
included by glib-compat-private.h.
2013-10-15 11:45:17 +02:00
Jan Schmidt
1a148ecb16 parse: Fix transfer annotations for parse_launch functions.
gst_parse_launchv, gst_parse_launchv_full and gst_parse_launch_full
all return floating refs, the same as gst_parse_launch, which just
calls gst_parse_launch_full internally anyway.

Add a unit test assertion to check it's true.

Spotted by nemequ on IRC.
2013-10-13 21:54:19 +02:00
Reynaldo H. Verdejo Pinochet
9d63968830 core: Fix max DEBUG_LEVEL incongruence on 5 vs 9
In the docs and the autocompletion logic the maximum
value jumped incongruently between 5 and 9.
2013-10-10 13:12:59 -07:00
Edward Hervey
59b2eb0d79 pluginloader: Check errors on the proper fd
Most likely a copy-paste error from the block before.

If we're going to check for error/closed on the write fd... do it
on the write fd
2013-09-30 10:34:42 +02:00
Sebastian Dröge
ccfca8f66f bin: Make sure to cache context types that we did not store yet
https://bugzilla.gnome.org/show_bug.cgi?id=708668
2013-09-24 12:46:52 +02:00
Edward Hervey
c4539db3c1 gstcontext: Fix return values some more
Return value is a boolean not a pointer
2013-09-19 12:07:56 +02:00
Sebastian Dröge
291991dac2 context: Fix return values for gst_context_has_context_type() in assertions 2013-09-19 11:49:26 +02:00
Sebastian Dröge
f09b122453 context: Add convenience function gst_context_has_context_type() 2013-09-19 09:49:40 +02:00
Sebastian Dröge
8c09649de2 message: Implement getting the name of the context message types 2013-09-18 23:07:31 +02:00
Sebastian Dröge
921ab73340 context: Fix unit test for GstContext changes 2013-09-18 21:42:42 +02:00
Sebastian Dröge
640a05ff60 bin: Implement context caching and propagation again 2013-09-18 21:42:42 +02:00
Sebastian Dröge
51982d158a message/query: Simplify CONTEXT messages/queries to only contain a single type 2013-09-17 13:50:08 +02:00
Sebastian Dröge
2ae9809ae8 context: Update documentation 2013-09-17 13:36:49 +02:00
Sebastian Dröge
4d367dc1b0 context: Change GstContext to contain only a single context
It was unintuitive that GstContext was actually a list of different
contexts. GstContext now is only a type string and a structure to
contain the actual context.
2013-09-17 13:28:42 +02:00
Sebastian Dröge
014690326f element: Remove GstContext caching 2013-09-17 13:16:40 +02:00
Sebastian Dröge
e3ce799217 context: Add persistent qualifier for a context
Non-persistent contexts are removed when elements go back
to NULL state, persistent contexts are not. Applications
most likely want to set persistent contexts.
2013-09-17 13:10:53 +02:00
Sebastian Dröge
a7f5dc8b8a query: Make CONTEXT query upstream and downstream 2013-09-17 13:10:16 +02:00
Sebastian Dröge
113c9fa277 event: Remove CONTEXT downstream event
This is going to be implemented with an upstream query instead
for consistency and simplicity.
2013-09-17 13:09:34 +02:00
Jonas Holmberg
8501fbd216 gst: Stop all unused threads in GThreadPool in gst_deinit()
Since the default number of max unused threads in GThreadPool has been
changed from 0 to 2 it needs to be set to 0 to stop all threads or
valgrind will report them as memory leaks.
2013-09-13 14:42:55 +02:00
Sebastian Dröge
dae27ba3d3 meta: Deprecate GST_META_TAG_MEMORY
The GQuarks are not exported by any public API
2013-09-09 15:40:42 +02:00
Mathieu Duponchelle
ff05a4698e meta: Add a #define for memory metadata 2013-09-09 15:33:54 +02:00
Mathieu Duponchelle
8d24c4e451 basetransform: implement a default transform_meta.
If a metadata has no dependency as shown by the tags, copy it.
2013-09-09 15:32:18 +02:00
Mathieu Duponchelle
4c7dbde791 meta: API: Add gst_meta_api_type_get_tags() to get all meta tags. 2013-09-09 15:32:18 +02:00
Tim-Philipp Müller
aa1890a4b4 docs: flesh out gst_sample_get_buffer() a little
https://bugzilla.gnome.org/show_bug.cgi?id=706478
2013-08-21 12:21:43 +01:00
Kerrick Staley
bd2a01cfe2 parse: make grammar.y work with Bison 3
YYLEX_PARAM is no longer supported in Bison 3.

https://bugzilla.gnome.org/show_bug.cgi?id=706462
2013-08-21 10:02:26 +01:00