Commit graph

7456 commits

Author SHA1 Message Date
Sebastian Dröge
d2e431e0ff bin: Always first post the state-changed message for PAUSED->READY before posting any pending EOS message
https://bugzilla.gnome.org/show_bug.cgi?id=727949
2014-05-01 20:11:04 +02:00
Stian Selnes
40c8208ad2 bufferpool: fix log message of buffer pointer 2014-05-01 10:03:39 +02:00
Sebastian Dröge
3b331155e1 query: Add boolean to URI query to specify if a redirect is permanent or not 2014-04-28 10:03:15 +02:00
Felipe Ortiz
c10663ba3e docs: add docs for various GstPad macros
https://bugzilla.gnome.org/show_bug.cgi?id=723652
2014-04-26 23:14:36 +01:00
Tim-Philipp Müller
b2722a45dd Revert "docs: add docs for various GstPad macros"
This reverts commit d17438d5fd.

This commit featured the wrong author, sorry.
2014-04-26 23:12:13 +01:00
Tim-Philipp Müller
6eb6d9ec38 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 21:21:51 +01:00
Nicolas Dufresne
ec69ad4e8a buffer: Only set TAG_MEMORY if the memory has been replaced
Currently we set TAG_MEMORY as soon a resize changes the size of one
of the memory. This has the side effect that buffer pool cannot know if
the memory have simply been resized, or if the memorys has been replaced.
This make it hard to actually implement _reset(). Instead, only set the
TAG_MEMORY if one or more memory has been replaced, and do a light
sanity check of the size.

https://bugzilla.gnome.org/show_bug.cgi?id=727109
2014-04-26 15:03:04 -04:00
Showayb Zahda
d17438d5fd docs: add docs for various GstPad macros
https://bugzilla.gnome.org/show_bug.cgi?id=723652
2014-04-26 17:05:41 +01:00
Sebastian Dröge
b76d336549 bin: When going to READY make sure to always deactivate pads
We might not have reached PAUSED yet because of an async error,
but nonetheless we want to make sure that the pads are always
deactivated in READY state.
2014-04-25 15:38:39 +02:00
Sebastian Dröge
ce8752c5ce bin: Don't left-shift into the sign bit, the result is undefined 2014-04-22 18:23:15 +02:00
Sebastian Dröge
3cbcfa1d7e value: Use an unsigned 64 bit integer as a mask
We shift the mask to the right later and shifting the result
of shifting over the sign bit is undefined.
2014-04-22 18:16:10 +02:00
Edward Hervey
8b51e9dc60 gstvalue: Prevent division or modulo by zero
The step can end up being zero if the underlying value isn't a valid
range GValue.

In those cases, return FALSE.

We don't use g_return*_if_fail since it will already have been triggered
by the above-mentionned _get_step() functions.

CID #1037132
2014-04-17 13:20:45 +02:00
Antoine Jacoutot
3e24bbefba libs: g-ir-scanner: do not hardcode libtool path
https://bugzilla.gnome.org/show_bug.cgi?id=726571
2014-04-17 09:26:20 +01:00
Sebastian Dröge
81f9a22228 memory/buffer: Initialise GstMapInfo to zeroes if mapping fails
This should allow for more meaningful errors. Dereferencing NULL
is more useful information than dereferencing a random address
happened to be on the stack.
2014-04-16 19:49:56 +02:00
Sebastian Dröge
dded0a4bb6 preset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it 2014-04-16 17:49:40 +02:00
Sebastian Dröge
552864332b preset: Automatic code style fixes 2014-04-16 17:49:40 +02:00
Sebastian Dröge
dabb959747 pad: Add missing space in debug output 2014-04-15 21:16:06 +02:00
Linus Svensson
cb554772e5 pad: don't access unowned and possibly already freed event
Don't print the name of the event when ownership is given away.

https://bugzilla.gnome.org/show_bug.cgi?id=727484
2014-04-12 11:44:36 +01:00
Edward Hervey
c7295cf4b9 gstbuffer: Fix range iteration
We want to iterate over items idx to idx + length

We use the len variable as the corrected number of memory to iterate
and then properly go over all items.

Fixes the issue where specifying any idx different from 0 had no effect

Spotted by clang static analyzer
2014-04-11 13:45:21 +02:00
Vincent Penquerc'h
876af7b343 structure: error out when trying to fixate a fraction near an invalid target 2014-04-10 09:47:59 +01:00
Sebastian Dröge
1492465b89 event: Update running time in QoS based on the pad offsets
https://bugzilla.gnome.org/show_bug.cgi?id=722697
2014-04-10 08:25:50 +02:00
Sebastian Dröge
42cbb7c7c7 pad: Apply pad offsets on all events, not just segment events 2014-04-10 08:25:50 +02:00
Sebastian Dröge
d445027ec1 event: Add running-time-offset field to all events
Events passing through #GstPads that have a running time
offset set via gst_pad_set_offset() will get their offset
adjusted according to the pad's offset.

