Wim Taymans
fa28e2c5e6
event: example of how to optimize events
...
Use a structure for the QoS event by 'extending' the GstEventImpl structure.
This should avoid allocation of GstStructures and its contents.
2011-05-11 11:06:36 +02:00
Wim Taymans
cf4fbc005c
query: allow _make_writable on query handlers
...
Pass a GstQuery ** to the query handlers so that they can make the query
writable before using a setter on it.
Port code to new API.
2011-05-10 18:36:33 +02:00
Wim Taymans
933446ec44
query: Hide GstStructure in queries
...
Hide the GstStructure from the query API.
Rename some methods to match the more common names in GObject libraries.
Add some more useful query API.
2011-05-10 15:33:53 +02:00
Wim Taymans
7f24a48387
event: _qos_full -> _qos
2011-05-09 18:48:55 +02:00
Wim Taymans
c07b57fc05
segment: remove _full version
...
Rename the _full versions of the functions to the normal function names.
2011-05-09 17:51:07 +02:00
Wim Taymans
b5456cc6f4
caps: remove caps from buffers and pads
...
Remove the GstCaps from buffers and pads. We now use CAPS events to negotiate
formats between element.
2011-05-09 16:21:28 +02:00
Wim Taymans
ba6b915651
base: avoid using buffer caps
...
Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests
2011-05-08 12:46:17 +02:00
Wim Taymans
e444493793
selector: don't unset caps
2011-05-06 17:39:09 +02:00
Sebastian Dröge
8ce0fea199
tests: Update for new GstIterator API
2011-05-05 15:36:04 +02:00
Sebastian Dröge
dc63e38219
caps: Merge structures when intersecting instead of appending them
...
This prevents adding duplicates over and over again to the resulting
caps if they already describe the new intersection result.
While this changes intersection from O(n*m) to O(n^2*m), it results in
smaller caps, which in the end will decrease further processing times.
For example in an audioconvert ! audioconvert ! audioconvert pipeline,
when forwarding the downstream caps preference in basetransform
(see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
16 instead of 191 caps structures.
2011-05-05 15:22:14 +02:00
Wim Taymans
c4751ec8c1
Revert "context: use context on buffers instead of caps"
...
This reverts commit 9ef1346b1f
.
Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Miguel Angel Cabrera Moya
419f48d0d1
parse: don't unescape inside quotes
...
Escaped characters inside quoted strings are supposed to be unescaped by
deserialization functions, not by parsing functions.
https://bugzilla.gnome.org/show_bug.cgi?id=648025
2011-05-05 12:30:05 +02:00
Sebastian Dröge
65eafd9340
Merge branch 'master' into 0.11
...
Conflicts:
docs/gst/gstreamer-sections.txt
gst/gstelementfactory.c
gst/gstminiobject.c
2011-05-05 12:27:51 +02:00
Wim Taymans
9ef1346b1f
context: use context on buffers instead of caps
...
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00
Tim-Philipp Müller
d72f559d29
tests: fix compiler warning in new miniobject test
...
gst/gstminiobject.c: In function ‘test_dup_null_mini_object’:
gst/gstminiobject.c:459:7: warning: assignment from incompatible pointer type
2011-05-04 15:30:41 +01:00
Thiago Santos
a750aac2dd
miniobject: Fix dup_mini_object function to handle NULL gvalues
...
g_value_dup_object handles gvalues that contain NULL pointers,
gst_value_dup_mini_object should do the same.
https://bugzilla.gnome.org/show_bug.cgi?id=649195
2011-05-03 08:15:51 -03:00
Philippe Normand
4e36f93924
core: store presets, registry and plugins in XDG directories.
...
Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/
root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.
Fixes bug #518597 .
2011-05-03 09:43:22 +02:00
Wim Taymans
6ab7e6c15d
Remove pad_alloc, this can now be done better
...
Remove pad_alloc and all references. This can now be done more efficiently and
more flexible with the ALLOCATION query and the bufferpool objects. There is no
reverse negotiation yet but that will be done with an event later.
2011-04-29 13:26:19 +02:00
Wim Taymans
070cdaab7c
Merge branch 'master' into 0.11
2011-04-25 10:30:41 +02:00
Tim-Philipp Müller
0783046100
tests: clean up properly in the bin test_link_structure_change unit test
...
Don't forget to set the pipeline back to NULL state, which makes
valgrind happy again.
2011-04-24 11:48:21 +01:00
Tim-Philipp Müller
e029aeef9e
tests: add simple pipeline-in-pipeline unit test
...
https://bugzilla.gnome.org/show_bug.cgi?id=648297
2011-04-21 12:33:10 +01:00
Sebastian Dröge
355dbdfa7e
tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:45:37 +02:00
Sebastian Dröge
a70df76c53
element: Add test for inheriting metadata/pad templates
2011-04-16 15:59:40 +02:00
Sebastian Dröge
f51a23a83c
Merge branch 'master' into 0.11
2011-04-16 08:59:58 +02:00
Sebastian Dröge
b44d555865
multiqueue: Don't leak pads in the named pads unit test
2011-04-14 09:07:25 +02:00
David Schleef
0b6430f6e8
parser: Allow element names to begin with digits
2011-04-13 12:24:12 -07:00
David Schleef
e9afe72710
tests: Add test for greatest common divisor
2011-04-13 10:31:03 -07:00
Tim-Philipp Müller
0e94961069
tests: fix unusued-but-assigned-variable warnings with gcc 4.6
2011-04-11 15:08:30 +01:00
Tim-Philipp Müller
8ba64e4e5d
tests: disable test_many_bins unit test for now
...
It fails on the OSX bot (both with git and the last release), and
it doesn't really test anything useful, so may just as well disable
it for now.
2011-04-11 13:04:32 +01:00
Tim-Philipp Müller
6ca7284a54
tests: allow more time for the test_many_bins pipeline to preroll
...
Hopefully makes this test work on the OSX build bot and other
not-so-powerful machines.
https://bugzilla.gnome.org/show_bug.cgi?id=646624
2011-04-11 12:04:34 +01:00
Wim Taymans
6be4dbdb5a
Merge branch 'master' into 0.11
...
Conflicts:
android/base.mk
android/controller.mk
android/dataprotocol.mk
android/elements.mk
android/gst-inspect.mk
android/gst-launch.mk
android/gst-plugin-scanner.mk
android/gst.mk
android/indexers.mk
android/net.mk
win32/common/libgstbase.def
2011-04-11 10:26:54 +02:00
Edward Hervey
ba515c186b
check: Ignore new gstmeta binary
2011-04-09 04:07:04 +02:00
Sebastian Dröge
b17537d14d
utils: Fix uninitialized variable compiler warnings
2011-04-08 09:20:28 +02:00
Tim-Philipp Müller
5c75330fea
tests: add some basic unit tests for queue2
2011-04-07 20:50:04 +01:00
Sebastian Dröge
08b98cc7e9
Merge branch 'master' into 0.11
2011-04-06 14:20:59 +02:00
Tim-Philipp Müller
6a5f8a1b2d
checks: make tests_many_bins in bin unit test a bit faster
...
Not doing expensive checks when linking elements makes things
much faster.
2011-04-06 11:41:14 +01:00
Tim-Philipp Müller
da5d6712a2
checks: add some queues to test_many_bins unit test
...
To limit the number of calls in a row per thread.
2011-04-06 11:30:18 +01:00
Sebastian Dröge
ec0de993c6
value: GstDate/GDate has a abbreviation now
2011-04-06 11:45:27 +02:00
Tim-Philipp Müller
d7ff4ee6cb
checks: add GstBin unit test that creates a lot of bins
...
Currently fails (in normal circumstances) because we create a
socket pair for each bin's bus and exhaust the number of available
file descriptors.
https://bugzilla.gnome.org/show_bug.cgi?id=646624
2011-04-05 16:30:59 +02:00
Wim Taymans
8bcaf95662
Merge branch 'master' into 0.11
2011-04-04 11:17:28 +02:00
Tim-Philipp Müller
439bbf1fde
checks: ignore new funnel unit test binary
2011-04-03 16:18:14 +01:00
Wim Taymans
fdd6433757
Merge branch 'master' into 0.11
...
Conflicts:
tests/check/gst/struct_x86_64.h
2011-03-31 17:55:22 +02:00
Wim Taymans
468ec5bc40
bufferlist: simplify bufferlists
...
We now have multiple memory blocks as part of the buffers and we can therefore
reduce the bufferlist to a simple array of buffers.
2011-03-31 17:51:02 +02:00
Sebastian Dröge
f42f2240d0
gstabi: Add some new structures for x86-64
2011-03-31 10:53:03 +02:00
Sebastian Dröge
2714587a96
libsabi: Add lots of new structures for x86-64
2011-03-31 10:46:40 +02:00
Wim Taymans
7a62d32a07
Merge branch 'master' into 0.11-fdo
...
Conflicts:
docs/plugins/gstreamer-plugins.hierarchy
gst/gstelement.c
2011-03-30 19:58:52 +02:00
Wim Taymans
ebb14d95b2
buffer: more API tweaks
...
_trim -> _resize
_create_sub -> copy_region
2011-03-30 16:47:55 +02:00
Sebastian Dröge
8db570f48c
multiqueue: Make assignment of queue IDs and pad names threadsafe
...
Also add a test for naming pads by the caller and return NULL
when requesting an already existing pad.
2011-03-30 10:52:36 +02:00
Sebastian Dröge
565efa30ea
funnel: Integrate into the build system and rename the types
2011-03-29 11:20:05 +02:00
Sebastian Dröge
e5a857e78a
funnel: Import funnel element from farsight2
2011-03-29 11:20:05 +02:00
Wim Taymans
6da19ffeb2
buffer: more buffer updates
2011-03-29 11:07:36 +02:00
Wim Taymans
a12ede3fb1
Merge branch 'master' into 0.11-fdo
...
Conflicts:
gst/gst.c
libs/gst/base/gstcollectpads.c
2011-03-28 20:11:20 +02:00
Wim Taymans
beac9c4a95
buffer: fix remaining unit tests
2011-03-28 20:08:46 +02:00
Wim Taymans
f35847a094
buffer: fix unit test
2011-03-28 20:08:46 +02:00
Wim Taymans
121ab46aa6
memory: remove memory metadata again
2011-03-28 20:08:46 +02:00
Wim Taymans
6f2af5aa87
memory: more fixes
...
Automatically make the memory of a buffer writable when the buffer is writable
and the memory is asked to mapped WRITE.
Add docs
2011-03-28 20:08:46 +02:00
Wim Taymans
38ffe30745
memory: more work on implementing buffer memory
2011-03-28 20:08:46 +02:00
Wim Taymans
1af328e785
memory: more work on porting the unit tests
2011-03-28 20:08:46 +02:00
Wim Taymans
4a9a59df08
tests: make some tests compile
2011-03-28 20:08:46 +02:00
Thiago Santos
0e1a561467
tests: caps: Tests for the new caps intersection mode
...
Adds test cases for the caps 'first' intersect mode
Adds another test for the 'zigzag' mode
Fixes #617045
2011-03-24 11:38:26 -03:00
Tim-Philipp Müller
f9558b163f
tests: add libscpp unit test to make sure g++ likes our library headers
2011-03-23 20:53:00 +00:00
Sebastian Dröge
4e16347bfa
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstbufferlist.c
2011-03-17 10:50:43 +01:00
Jonas Holmberg
c4c06a2b88
bufferlist: Use a GQueue instead of a GList
...
Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.
Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.
2011-03-11 14:31:14 +01:00
Wim Taymans
f0e3902a37
Merge branch 'master' into 0.11
2011-03-10 10:25:07 +01:00
Stefan Kost
7f49a9189a
test: add tests for new element_factory api.
2011-03-09 15:28:06 +02:00
Stefan Kost
e66ae6681a
tests: add a unit test for gst_caps_new_simple
...
Add a test for the crash in bug #642271 .
2011-03-08 23:01:15 +02:00
Wim Taymans
fa0d993372
meta: implement transform function
...
Replace subbuffer and copy vmethods by a more generic transform function that
can then be parametrised by transform specific data. This should allow us to
implement make-writable and more future transform functions.
2011-03-08 17:11:23 +00:00
Wim Taymans
fd0fd97200
Merge branch 'master' into 0.11
2011-03-08 17:06:30 +00:00
Stefan Kost
7c98ae2b98
tests: add test to create a factory
2011-03-08 12:29:28 +02:00
Stefan Kost
b6e2c69134
tests: start a new test suite for element factories
...
Move one test from gstelement suite.
2011-03-08 12:29:28 +02:00
Wim Taymans
230c3455ac
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstregistry.h
2011-03-02 11:08:34 +01:00
Wim Taymans
f5d1dcbd9a
tests: add memory unit test
2011-02-28 09:39:44 +01:00
Wim Taymans
58060d7528
meta: separate add and get methods
...
Make separate api for getting and adding metadata. This allows us to pass extra
parameters to the init functions when creating metadata, which is needed for
specific API implementations.
Add beginnings of memory metadata.
2011-02-27 19:40:45 +01:00
Wim Taymans
6f4a733063
metadata: Rename to GstMeta
...
Rename to the shorter GstMeta
Add docs
Add api to get metadata by API
2011-02-25 13:15:25 +01:00
Wim Taymans
45645a11a1
buffermeta: fix compilation
2011-02-25 10:34:52 +01:00
Wim Taymans
023cada1f4
meta: improve test a little
2011-02-25 10:34:52 +01:00
Wim Taymans
8468dadc77
buffermeta: add beginnings of buffer metadata
...
Add first implementation of arbitrary buffer metadata. We use a simple linked
linked of slice allocated metadata chunks. Future implementations could use
something more performant.
Add get, remove, iterate methods to handle the metadata.
2011-02-25 10:34:47 +01:00
Tim-Philipp Müller
1f59906ec1
filesrc, filesink: fix URI creation regression for non-absolute locations
...
Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
wants an absolute file path and returns NULL otherwise. Use brand-new
gst_filename_to_uri() instead, which will try harder to create a proper
URI for us.
Also add unit test.
2011-02-24 15:36:53 +00:00
Stefan Kost
b3f0d98964
tests: refix the tests (missing #endif)
2011-02-24 16:20:01 +02:00
Stefan Kost
b30e516d3e
Makefile.am: add new abi headers to nodist_HEADERS
2011-02-24 16:11:17 +02:00
Stefan Kost
3cb1180ff4
tests: add abi check data for ARM (libs)
2011-02-24 15:12:57 +02:00
Stefan Kost
98a50e3b82
tests: add abi check data for ARM
2011-02-24 15:03:03 +02:00
Wim Taymans
6c18c9508d
miniobject: more boxed type fixing
...
More miniobject fixing, leaks horribly somewhere..
2011-02-23 10:35:09 +01:00
Wim Taymans
0894ed2053
Merge branch 'master' into 0.11
2011-02-22 15:08:51 +01:00
Wim Taymans
238b9a57cc
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst/gstelement.c
gst/gstelement.h
gst/gstpad.c
gst/gstutils.c
libs/gst/base/Makefile.am
libs/gst/check/Makefile.am
libs/gst/controller/Makefile.am
libs/gst/dataprotocol/Makefile.am
libs/gst/net/Makefile.am
win32/common/libgstreamer.def
2011-02-22 14:11:59 +01:00
Thiago Santos
83597767b1
basetransform: Be smarter with pad allocs
...
Avoid doing unnecessary pad-allocs when on passthrough mode.
If multiple basetransform elements are on a pipeline, they
would do a pad-alloc for each received buffer, each element
would do this, so we would have lots of pad allocs on the
pipeline for a single buffer being pushed through it.
This patch attempts to reduce this amount by avoiding
doing pad-allocs if the element has already done it
after the last pushed buffer. So it will only be allowed
to do a new pad-alloc after it has pushed a buffer, so we get
1x1 pad-alloc and buffer ratio
https://bugzilla.gnome.org/show_bug.cgi?id=642373
2011-02-21 10:31:22 -03:00
Tim-Philipp Müller
3a744ca442
value: add (de)serialisation function for uchar
...
.. since we sadly have a plugin in -good that has a uchar property
(cmmlenc)
https://bugzilla.gnome.org/show_bug.cgi?id=642522
2011-02-17 10:55:28 +00:00
Wim Taymans
8d27621e40
check: fix a leak in the bus unit test
2011-02-16 17:56:38 +01:00
Sebastian Dröge
c1c0c86bba
file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
2011-02-15 22:57:28 +01:00
Sebastian Dröge
39eeab382c
file{src,sink}: Fix unit tests
...
filesink and filesrc should return exactly the same URI as passed
and must not escape path separators.
2011-02-15 22:57:28 +01:00
Wim Taymans
5db2e45d5c
check: add progress message unit test
2011-02-15 18:55:22 +01:00
Wim Taymans
56826a5ee6
event: add QoS event type
...
Add a parameter to the QoS event to specify the QoS event type.
Update docs and add unit test.
See #638891
2011-02-10 15:21:45 +01:00
Tim-Philipp Müller
b93b05653e
bus: honour any per-thread default main context set via g_main_thread_push_thread_default()
...
Makes gst_bus_add_watch(), gst_bus_add_watch_full(), gst_bus_add_signal_watch(),
and gst_bus_add_signal_watch_full() convenience functions automatically pick up
any non-default main contexts set for the current thread via
g_main_thread_push_thread_default().
2011-01-31 15:58:18 +00:00
Jan Schmidt
d38933081e
multiqueue test: Remove workaround for pad_task hangs
...
Remove code that isn't needed any longer, which sets the multiqueue
to PLAYING and back before unreffing, in order to avoid a deadlock
waiting for gstpad tasks that were never started. The problem seems
to have been fixed long ago.
2011-01-25 16:09:18 +10:00
Tim-Philipp Müller
bc066cf2ca
tests: add unit test for read-beyond-end-of-string bug
...
https://bugzilla.gnome.org/show_bug.cgi?id=639674
2011-01-24 14:24:37 +00:00
Thiago Santos
08a71b98a9
test: outputselector: Add another negotiation test
...
Adds an unit test to check that the output-selector works
when negotiating before srcpads are requested
2011-01-10 14:52:05 -03:00
Thiago Santos
e1e81ca16d
tests: selector: unref peer pad
...
Do not forget to unref peer's pad on output-selector negotiation
tests
2011-01-10 10:04:46 -03:00
Tim-Philipp Müller
c65bf460ad
tests: never disable g_assert() and cast checks for the unit tests
...
The unit tests are riddled with g_assert() and friends, make sure we
don't disable assert and cast checks for the unit tests even if
this has been specified for the rest of the code base, e.g. via
--disable-glib-asserts.
2011-01-07 00:53:11 +00:00
Thiago Santos
757dc90faa
output-selector: Add pad-negotiation-mode property
...
Adds getcaps/setcaps to output-selector and adds a property
to select which type of negotiation should be done.
The available modes are:
* none: no negotiation (current behavior), getcaps return ANY and
setcaps aren't set on any of the peers
* all: use all pads (default), getcaps returns the intersection of
peer pads and setcaps is set on all peers
* active: getcaps and setcaps are proxied to the active pad
https://bugzilla.gnome.org/show_bug.cgi?id=638381
2011-01-06 18:42:29 +00:00
Zhang Wanming
74ed5af81a
tests: fix typo
...
Signed-off-by: Zhang Wanming <Wanming.Zhang@tieto.com>
2010-12-31 12:20:53 +01:00