Commit graph

51 commits

Author SHA1 Message Date
Stefan Sauer
a1599f5f7e controller: merge controller into gstobject
This make the controller even more lightweight (no extra object, no extra lock,
less indirections). For object that don't use the controller the only 'overhead'
is a 3 unused fields in the gst_object structure.
2011-11-10 22:47:07 +02:00
Stefan Sauer
b5d35e2acb controller: port to new controller api 2011-11-04 20:11:51 +01:00
Piotr Fusik
14f5518f3d docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
David Schleef
f3eac7de22 Work around changes in g_atomic API
See #651514 for details.  It's apparently impossible to write code
that avoids both type punning warnings with old g_atomic headers and
assertions in the new.  Thus, macros and a version check.
2011-06-04 00:36:26 -07:00
Stefan Kost
461fd8d82d tests: clean up eventloop in examples
Don't leak the bus. Don't parse messages with the method for errors (triggers
gobject warning).
2010-08-05 10:31:50 +03:00
Stefan Kost
dbe8e5d1ad benchmark: handle errors from the pipeline
Catch errors and warnings on the bus. This fixes hanging pipelines in the case
of bugs elsewhere. Also print state-change messages to give more detail on the progress.
2010-08-05 10:31:50 +03:00
Stefan Kost
ced3d517eb benchmark: cleanup last change in capsnego benchmark
A pad name is not a factory name.
2010-08-05 10:31:35 +03:00
Edward Hervey
83f6185707 benchmarks: Use gst_element_link_pads_full
We're testing caps negotiation, not pad linking. Brings the startup
time down 100 fold.
2010-06-25 17:51:49 +02:00
Sebastian Dröge
e03b46cae4 bufferstress: Check if the number of threads and buffers makes sense 2010-06-13 17:08:37 +02:00
Sebastian Dröge
59147fd111 complexity: Remove dead assignments and unused variables 2010-06-13 16:59:40 +02:00
Stefan Kost
94ed3c370a capsnego: also meassure pipeline building time 2010-06-06 21:20:21 +03:00
Stefan Kost
5e1a7d9360 benchmark: add commandline parameters for capsnego
Allow to specify the graph size and offer two flavours (audio/video).
2010-05-19 14:11:56 +03:00
Stefan Kost
da46035638 benchmarks: add a benchmark for capsnegotiation
The test builds a tree like graph having conversion and basetransform elements.
2010-05-19 09:59:31 +03:00
Stefan Kost
f9fd1524cd benchmarks: use gst_util_get_timestamp() instead of own implementation 2010-05-19 09:59:30 +03:00
Tim-Philipp Müller
88b4a704f3 tests: more LDFLAGS -> LDADD fixes 2010-04-14 11:50:38 +01:00
Benjamin Otte
9cc1b172c2 test: Remove needless cast
GstValueArray.name is const now
2010-03-17 16:45:52 +01:00
Benjamin Otte
a9d1a493a7 Fixes for -Wwrite-strings
This changes some APIs in compatible ways:
- Some functions now take "const char *" arguments, not "char *"
- Some structs now have "conts char *" members, not "char *"
The changes may cause warnings when compiling with the right warning
flags. You've been warned.

