Commit graph

15829 commits

Author SHA1 Message Date
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
Thiago Santos
dfc5ff17b7 win32: fix make-check by running 'make update-exports' 2014-03-15 13:57:19 -03:00
Thiago Santos
22258782d8 tests: multiqueue: fix eos count on test for not-linked case
From the test case:

/* This test creates a multiqueue with 2 streams. One receives
 * a constant flow of buffers, the other only gets one buffer, and then
 * new-segment events, and returns not-linked. The multiqueue should not fill.
 */

If one of the queues goes EOS and the other returns NOT_LINKED the stream
can be considerered EOS as a NOT_LINKED means that one of the branches has no
sink downstream that will block the EOS message posting.

https://bugzilla.gnome.org/show_bug.cgi?id=725917
2014-03-15 09:54:49 -03:00
Sebastian Rasmussen
3de939cb5b adapter: Adapt gst_adapter_copy() for bindings
This is done by introducing a new gst_adapter_copy_bytes() call that
returns a GBytes structure.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725476
2014-03-15 13:16:16 +01:00
Tim-Philipp Müller
a6cd61b86a docs: fix multiqueue docs for new template names foo_%d -> foo_%u
https://bugzilla.gnome.org/show_bug.cgi?id=726358
2014-03-14 18:40:31 +00:00
Tim-Philipp Müller
6e56c3df80 docs: update plugin docs 2014-03-11 21:55:46 +00: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
Stefan Sauer
6d20be1702 tee: use store_sticky events add add more logging
Use the pad as object for logging to get more context. Use
gst_pad_store_sticky_event() instead of sending the event. This avoids a warning
as here the pad is not yet linked and we actually don't want to send anyway.
2014-03-11 21:50:35 +01:00
Thiago Santos
0362d98d94 queue2: if buffering is disabled while buffering, post 100% message
Avoids stall waiting for buffering to reach 100%
2014-03-10 10:10:24 -03:00
Thiago Santos
dc8f0932fe queue2: remove unused variable
buffering_iteration was never used
2014-03-10 10:10:24 -03:00
Thiago Santos
3ed2507ebc queue: queue2: preserve last flow result when pushing events
Avoids mistakenly returning _OK when downstream is still
_NOT_LINKED on subsequent received pad pushes

https://bugzilla.gnome.org/show_bug.cgi?id=725917
2014-03-10 10:10:20 -03:00
Thiago Santos
0e2f63654b multiqueue: if buffering is disabled while buffering, post 100% message
Avoids stall waiting for buffering to reach 100%
2014-03-10 09:49:05 -03:00
Thiago Santos
b6470a7b3f multiqueue: do not reset last push result when pushing events
Use the last result as a default when pushing a item from a single queue,
otherwise the status gets reset to _OK when pushing events.

This causes problems when mistakenly activating a not-linked stream
that is being ignored upstream as it is not being used (adaptive
scenarios), it will make the multiqueue post a buffering message
on a pad that won't receive buffers