If the event contains any information that related to the
running time, this information will need to be updated
before usage with this offset.
2014-04-10 08:25:50 +02:00
Vincent Penquerc'h
3004cc5f45 utils: avoid dividing by zero when multiplying y/z by 0/x
The gcd of 0/x is 0, and this is then used as a denominator.
2014-04-09 16:41:47 +01:00
Sebastian Dröge
191ca95fd9 parse: Don't dist the bison and flex generated headers
https://bugzilla.gnome.org/show_bug.cgi?id=727253
2014-04-07 11:36:58 +02:00
Sebastian Rasmussen
e1e5183181 debugutils: Handle caps field values being NULL
GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an
element's caps that had a field value being NULL. Such fields are successfully
handled e.g. by GST_*_OBJECT(), and with this patch so does
GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are
not supposed to be valid in caps, such caps can be created.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727701
2014-04-06 14:24:21 +01:00
Edward Hervey
470f194909 gstvalue: Prevent division or modulo by zero
The step can end up being zero if the underlying value isn't a valid
range GValue.

In those cases, return FALSE.

We don't use g_return*_if_fail since it will already have been triggered
by the above-mentionned _get_step() functions.

Spotted by Coverity.
2014-04-05 11:37:53 +02:00
Haakon Sporsheim
e3388c22c2 gstvalue: Fix comparison of int/int64 range
Checking step three times seems unnecessary.
A similar bug was fixed for double range in
commit 3ea6b04c10
2014-04-05 07:03:07 +02:00
Sebastian Dröge
04a204cd4c pad: Include event type in debug output when delaying a sticky event because of not-linked 2014-03-29 10:32:25 +01:00
Wim Taymans
ee348fe7cb buffer: don't clear TAG on NULL buffer
When the buffer fails to copy, don't clear the TAG on the NULL pointer.
2014-03-24 16:11:30 +01:00
Wim Taymans
533548529b gst: init new flag types to pass make check 2014-03-21 12:16:54 +01:00
Edward Hervey
fb9ca6f7b4 devicemonitor: Use local includes and use gst_private before anything
Should fix build issues on BSD
2014-03-17 10:00:00 +01:00
Olivier Crête
e743fac26b device: Add "klass" to GstDevices 2014-03-16 18:15:18 -04:00
Olivier Crête
b8078e2656 devicemonitor: Make classes into pure strings
Instead of having strings & flags, make them just strings
2014-03-16 18:15:18 -04:00
Jan Schmidt
4d7d3a1c02 Fix extended message handling with gst_bus_pop_timed_filtered()
Make sure extended message types don't get accidentally matched
when not asked for in the mask
2014-03-17 06:29:27 +11:00
Jan Schmidt
44f0be4ee6 gstbin: Avoid pointless object lock forwarding messages.
Every instance of calling bin_do_message_forward() first took the
object lock, so that bin_do_message_forward() could drop it and
then reclaim. Instead, only take the object lock afterward where
needed.
2014-03-17 05:36:37 +11:00
Stefan Sauer
0fb6a15a65 toc: expand GstTocEntry with loop fields
Add loop_type and repeat_count fields to GstTocEntry plus setters and getters.
This allows to represent edit-lists in a toc as well as loops in instruemnts (wav, xi).

API: gst_toc_entry_set_loop
API: gst_toc_entry_get_loop
2014-03-16 16:55:55 +01:00
Tim-Philipp Müller
06ef8cd742 globaldevicemonitor: update for new message API
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 15:24:44 +00:00
Olivier Crête
448d180cdf globaldevicemonitor: Add device monitor aggregator
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 15:12:17 +00:00
Tim-Philipp Müller
5c47cf759a message, bus: do extended message types slightly differently
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 14:38:07 +00:00
Tim-Philipp Müller
302484ac4f gst: fix indentation 2014-03-16 14:38:07 +00:00
Olivier Crête
e4e85fc88a devicemonitor: Add GstDeviceMonitor and related
Also add GstDevice and GstDeviceMonitorFactory
And add code to the registry to save them

https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 14:38:07 +00:00
Olivier Crête
10d53423b5 message: Add GST_MESSAGE_EXTENDED
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 14:38:07 +00:00
Stefan Sauer
29bae0bc72 pad: actually return data.ret
The return value from gst_pad_forward() is the aggregated return value from the callback and the callback returns FALSE to continue iterating.
2014-03-16 11:09:05 +01:00
Stefan Sauer
d57bc8b5dc pad: forward return value from gst_pad_forward
Instead of ignoring the return value and always return TRUE pass the already agregated result back.
2014-03-15 18:07:44 +01:00
Tim-Philipp Müller
075cc42f88 pad: simplify gst_pad_link_get_name() and fix Since marker
Has added benefit that compiler might warn if more values
are added to the enum.
2014-03-11 21:46:30 +00:00
Stefan Sauer
4a38acaa10 pad: add debug helper for GstPadLinkReturn names
Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core.
API: gst_pad_link_get_name()
2014-03-11 21:50:36 +01:00
Tim-Philipp Müller
313f01ab79 buffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY
It's nicer to only have it set when something noteworthy
happened and otherwise unset.

https://bugzilla.gnome.org/show_bug.cgi?id=725862
2014-03-07 20:43:44 +00:00
Stefan Sauer
7077d347a3 pad: fix gst_pad_add_probe() return value docs
Also fix comment typos and add more detail in the logs.
2014-03-06 22:54:17 +01:00
George Kiagiadakis
5973f8c2ca 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-03-06 20:46:28 +01:00