Also adds -Wwrite-strings as a warning flag in configure.ac.

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:50:10 +01:00
Benjamin Otte
58415ef177 benchmarks: Remove unneeded g_thread_exit()
https://bugzilla.gnome.org/show_bug.cgi?id=611692
2010-03-10 20:45:35 +01:00
Sebastian Dröge
800a63e2b3 controller: Add benchmark for getting a value array of the control points 2010-03-09 20:57:16 +00:00
Edward Hervey
fff8656af3 benchmarks: Clean up gstbufferstress. 2009-10-08 08:20:13 +02:00
Jan Schmidt
8a8408846a benchmarks: Fix the complexity and mass-elements benchmarks 2009-10-08 02:42:16 +01:00
Tim-Philipp Müller
643c24a91b benchmarks: add bufferstress binary to .gitignore 2009-10-07 09:58:43 +01:00
Stefan Kost
cfb4aa4627 build: sprintf, sscanf need stdio.h 2009-10-07 10:59:54 +03:00
Edward Hervey
fe366f7b24 benchmark: New benchmark for testing contention when creating buffers 2009-10-07 08:54:03 +02:00
Wim Taymans
f5f63434ab tests: fix example 2009-06-29 11:57:13 +02:00
Stefan Kost
249b9b9aa4 controller: use real world number in benchmark 2009-05-31 22:39:05 +03:00
Stefan Kost
5c4751c601 controller: add a benchmark to verify the switch to gsequence 2009-05-22 23:55:33 +03:00
Jan Schmidt
409181b36f gitignores: Ignore the clockstress benchmark binary 2009-05-22 09:44:25 +01:00
Wim Taymans
f83809cf37 stress: add a clock stresstest
Add a stresstest for gst_clock_get_time().
2009-05-15 16:13:04 +02:00
Stefan Kost
dab725ee69 Add a trivial source for tracking gst_init time accross versions. 2009-01-29 17:46:52 +02:00
José Alburquerque
f273ee8c4b Add gst_pad_add_*_probe_full() functions with a notify callback that lets the caller free the data it passes to the p...
Original commit message from CVS:
Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
(gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
(gst_pad_add_buffer_probe_full):
* gst/gstutils.h:
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
Add gst_pad_add_*_probe_full() functions with a notify callback that
lets the caller free the data it passes to the probe functions. This
is useful for bindings such as gst-python or gstreamermm (#526814).
API: gst_pad_add_data_probe_full
API: gst_pad_add_buffer_probe_full
API: gst_pad_add_event_probe_full
* tests/check/gst/gstutils.c:
Add minimal unit test to make sure freeing the data actually works
as expected.
* tests/benchmarks/.cvsignore:
Random cvsignore addendum.
2008-04-10 20:46:51 +00:00
Ole André Vadla Ravnås
8a6042989a Remove GstPollMode from the API, it does not make sense to let the application control this.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
(gst_poll_update_winsock_event_mask), (gst_poll_new),
(gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
(gst_net_time_provider_new):
* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
* plugins/elements/gstfdsrc.c: (gst_fd_src_start):
* tests/benchmarks/gstpollstress.c: (main):
* tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
Remove GstPollMode from the API, it does not make sense to let the
application control this.
Add support for Win32.
Fix the testsuite. Fixes #520671.
2008-03-07 15:39:45 +00:00
Sebastian Dröge
b997b0545a Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* gst/gstconfig.h.in:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
* libs/gst/check/gstcheck.c: (gst_check_log_message_func),
(gst_check_log_critical_func), (gst_check_drop_buffers),
(gst_check_element_push_buffer_list):
* libs/gst/controller/gstcontroller.c: (gst_controller_get),
(gst_controller_get_type):
* libs/gst/controller/gsthelper.c: (gst_object_control_properties),
(gst_object_get_controller), (gst_object_get_control_source):
* libs/gst/controller/gstinterpolationcontrolsource.c:
(gst_interpolation_control_source_new):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_new):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_0_2):
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
* plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
(gst_file_index_add_association):
* plugins/indexers/gstmemindex.c:
* tests/benchmarks/gstpollstress.c: (mess_some_more):
* tests/check/elements/queue.c: (setup_queue):
* tests/check/gst/gstpipeline.c:
* tests/check/libs/collectpads.c: (setup), (teardown),
(gst_collect_pads_suite):
* tests/examples/adapter/adapter_test.c:
* tests/examples/metadata/read-metadata.c: (make_pipeline):
* tests/examples/xml/createxml.c:
* tests/examples/xml/runxml.c:
* tools/gst-inspect.c:
* tools/gst-run.c:
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers, not using variable sized arrays
on the stack, moving variable declarations to the beginning of
a block and using "foo (void)" instead of "foo ()" for declarations.
2008-02-29 12:41:33 +00:00
Wim Taymans
6e01b07d96 tests/benchmarks/: Add poll stress test.
Original commit message from CVS:
* tests/benchmarks/Makefile.am:
* tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
(main):
Add poll stress test.
2008-02-28 15:25:59 +00:00
Tim-Philipp Müller
cb67757934 tests/benchmarks/: Set a good example and don't leak messages.
Original commit message from CVS:
* tests/benchmarks/complexity.c: (main):
* tests/benchmarks/mass-elements.c: (main):
Set a good example and don't leak messages.
2007-05-09 10:01:35 +00:00
Stefan Kost
dda5061b74 tests/benchmarks/: Total licensification.
Original commit message from CVS:
* tests/benchmarks/complexity.gnuplot:
* tests/benchmarks/complexity.scm:
* tests/benchmarks/mass-elements.gnuplot:
* tests/benchmarks/mass-elements.scm:
Total licensification.
2007-04-19 10:43:14 +00:00
Stefan Kost
e4e5396411 tests/benchmarks/: Change licence to LGPL as granted by Benjamin and Andy.
Original commit message from CVS:
* tests/benchmarks/complexity.c:
* tests/benchmarks/mass-elements.c:
Change licence to LGPL as granted by Benjamin and Andy.
2007-04-19 08:40:33 +00:00
Thomas Vander Stichele
cb65f3e99f moap ignore
Original commit message from CVS:
moap ignore
2006-07-02 22:20:20 +00:00
Thomas Vander Stichele
870761131b various fixes to make
Original commit message from CVS:

* configure.ac:
* gst/Makefile.am:
* gst/gst.c:
* gst/gstplugin.h:
* gst/gstregistry.h:
* tests/benchmarks/complexity.c:
* tests/benchmarks/mass-elements.c:
* tests/check/Makefile.am:
* tools/Makefile.am:
* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
various fixes to make
--disable-nls --disable-registry --disable-loadsave           --disable-parse --disable-gst-debug
work and get the core .so down to 360444 bytes after stripping
2005-11-30 19:01:53 +00:00
Thomas Vander Stichele
4344994d69 ignore more
Original commit message from CVS:
ignore more
2005-11-30 16:32:22 +00:00
Thomas Vander Stichele
765b4d951d add Makefile.am
Original commit message from CVS:
add Makefile.am
2005-11-30 15:34:37 +00:00
Andy Wingo
e040bb2dbe gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().

* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.

* All files updated for the new API.
2005-09-02 15:42:00 +00:00
Andy Wingo
123bfb04b3 tests/instantiate/: Add test to test speed of caps copy and free.
Original commit message from CVS:
2005-03-31  Andy Wingo  <wingo@pobox.com>

* tests/instantiate/Makefile.am:
* tests/instantiate/caps.c: Add test to test speed of caps copy
and free.

* tests/memchunk/gmemchunktest.c (main): Use alloc only on the
GMemChunk to be fair.

* gst/gsttrashstack.h: Remove warning about using the fallback
trash stack implementation, it's still faster than malloc.
2005-03-31 15:00:11 +00:00
Andy Wingo
a7ad017d05 docs/: Dist the overrides files.
Original commit message from CVS:
2005-03-29  Andy Wingo  <wingo@pobox.com>

* docs/gst/Makefile.am:
* docs/libs/Makefile.am: Dist the overrides files.

* check/Makefile.am (clean-local): Remove .libs directories.

* gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
elements to EXTRA_DIST, so po/ files are happy.
2005-03-29 14:12:48 +00:00
Andy Wingo
ce469c1dcc po/POTFILES: Remove gstspider.c.
Original commit message from CVS:
2005-03-29  Andy Wingo  <wingo@pobox.com>

* po/POTFILES: Remove gstspider.c.

* configure.ac (AC_OUTPUT): Add missing testsuite makefiles.

* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt: Remove the section on
bytestream.

* tests/complexity.c (main): Set the length of the preroll queue
on the sinks to prevent a lockup.
2005-03-29 13:10:25 +00:00
Wim Taymans
c2f41a8906 Next big merge.
Original commit message from CVS:
Next big merge.
Added GstBus for mainloop integration.
Added GstMessage for sending notifications on the bus.
Added GstTask as an abstraction for pipeline entry points.
Removed GstThread.
Removed Schedulers.
Simplified GstQueue for multithreaded core.
Made _link threadsafe, removed old capsnego.
Added STREAM_LOCK and PREROLL_LOCK in GstPad.
Added pad blocking functions.
Reworked scheduling functions in GstPad to prepare for
scheduling updates soon.
Moved events out of data stream.
Simplified GstEvent types.
Added return values to push/pull.
Removed clocking from GstElement.
Added prototypes for state change function for next merge.
Removed iterate from bins and state change management.
Fixed some elements, disabled others for now.
Fixed -inspect and -launch.
Added check for GstBus.
2005-03-21 17:34:02 +00:00
Andy Wingo
c70fedc476 tests/: New files, good for running complexity benchmarks.
Original commit message from CVS:
2005-02-24  Andy Wingo  <wingo@pobox.com>

* tests/bench-complexity.scm:
* tests/complexity.gnuplot: New files, good for running complexity
benchmarks.
2005-02-24 17:12:19 +00:00
Andy Wingo
8075c3bcd2 tests/: New test, sets up N elements, at each level teeing into M streams per element. Eeeenteresting.
Original commit message from CVS:
2005-02-24  Andy Wingo  <wingo@pobox.com>

* tests/Makefile.am:
* tests/complexity.c: New test, sets up N elements, at each level
teeing into M streams per element. Eeeenteresting.
2005-02-24 15:36:22 +00:00
Andy Wingo
bffcaf6e70 tests/mass_elements.gnuplot: gnuplot file for the mass_elements benchmark. Run as gnuplot mass_elements.gnuplot > foo...
Original commit message from CVS:
2005-02-24  Andy Wingo  <wingo@pobox.com>

* tests/mass_elements.gnuplot: gnuplot file for the mass_elements
benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
running bench-mass_elements.scm.

* tests/bench-mass_elements.scm: New script, runs mass_elements
for various numbers of identities, outputting the results to a
file. Requires guile 1.6. Just for testing.
2005-02-24 12:31:12 +00:00
Benjamin Otte
0148ca0f38 tests/mass_elements.c: allow specifying src and sink element explicitly, so I can test videotestsrc instead of fakesrc
Original commit message from CVS:
* tests/mass_elements.c: (main):
allow specifying src and sink element explicitly, so I can test
videotestsrc instead of fakesrc
2004-08-04 12:54:22 +00:00