https://bugzilla.gnome.org/show_bug.cgi?id=725917
2014-03-10 09:48:58 -03: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
Tim-Philipp Müller
3c966d060d fakesink, identity, fakesrc: fix debug printing if TAG_MEMORY buffer flag
The IN_CAPS flag does not exist any more.
2014-03-06 20:40:46 +00: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
George Kiagiadakis
4fc671e801 ghostpad: hold a reference to the target pad while unlinking it
https://bugzilla.gnome.org/show_bug.cgi?id=725809
2014-03-06 20:46:28 +01:00
Sebastian Rasmussen
7b9d95dbbe .gitignore: Ignore gcov intermediate files
https://bugzilla.gnome.org/show_bug.cgi?id=725478
2014-03-02 23:07:18 +00:00
Sebastian Rasmussen
034a3ab86f docs: Fix typos and remove unknown annotations
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725517
2014-03-02 21:47:52 +01:00
Stefan Sauer
601774386c docs: use the new markdown for ordered list.
This was plain text that had all list items one after the other (including a
repeated number). Now it will atleast look good when processed with gtk-doc
1.20.
2014-02-28 20:57:23 +01:00
Sebastian Dröge
63e73907d7 Automatic update of common submodule
From fe1672e to bcb1518
2014-02-28 09:34:19 +01:00
Reynaldo H. Verdejo Pinochet
81c9bedda3 docs: fix problems introduced by c068b225fe
- Fix failing build
- Drop added trailing whitespace
2014-02-27 22:34:55 -03:00
Stefan Sauer
cbfafd212b buffer: add return values to g_return_if_fail
FIxes previous commit.
2014-02-27 18:28:15 +01:00
Stefan Sauer
c068b225fe docs: convert the examples to use gtk-doc markup, instead of docbook
The gtk-doc markup is less intrusive and better handled when creating docs for
language bindings. The titles (where used) where not adding much.
2014-02-27 18:11:35 +01:00
Wim Taymans
41cdfb710e docs: add some more new API do docs 2014-02-27 16:46:45 +01:00
Wim Taymans
7691150c45 bufferpool: only release buffers with writable memory
Check if the memory is writable before releasing the buffer into the
pool again.
Add unit test for this scenario.
2014-02-27 16:40:34 +01:00
Wim Taymans
659785d896 buffer: add function to check writability of memory
Check if memory is writable in a buffer and thus is exclusively owned by
this buffer.
2014-02-27 16:39:50 +01:00
Wim Taymans
f22d8f08e0 bufferpool: Use TAG_MEMORY to check memory before releasing
Tag allocated buffers with TAG_MEMORY. When they are released later,
only add them back to the pool if the tag is still there and the memory
has not been changed, otherwise throw the buffer away.
Add unit test to check various scenarios.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724481
2014-02-27 15:43:13 +01:00
Wim Taymans
5bca002f4b buffer: add a new flag to track memory changes
Add a flag to check if the memory changed in a buffer.
2014-02-27 15:43:13 +01:00
Wim Taymans
86f506e9d8 buffer: remove wrong comment
Refcount and writability are not related for memory objects.
2014-02-27 15:43:13 +01:00
Wim Taymans
301fa0e935 bufferpool: refactor free_buffer
Make a do_free_buffer method to also decrements the number of allocated
buffers. Stop will now be successful when all buffers are freed.
2014-02-27 15:43:13 +01:00
Stefan Sauer
1199b9fc81 Automatic update of common submodule
From 1a07da9 to fe1672e
2014-02-26 22:10:28 +01:00
Stefan Sauer
8355a9034b debugutils: add a legend to pipeline dumps
We use a couple of symbols to represent states/flags. Add a short explanation for them.
2014-02-26 20:49:07 +01:00
Olivier Crête
e3d57dc11d debugutils: Print if there is a task started from a pad
https://bugzilla.gnome.org/show_bug.cgi?id=705189
2014-02-26 03:15:44 -05:00
Sebastian Dröge
f0bd2540c0 structure: Use get_uint64() in gst_structure_get_clock_time()
Its code is identical.
2014-02-25 16:11:20 +01:00
Sebastian Dröge
ab9fdf13a0 structure: Add getters for int64 and uint64 values 2014-02-25 15:41:45 +01:00
Thiago Santos
2c2e55789d basesrc: Do not send eos when seeking after last buffer
If pushing the last buffer triggers a seek from downstream, do not
go into EOS if a new segment was requested.

Contains unit test

https://bugzilla.gnome.org/show_bug.cgi?id=724757
2014-02-24 10:37:57 -03:00
Tim-Philipp Müller
f97f70d50a gst-uninstalled: remove insanity and the old gst-openmax 2014-02-21 09:03:50 +00:00
Thibault Saunier
2828018aa2 gst-uninstalled: Add paths to gst-devtools/validate 2014-02-20 18:51:09 +01:00
Sebastian Dröge
5737f4f367 multiqueue: If we only have a single pad, don't consider all pads not linked and grow the queue indefinitely 2014-02-20 15:35:11 +01:00
Stefan Sauer
6fc23cd016 check: also use the glob on GST_CHECKS when forcing to run broken tests
GST_CHECKS can be simply "test*" to run run all tests (including those that are
marked broken). Update the sparse comments a bit to tell how this works.
2014-02-19 11:04:17 +01:00
Wim Taymans
252aa44887 queue2: don't truncate the temp file on shutdown
We want to keep the downloaded file untruncated so that we can use it
again later.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=724373
2014-02-18 15:46:32 +01:00
Wim Taymans
6fa8edd6b0 queue2: Fix merging of ranges
Make a method to get the seeking threshold. If data is further away from
this threshold we want to perform a seek upstream.
When the current downloaded range can merge with the next range,
actually include the data of the next range into the current range
instead of discarding it. Also decide if we seek to the write position
of the merged range or continue reading.
2014-02-18 14:29:01 +01:00
Wim Taymans
04a6c661c8 basesrc: in automatic_eos mode, don't modify the size
Don't set the size to -1 in automatic_eos mode (which also updates the
duration to -1). We only want automatic_eos mode influence the maxsize
calculations without any side effects.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724564
2014-02-18 11:57:49 +01:00
Jan Alexander Steffens (heftig)
a2742a575b pwg: Update raw properties
Using info from gst-plugins-base/docs/design .

Encoded streams might make use of the raw properties, so list them all under foo/* .
For foo/raw, only note which of these properties are mandatory.

I didn't take a closer look at the raw formats yet. Those might still be out-of-date.

https://bugzilla.gnome.org/show_bug.cgi?id=724187
2014-02-17 18:47:20 +01:00
Tim-Philipp Müller
383ffd13f8 scripts: create-uninstalled-setup: remove dead http links
https://bugzilla.gnome.org/show_bug.cgi?id=724561
2014-02-17 17:29:06 +00:00
Stefan Sauer
f5fae6f339 docs: add the boxed types to the .types.in
This makes them show up in the object hierarchy.
2014-02-15 22:35:37 +01:00