Commit graph

88 commits

Author SHA1 Message Date
Johan Dahlin
aea04009d0 gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge the flags from the buffer we're copying.
Original commit message from CVS:
* gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
the flags from the buffer we're copying.
2004-06-09 16:04:37 +00:00
Wim Taymans
4dd1a6b173 gst/gstbuffer.*: Added Comment to a flag. copy relevant flags in _buffer_copy.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_default_copy):
* gst/gstbuffer.h:
Added Comment to a flag.
copy relevant flags in _buffer_copy.
2004-05-20 17:44:03 +00:00
David Schleef
26663bbf1c gst/gstbuffer.c: (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed to using it.
Original commit message from CVS:
* gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
(gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
to using it.
* gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
* gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
* gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
* gst/gststructure.c: (gst_structure_set_valist),
(gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
support for buffers.
* gst/gsttag.c: (gst_tag_register): Constify a prototype that was
intended to be const.
* gst/gsttag.h: same
* gst/gstvalue.c: (gst_value_serialize_buffer),
(gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
to (de)serialize buffers.
* testsuite/caps/Makefile.am:  Add a bit of buffer testing
* testsuite/caps/string-conversions.c: (main):
* testsuite/caps/value_serialize.c: add new test
2004-04-13 02:22:02 +00:00
David Schleef
f63e0209bf gst/gstbuffer.c: Allocate GstBuffer structures in one place.
Original commit message from CVS:
* gst/gstbuffer.c: (_gst_buffer_sub_free),
(gst_buffer_default_free), (gst_buffer_default_copy),
(gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
(gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
structures in one place.
2004-04-05 18:39:01 +00:00
David Schleef
cf56f6b30c gst/gstbuffer.c: (gst_buffer_join): Add function gst_buffer_join() to eventually deprecate gst_buffer_merge(). (bug...
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
to eventually deprecate gst_buffer_merge().  (bug: #136408)
* gst/gstbuffer.h:
2004-04-01 00:40:26 +00:00
David Schleef
209c82ee06 docs/gst/gstreamer-sections.txt: More doc hacking.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:  More doc hacking.
* docs/gst/tmpl/gstaggregator.sgml:
* docs/gst/tmpl/gstautoplugfactory.sgml:
* docs/gst/tmpl/gstbin.sgml:
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstbufferstore.sgml:
* docs/gst/tmpl/gstfakesink.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* docs/gst/tmpl/gstmd5sink.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstsearchfuncs.sgml:
* docs/gst/tmpl/gstshaper.sgml:
* docs/gst/tmpl/gstspider.sgml:
* docs/gst/tmpl/gsttee.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* docs/gst/tmpl/gstxml.sgml:
* gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
and we don't support it.
* gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
(gst_use_threads), (gst_has_threads): same
* gst/gstthreaddummy.c: same
* gst/autoplug/gstspider.c: Make gst_spider_details static.
* gst/autoplug/gstspider.h: same
* gst/elements/gstaggregator.h: Remove bogus function from header
* gst/elements/gstfakesink.h: same
* gst/elements/gstfakesrc.h: same
* gst/elements/gstmd5sink.h: same
* gst/elements/gstshaper.h: same
* gst/elements/gsttee.h: same
* gst/gstbin.c: doc fixes
* gst/gstbin.h: Remove unused definition.
* gst/gstbuffer.c: doc fixes
* gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
* gst/gstfilter.c: doc fixes
* gst/gsttag.c: doc fixes
* gst/gstvalue.c: doc fixes
2004-03-26 03:46:16 +00:00
Thomas Vander Stichele
7baa6c18e7 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:27:17 +00:00
Thomas Vander Stichele
a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
Johan Dahlin
2db697154b gst/: Use gst_data_copy, instead of ref, since some applications that uses GBoxed routines depends on a function that...
Original commit message from CVS:
* gst/gstbuffer.c (_gst_buffer_initialize):
* gst/gstdata.c (gst_data_get_type):
* gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
instead of ref, since some applications that uses GBoxed
routines depends on a function that actually returns a copy.
2004-03-01 12:10:16 +00:00
Andy Wingo
cded585aa2 gst/: Debugging tweaks.
Original commit message from CVS:
2004-02-20  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c:
* gst/gstbuffer.c:
* gst/gstplugin.c:
* gst/registries/gstxmlregistry.c:
* gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.

* gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
(gst_element_add_pad): DEBUG->INFO, some fixes.
(gst_element_get_compatible_pad_template): Just see if the
templates' caps intersect, not if one is a strict subset of the
other. This conforms more to what gst_pad_link_intersect() does.
(gst_element_class_add_pad_template): Don't memcpy the pad
template, just ref it.
(gst_element_get_compatible_pad_filtered): Clean up debug messages

* gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
(gst_pad_link_filtered): Debug changes.
(gst_pad_link_prepare): New function, consolidated from
can_link_filtered and link_filtered.

* gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
look more like that of the functions in gstelement.c

* gst/gstinfo.c (gst_debug_print_object): Put a space before the
object, and return the empty string if object is NULL.

* gst/parse/parse.l: Remove trailing newlines when calling PRINT.
* gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
LOG, not DEBUG. We still get flex info on debug.

* gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
debug string more verbose.
(plugin_times_older_than): DEBUG->LOG.
2004-02-20 13:18:32 +00:00
Benjamin Otte
15f42f6aeb actually use the free_data function
Original commit message from CVS:
actually use the free_data function
2004-01-12 01:41:23 +00:00
David Schleef
d1e5984afa Inherit some of parent's buffer flags.
Original commit message from CVS:
Inherit some of parent's buffer flags.
2004-01-11 22:37:03 +00:00
David Schleef
09012ae0da gst/: Change GstBuffer private structure element names. (all files)
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
(gst_filesrc_map_region):
* gst/gstbuffer.c: (_gst_buffer_initialize),
(_gst_buffer_sub_free), (gst_buffer_default_copy),
(gst_buffer_new), (gst_buffer_create_sub),
(gst_buffer_is_span_fast), (gst_buffer_span):
* gst/gstbuffer.h:
Change GstBuffer private structure element names. (all files)
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link):
* gst/gstqueue.h:
Implement getcaps/pad_link functions that handle the case where
there are data in the queue.
2004-01-11 22:11:35 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Benjamin Otte
385b9ee5c4 merge in tagging
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1

Does not include:
- including tagging stuff in docs
- extensive tests
2003-11-24 02:09:23 +00:00
Benjamin Otte
3235f1d4c0 merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- bytestream is out of the core again
- typefind element is now part of gstelements
2003-10-28 20:25:30 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Wim Taymans
a4df733d52 only update the DURATION field when appending buffers and both buffers have a valid duration.
Original commit message from CVS:
only update the DURATION field when appending buffers and both buffers
have a valid duration.
2003-05-24 11:04:57 +00:00
Wim Taymans
6ab1630c40 - First attempt at implementing #113180, this one also removes automatic (byte) offset calculations in the subbuffer ...
Original commit message from CVS:
- First attempt at implementing #113180, this one also removes
automatic (byte) offset calculations in the subbuffer code and moves
that logic to bytestream and filesrc. It will also update the offset
and duration fields in some special cases.
2003-05-24 10:09:39 +00:00
Benjamin Otte
75ec036895 ref pool before creating buffer that's using it
Original commit message from CVS:
ref pool before creating buffer that's using it
2003-05-17 00:42:57 +00:00
Wim Taymans
1bdcd2e7b6 err... reset to desired version after doing a benchmark :)
Original commit message from CVS:
err... reset to desired version after doing a benchmark :)
2003-05-06 21:04:46 +00:00
Wim Taymans
1dc969236f - Explicitly set buffer fields to default values instead of using memset, this seems to speed up buffer allocation by...
Original commit message from CVS:
- Explicitly set buffer fields to default values instead of using memset,
this seems to speed up buffer allocation by at least 30%
2003-05-06 21:03:34 +00:00
Benjamin Otte
3941b18ca9 remove left over GST_DATA_IS_READONLY
Original commit message from CVS:
remove left over GST_DATA_IS_READONLY
2003-04-15 19:16:51 +00:00
Benjamin Otte
f4f0a51890 - added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
Original commit message from CVS:
- added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
- use macros in some places
- buffer's timestamp field is a GstClockTime, not a guint64 - this is currently the same, but be sure to only use GstClockTime when working with timestamps in the future
2003-04-13 03:07:07 +00:00
Martin Schulze
df2f947370 gst/gstelementfactory.c: Add "g_free (dp->license)" in gst_element_details_free().
Original commit message from CVS:
2003-03-29  Martin Schulze  <MHL.Schulze@t-online.de>

* gst/gstelementfactory.c: Add "g_free (dp->license)" in
gst_element_details_free().
* gst/gstevent.[ch]: Add function gst_event_get_type() to
support c++ language binding. Make macros gst_event_ref[_by_count]
return a GstEvent* instead of a GstData*.
* gst/gstbuffer.[ch]: Add functions gst_buffer[_pool]_get_type()
to support c++ language binding.
2003-03-29 11:58:15 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Wim Taymans
fe83917b5c - replace old tracing with common GstTrace
Original commit message from CVS:
- replace old tracing with common GstTrace
2003-02-02 19:40:10 +00:00
Wim Taymans
132bab1098 - copy kernel headers (waiting for libatomic..)
Original commit message from CVS:
- copy kernel headers (waiting for libatomic..)
- Make sure the atomic stuff is never seen by the app
- inline atomic stuff for core only, expose non-inlined version to apps.

hoping this one works... please test
2002-12-31 03:21:08 +00:00
Wim Taymans
74d9fe06f9 - offset is supposed to be a uint64
Original commit message from CVS:
- offset is supposed to be a uint64
2002-12-21 14:28:42 +00:00
Wim Taymans
68b53ac4ab - Cleanups
Original commit message from CVS:
- Cleanups
- Added padding to structs
- fixed typechecking/casts
- reduced casts
- implemented remove_element in gstbin
- implemented set index on bin
2002-12-19 21:31:03 +00:00
Wim Taymans
29e2850eff Documentation updates
Original commit message from CVS:
Documentation updates
2002-12-14 13:02:16 +00:00
Steve Baker
5b920bb458 this debugging would have borked
Original commit message from CVS:
this debugging would have borked
2002-12-01 01:39:35 +00:00
Wim Taymans
b7ee3bebf5 Added g_return_if_fail
Original commit message from CVS:
Added g_return_if_fail
2002-11-22 23:15:14 +00:00
Thomas Vander Stichele
56c8649f39 doc updates
Original commit message from CVS:
doc updates
2002-08-30 14:54:58 +00:00
Wim Taymans
29ae46b307 Fixed the missing .h file and some reorg (not sure what's best)
Original commit message from CVS:
Fixed the missing .h file and some reorg (not sure what's best)
2002-07-24 20:20:50 +00:00
Andy Wingo
74eba3a615 add default bufferpool, clean up some code, add bufferpool testing to fakesrc
Original commit message from CVS:
add default bufferpool, clean up some code, add bufferpool testing to fakesrc
2002-07-24 18:31:12 +00:00
Wim Taymans
e9f84e2738 - Documentation updates, renamed some _ methods because gtkdoc didn't want to generate docs for them.
Original commit message from CVS:
- Documentation updates, renamed some _ methods because gtkdoc didn't
want to generate docs for them.
- Add some more events for future use.
2002-07-13 23:12:22 +00:00
Wim Taymans
fcb10a6c85 - Removed bufferpool code and move that to gstbuffer.c
Original commit message from CVS:
- Removed bufferpool code and move that to gstbuffer.c
- implemented refcounting on GstData
- implemented new buffer code based on Company's work in the EVENTS2 branch
- added boxed types for GstData/GstEvent/GstBuffer/GstBufferPool
- added refcounting to bufferpools and events
- use lockfree allocation for buffers
- simplified the clock, use lockfree allocation
- use GQueue in GstQueue for faster access to the tail element
- update core plugins to the new event API
2002-07-08 19:22:02 +00:00
Wim Taymans
0a2c1e9c61 Some cleanups
Original commit message from CVS:
Some cleanups
Add a KEY_UNIT flag for a seek event.
2002-06-02 11:49:57 +00:00
Wim Taymans
692b076459 Added g_malloc instead of a memchunk when using memprof
Original commit message from CVS:
Added g_malloc instead of a memchunk when using memprof
2002-05-26 21:22:50 +00:00
Thomas Vander Stichele
0e140428ed more doc fixes
Original commit message from CVS:
more doc fixes
2002-04-17 15:19:56 +00:00
Thomas Vander Stichele
5a6cf24c16 code review
Original commit message from CVS:
code review
2002-04-12 09:38:47 +00:00
Thomas Vander Stichele
0631f3a082 this is better
Original commit message from CVS:
this is better
2002-02-04 22:40:30 +00:00
Thomas Vander Stichele
26d7525c14 shouldn't fuss about not needing to ref at all
Original commit message from CVS:
shouldn't fuss about not needing to ref at all
2002-02-04 22:33:48 +00:00
Wim Taymans
087dee1f62 This is an attempt at not segfaulting on errors but reporting some usefull info instead.
Original commit message from CVS:
This is an attempt at not segfaulting on errors but reporting some
usefull info instead.
- bin changes so errors can propagate.
- changed the _FAST macros to _CAST because that is what they do.
- removed all references to cothreads out of the core, they are
really a scheduler issue, handler with a sched_private gpointer.
- added a live buffer count, for debugging buffer leaks.
- added error checking in gst_scheduler_state_transition this solves the
"out of cothreads" problem.
- GST_ELEMENT_NO_ENTRY == GST_ELEMENT_INFINITE_LOOP
- added 2 private element flasg for use by the scheduler
(_COTHREAD_STOPPING) is now
- added scheduler entry points:
- _yield : to create possible scheduling points.
- _interrupt: to stop execution of an element.
- _error: to signal en error condition to the scheduler.
- improved error messages for pads.
- signal gst_element_error where appropriate.
- added the a new bin to the parent before entering it so one can reference
its children.
- queue memleak fixes on dispose.
- added possible deadlock detection in queue (turned off be default)
- GstBasicScheduler is a real class of its own now, hiding its internal
variables.
- GST_ELEMENT_IS_COTHREAD_STOPPING is gone. either call explicit _yield
operations, or make a sane loop.
- Better state change handling in filesrc. Better error reporting/recovery
too.
- updated core plugins.
- detect non decoupled elements on scheduler boundries and error.
2001-12-22 21:18:17 +00:00
Christian Schaller
d6b9ae8b63 aye ladie, no more ugly // comments here, even if Taaz gets upset about it
Original commit message from CVS:
aye ladie, no more ugly // comments here, even if Taaz gets upset about it
2001-12-14 22:59:21 +00:00
wrobell
08eaa11259 - some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui...
Original commit message from CVS:
- added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu>
- some fixes to int2float
- aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at
making automake 1.5 happy (gst now requires automake1.5). It's still not
perfect but it builds.
- Made the schedulers plugable. The default scheduler now lives inside a
plugin.
- Added a new mpeg1/2 parser/demuxer.
- Fixed some compiler warnings in the core libs.
- substantial work to GstThread (hopefully less race conditions). simplified
the code in GstThread a bit. A state change can now also happen in the
thread context.
- reworked the state semantics of a bin. it'll now automatically get the
highest state of its children.
- the autoplugger now nests the threads so that a state change failure of
one thread doesn't make its upstream thread lock.
- GstQueue refuses to go to PLAYING if the sinkpad is not connected. This
way the queue will not wedge in the _get lock.
- GstQueue unlocks its mutexes when going to PAUSED.
- make sure that when all elements in a bin/thread go to PAUSED, the bin
is set to PAUSED too.
- make a parent bin wait for its children to PAUSE before ending the
iteration with FALSE (EOS)
- Some changes to GstPlay to deal with EOS.
- aplied the latest patch from Zeenix to gstrtp.

end result: GstPlay doesn't crash on EOS and the pipeline is now shut down
properly.
2001-12-04 22:12:50 +00:00
Erik Walthinsen
97978f6056 print the pre-operation refcount for ref and unref
Original commit message from CVS:
print the pre-operation refcount for ref and unref
2001-11-08 22:41:43 +00:00
Wim Taymans
cccc097ca5 API docs. revived _buffer_ref_by_count fast types for scheduler and bin.
Original commit message from CVS:
API docs.
revived _buffer_ref_by_count
fast types for scheduler and bin.
error checking on plugin features;
removed some prototypes that were not implemented (gst_pipeline_iterate
comes to mind)
remove gst_pad_event until we know what it's supposed to do.
remove sinesrc, it wasn't compiles anymore, so...
updates to various elements that used the old event API.
2001-10-21 18:00:31 +00:00
Erik Walthinsen
d574ab8126 merge from EVENTS1 on 20011016
Original commit message from CVS:
merge from EVENTS1 on 20011016
2001-10-17 10:21:27 +00:00