Commit graph

7344 commits

Author SHA1 Message Date
Sebastian Rasmussen
861ca3d678 parse: Unref reference to enclosing bins
Previously all reference to enclosing bins of an element were leaked
when doing delaying setting a property.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697
2014-07-28 09:23:01 -03:00
George Kiagiadakis
b8b6dbd36d caps: unset the parent refcount of the old features before freeing them in gst_caps_set_features()
Otherwise gst_caps_features_free() asserts and the features structure is leaked
2014-06-27 20:07:28 +01:00
Tim-Philipp Müller
8257fdcb5d caps: gst_caps_is_any() should return TRUE or FALSE
Not some flag value instead of TRUE. Fixes code like
gst_caps_is_any() == TRUE.

https://bugzilla.gnome.org//show_bug.cgi?id=731704
2014-06-27 20:07:04 +01:00
Tim-Philipp Müller
608fb56707 bufferlist: fix buffer leak in _remove() 2014-06-27 20:05:57 +01:00
Wim Taymans
8b9a8e4fb0 info: first handle all miniobjects, then GObjects
First handle all miniobjects before we attempt to dereference the first
field pointer and look at the GType. With the recent glib change to
speed up G_IS_OBJECT, this causes crashes on miniobjects otherwise.
2014-06-08 13:37:39 +01:00
Wim Taymans
8da13087f1 info: GstDateTime does not have a GType as first field
GstDateTime does not have the GType as the first field so we can't use
it to detect its type.
2014-06-08 13:37:35 +01:00
Tim-Philipp Müller
7e0b990429 plugin: fix case where gst_plugin_load_file() didn't set the error on failure 2014-06-07 09:55:20 +01:00
Stian Selnes
6fdec47687 bufferpool: fix log message of buffer pointer 2014-05-01 11:11:03 +02:00
Vincent Penquerc'h
d854327df1 structure: error out when trying to fixate a fraction near an invalid target 2014-04-12 12:22:24 +01:00
Sebastian Dröge
def820ddf1 pad: Include event type in debug output when delaying a sticky event because of not-linked 2014-04-12 12:16:40 +01:00
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