Commit graph

2196 commits

Author SHA1 Message Date
Benjamin Otte
1c0dbd87b9 docs/gst/tmpl/: update for recent API changes
Original commit message from CVS:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstfilesrc.sgml:
* docs/gst/tmpl/gststructure.sgml:
* docs/gst/tmpl/gstvalue.sgml:
update for recent API changes
* gst/gstcaps.c: (gst_caps_do_simplify):
fix to stop trying with a freed structure
* gst/gstpad.c: (gst_pad_link_fixate):
simplify caps
* gst/gstpad.c: (gst_pad_template_get_caps_by_name):
remove C++ comment
* gst/gstpad.h:
deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
* gst/gststructure.c: (gst_structure_value_get_generic_type),
(gst_structure_to_string):
keep the correct type when using lists of ranges
* gst/gstvalue.c: (gst_value_list_prepend_value),
(gst_value_list_append_value):
copy the value before adding to the list (d'oh)
* gst/gstvalue.c: (gst_value_subtract_int_range_int),
(gst_value_subtract_int_range_int_range):
handle overflows correctly
* gst/gstvalue.c: (gst_value_subtract_from_list):
fix memleak
* testsuite/caps/caps.h:
add a caps that caused segfaults
2004-04-22 16:39:23 +00:00
Benjamin Otte
d65cd5dc7d gst/gstcaps.c: allow subtracting ANY and EMPTY from ANY caps
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_subtract):
allow subtracting ANY and EMPTY from ANY caps
2004-04-22 04:41:19 +00:00
Benjamin Otte
ef64b87987 gst/gstcaps.c: only simplify in functions that create new caps. Simplifying in gst_caps_append breaks tests.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
(gst_caps_union):
only simplify in functions that create new caps. Simplifying in
gst_caps_append breaks tests.
2004-04-22 04:29:18 +00:00
Benjamin Otte
a79d06fe59 gst/gstcaps.c: unset GValue after use
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_structure_simplify):
unset GValue after use
* gst/gstcaps.c: (gst_caps_append),
* gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
use gst_caps_simplify (reduces registry size by 30%)
* gst/gstpad.c: (gst_pad_template_new):
don't allow NULL caps
2004-04-22 03:34:43 +00:00
Benjamin Otte
03a9d6a747 docs/gst/gstreamer-sections.txt: add gst_caps_do_simplify
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
add gst_caps_do_simplify
* gst/gstcaps.c:
add documentation for gst_caps_do_simplify
* gst/gstvalue.h:
fix typo in gst_value_register_subtract_func declaration for gst-doc
2004-04-22 02:43:57 +00:00
Benjamin Otte
d7c64c071b gst/gstcaps.c: fix bug when converting from empty string.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_from_string_inplace):
fix bug when converting from empty string.
* gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
(gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
use gst_caps_new_empty to allocate a new caps. Only that function
allocates memory for caps now.
* gst/gstcaps.c: (gst_caps_remove_and_get_structure),
(gst_caps_remove_structure):
add ability to remove one structure (but not to header yet)
* gst/gstcaps.c: (gst_caps_compare_structures),
(gst_caps_simplify), (gst_caps_structure_figure_out_union),
(gst_caps_structure_simplify), (gst_caps_do_simplify),
* gst/gstcaps.h:
add gst_caps_do_simplify that tries to simplify a caps in place.
Deprecate old gst_caps_simplify function.
* testsuite/caps/caps.h:
add caps.h containing a common set of caps to test against.
* testsuite/caps/sets.c: (check_caps), (main):
use it.
* testsuite/caps/.cvsignore:
* testsuite/caps/Makefile.am:
* testsuite/caps/simplify.c: (check_caps), (main):
add test to check correctness and efficency of caps simplification.
2004-04-22 02:35:13 +00:00
Benjamin Otte
15e8b2cfc7 gst/gstparse.c: Free the GString used in _gst_parse_escape()
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/gstparse.c: (_gst_parse_escape):
Free the GString used in _gst_parse_escape()
2004-04-21 22:56:59 +00:00
Benjamin Otte
a3cb86522a gst/gstpad.c: refuse to link if the link is not possible
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_negotiate):
refuse to link if the link is not possible
* configure.ac:
* testsuite/Makefile.am:
* testsuite/negotiation/.cvsignore:
* testsuite/negotiation/Makefile.am:
* testsuite/negotiation/pad_link.c: (main):
add test that checks the above behaviour
2004-04-21 19:12:51 +00:00
Thomas Vander Stichele
48e3fbd44f support nonregular files (#140734)
Original commit message from CVS:
support nonregular files (#140734)
2004-04-21 14:51:27 +00:00
Thomas Vander Stichele
e40680565f fixing typos
Original commit message from CVS:
fixing typos
2004-04-21 10:06:37 +00:00
Benjamin Otte
681588c843 more uninitialized variables - and no, I won't use -O2
Original commit message from CVS:
more uninitialized variables - and no, I won't use -O2
2004-04-21 04:18:17 +00:00
Benjamin Otte
0626bb1c6f bleargh - uninitialized variables
Original commit message from CVS:
bleargh - uninitialized variables
2004-04-21 04:13:20 +00:00
Benjamin Otte
6d8c433fa8 gst/gstpad.c: add sophisticated error checking code to see if fixation functions did their fixation right
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_fixate):
add sophisticated error checking code to see if fixation functions
did their fixation right
2004-04-21 04:08:19 +00:00
Benjamin Otte
614b4d1627 gst/gstcaps.c: check for ANY caps before appending/unioning
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
check for ANY caps before appending/unioning
* gst/gstcaps.c: (gst_caps_is_subset),
(gst_caps_is_equal), (gst_caps_structure_subtract_field),
(gst_caps_structure_subtract), (gst_caps_subtract):
* gst/gstcaps.h:
add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
the API. deprecate gst_caps_is_equal_fixed
* gst/gstpad.c: (gst_pad_try_set_caps):
* gst/gstqueue.c: (gst_queue_link):
s/gst_caps_is_equal_fixed/gst_caps_is_equal/
* gst/gststructure.c: (gst_structure_get_name_id):
* gst/gststructure.h:
add function gst_structure_get_name_id
* gst/gstvalue.c: (gst_value_subtract_int_int_range),
(gst_value_create_new_range), (gst_value_subtract_int_range_int),
(gst_value_subtract_int_range_int_range),
(gst_value_subtract_double_double_range),
(gst_value_subtract_double_range_double),
(gst_value_subtract_double_range_double_range),
(gst_value_subtract_from_list), (gst_value_subtract_list),
(gst_value_can_intersect), (gst_value_subtract),
(gst_value_can_subtract), (gst_value_register_subtract_func),
(_gst_value_initialize):
* gst/gstvalue.h:
add support for subtracting values from each other. Note that
subtracting means subtracting as in set theory. Required for caps
stuff above.
* testsuite/caps/.cvsignore:
* testsuite/caps/Makefile.am:
* testsuite/caps/erathostenes.c: (erathostenes), (main):
* testsuite/caps/sets.c: (check_caps), (main):
* testsuite/caps/subtract.c: (check_caps), (main):
add tests for subtraction and equality code.
2004-04-21 03:25:13 +00:00
David Schleef
bdb8c10b5c gst/autoplug/Makefile.am: Fix some little buglets in last checkin.
Original commit message from CVS:
* gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
* gst/indexers/Makefile.am:
* gst/schedulers/Makefile.am:
* libs/gst/bytestream/Makefile.am:
* libs/gst/control/Makefile.am:
* libs/gst/getbits/Makefile.am:
2004-04-21 02:43:55 +00:00
David Schleef
828252e0f2 common/as-libtool.mak: Fine-tune DLL building.
Original commit message from CVS:
* common/as-libtool.mak: Fine-tune DLL building.
* configure.ac: Link plugins against libgstreamer.  Define plugindir
(like gst-plugins)
* examples/plugins/Makefile.am: remove plugindir
* gst/autoplug/Makefile.am: DLL building fixes
* gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
Windows.
* gst/elements/gstelements.c: Conditionally disable pipefilter.
* gst/indexers/Makefile.am: DLL building fixes
* gst/schedulers/Makefile.am: DLL building fixes.
* libs/gst/bytestream/Makefile.am: DLL building fixes.
* libs/gst/control/Makefile.am: same
* libs/gst/getbits/Makefile.am: same
* testsuite/Makefile.am: New dlopen directory
* testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
when dlopened.
* testsuite/dlopen/dlopen_gst.c: (main): same
* testsuite/dlopen/loadgst.c: (do_test): same
2004-04-20 22:22:01 +00:00
Sebastien Cote
5453269a0e gst/parse/grammar.y: Apply patch from Sebastien Cote
Original commit message from CVS:
* gst/parse/grammar.y:  Apply patch from Sebastien Cote
<sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
2004-04-20 19:40:05 +00:00
Thomas Vander Stichele
2365399bd7 use GST_TIME_*
Original commit message from CVS:
use GST_TIME_*
2004-04-20 16:42:25 +00:00
Thomas Vander Stichele
5a322ed432 making _set_property warn on unknown properties use GST_TIME_FORMAT for timestamp/duration
Original commit message from CVS:

making _set_property warn on unknown properties
use GST_TIME_FORMAT for timestamp/duration
2004-04-20 16:25:41 +00:00
Benjamin Otte
d138a1b78e gst/autoplug/gstspider.c: improve debugging messages
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
(gst_spider_identity_plug):
improve debugging messages
* gst/gstbin.c: (gst_bin_remove_func):
make sure the state_change function is only called with simple state
transitions
2004-04-20 16:17:20 +00:00
Johan Dahlin
a78d3beebf gst/gstpad.c (_invent_event): Clean up
Original commit message from CVS:
* gst/gstpad.c (_invent_event): Clean up
2004-04-20 09:43:34 +00:00
David Schleef
d10158fcb5 configure.ac: Add test for allowing unaligned access. Add define to put in gstconfig.h.
Original commit message from CVS:
* configure.ac: Add test for allowing unaligned access.  Add define
to put in gstconfig.h.
* docs/gst/gstreamer-sections.txt: New symbols
* docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
* docs/gst/tmpl/gstfilesrc.sgml:
* docs/gst/tmpl/gstparse.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
* gst/gstutils.h: Add macros for unaligned memory access.  Useful
on most !i386/!powerpc architectures.  From Daniel Gazard
<daniel.gazard@free.fr>.  (bug #140156)
* po/af.po: Check in changes made by gettext.
* po/az.po:
* po/fr.po:
* po/nl.po:
* po/sr.po:
* po/sv.po:
2004-04-20 00:17:26 +00:00
Benjamin Otte
d30991ae03 gst/schedulers/entryscheduler.c: refuse to yield when decoupled elements insist on doing that.
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_yield):
refuse to yield when decoupled elements insist on doing that.
At least it's better than crashing
2004-04-19 23:08:03 +00:00
Johan Dahlin
272eccde22 gst/parse/grammar.y (__gst_parse_chain_free): Don't do null checking here, do it before calling the function.
Original commit message from CVS:
* gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
checking here, do it before calling the function.
Clean up, use for loops instead of while loops while iterating
over lists.
2004-04-19 17:40:24 +00:00
Johan Dahlin
2ce7ad3382 gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo in debug message.
Original commit message from CVS:
* gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
in debug message.
(gst_spider_create_and_plug): Improve debug message.
General: Replace while loops which iterates over GLists with for
loops. Which are much cleaner, improves readability, especially
for gst_spider_identity_plug
2004-04-19 12:15:50 +00:00
Johan Dahlin
2821d8ff20 gst/gstpad.c (_invent_event): Fix parameters to warning macros, fixes bug 140477
Original commit message from CVS:
* gst/gstpad.c (_invent_event): Fix parameters to warning macros,
fixes bug 140477
2004-04-19 10:22:32 +00:00
Benjamin Otte
bb7d6621fd gst/gstelement.c: simplify
Original commit message from CVS:
* gst/gstelement.c: (gst_element_dispose):
simplify
* gst/gstpad.c: (gst_pad_call_chain_function):
don't create loads of events due to bad macro usage
2004-04-17 03:26:46 +00:00
David Schleef
ac0fd9c5bf gst/: (_gst_value_initialize): Create a new function gst_type_is_fixed() to indicate types that are fixed wrt caps or...
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
* gst/gstpad.c: (_gst_pad_default_fixate_foreach):
* gst/gstvalue.c: (gst_value_serialize_buffer),
(gst_value_deserialize_buffer), (gst_type_is_fixed),
(_gst_value_initialize): Create a new function gst_type_is_fixed()
to indicate types that are fixed wrt caps or not.  Switching to
this function fixes (bug #140298).
* gst/gstvalue.h:
2004-04-17 02:21:54 +00:00
Benjamin Otte
2713712906 gst/elements/gstfilesrc.*: s/seek_happened/need_discont/ and require discont before sending any data
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
(gst_filesrc_change_state), (gst_filesrc_srcpad_event):
* gst/elements/gstfilesrc.h:
s/seek_happened/need_discont/ and require discont before sending any
data
2004-04-16 02:57:55 +00:00
David Schleef
06940084e5 gst/gstvalue.c: Register these types as fundamental types. (bug #140015)
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_serialize_buffer),
(gst_value_deserialize_buffer), (_gst_value_initialize):
Register these types as fundamental types. (bug #140015)
2004-04-16 02:29:07 +00:00
Benjamin Otte
266cff34c7 gst/gstpad.c: implement enforcing discont events before buffers are passed. This allows state changes of only some el...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
(gst_pad_link_free), (gst_pad_link_try), (_invent_event),
(gst_pad_pull):
implement enforcing discont events before buffers are passed. This
allows state changes of only some elements and later correctly going
on where they left off (or in short: you can now set audio sinks to
NULL to release the device when the pipeline is paused)
* gst/gstpad.c: (gst_pad_call_chain_function),
(gst_pad_call_get_function):
* gst/gstpad.h:
add gst_pad_call_chain_function and gst_pad_call_get_function for
scheduler interaction. They are required because of the changes
above.
* gst/schedulers/entryscheduler.c: (get_buffer),
(gst_entry_scheduler_chain_wrapper),
(gst_entry_scheduler_get_wrapper),
(gst_entry_scheduler_state_transition),
(gst_entry_scheduler_pad_link):
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_chain_wrapper),
(gst_basic_scheduler_src_wrapper),
(gst_basic_scheduler_chainhandler_proxy),
(gst_basic_scheduler_gethandler_proxy),
(gst_basic_scheduler_cothreaded_chain),
(gst_basic_scheduler_chain_elements):
* gst/schedulers/gstoptimalscheduler.c:
(get_group_schedule_function), (pad_clear_queued),
(gst_opt_scheduler_pad_link):
use the new functions instead of calling get/chain-functions
directly.
2004-04-16 01:36:37 +00:00
David Schleef
66f00f1c78 docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
* docs/gst/tmpl/gstinfo.sgml: same
* docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
gtk-doc put here.
* gst/gstutils.h: Remove the \ that was confusing gtk-doc.
* examples/queue/queue.c: (main):  We iterate pipelines, not
bins.  (bug #139996)
2004-04-16 01:34:05 +00:00
David Schleef
addcdee2d6 gst/gstplugin.c: Disable more stuff on
Original commit message from CVS:
* gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
(_gst_plugin_fault_handler_setup):  Disable more stuff on
Windows.
2004-04-16 00:32:27 +00:00
David Schleef
1da0f13eb8 gst/gstinfo.c: Change some internal symbol names to not conflict with new gstinfo.h symbols.
Original commit message from CVS:
* gst/gstinfo.c: (_gst_debug_init): Change some internal
symbol names to not conflict with new gstinfo.h symbols.
* gst/gstinfo.h: Add inline functions for all those crazy
compilers that don't know how to handle variadic macros (MSVC).
2004-04-15 23:25:39 +00:00
David Schleef
0622e9e391 gst/gstcpu.c: Add workaround for gcc-3.2 generating bad code around the cpu detection asm code.
Original commit message from CVS:
* gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
generating bad code around the cpu detection asm code.
2004-04-15 03:20:23 +00:00
David Schleef
726bbbf7c6 configure.ac: Disable various code when compiling for MinGW.
Original commit message from CVS:
* configure.ac:  Disable various code when compiling for MinGW.
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
* gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
* gst/registries/gstxmlregistry.c: (make_dir):
2004-04-14 01:38:27 +00:00
David Schleef
26d7745271 gst/: Convert asm source into inline assembly.
Original commit message from CVS:
* gst/Makefile.am:
* gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
assembly.
* gst/gstcpuid_i386.s: remove
2004-04-14 01:24:41 +00:00
David Schleef
f8c81337c5 configure.ac: Changes to remove POSIXisms (mmap in this case) and to build DLLs on Windows.
Original commit message from CVS:
* configure.ac: Changes to remove POSIXisms (mmap in this case)
and to build DLLs on Windows.
* gst/Makefile.am:
* gst/elements/gstfilesrc.c: (gst_filesrc_get),
(gst_filesrc_open_file):
* gst/schedulers/Makefile.am:
2004-04-13 22:18:36 +00:00
David Schleef
b3a5ebd27c gst/gstcaps.c: Fix bug in fixating lists.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
(gst_caps_structure_fixate_field_nearest_double):  Fix bug in
fixating lists.
2004-04-13 20:50:53 +00:00
Thomas Vander Stichele
0d4983a512 add debug
Original commit message from CVS:
add debug
2004-04-13 10:44:12 +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
Benjamin Otte
9d756dd8e1 gst/schedulers/gstbasicscheduler.c: rename categories to basic_*
Original commit message from CVS:
* gst/schedulers/gstbasicscheduler.c: (plugin_init):
rename categories to basic_*
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_chain_wrapper),
(gst_basic_scheduler_chainhandler_proxy),
(gst_basic_scheduler_gethandler_proxy),
(gst_basic_scheduler_eventhandler_proxy):
debugging category fixes - put common stuff in log category
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_chain_elements):
dirty fix: call gst_basic_scheduler_cothreaded_chain when already
active and linking two active chains
2004-04-11 18:55:49 +00:00
Benjamin Otte
5ec3dcdd5d gst/schedulers/gstbasicscheduler.c: make sure we can switch back to the main function if we're still in the main func...
Original commit message from CVS:
* gst/schedulers/gstbasicscheduler.c:
make sure we can switch back to the main function if we're still in
the main function (supposed to fix #139617)
* gst/schedulers/gthread-cothreads.h:
don't throw an error when switching to the same cothread
2004-04-09 22:43:06 +00:00
Benjamin Otte
3147797afb gst/: don't use memchunks for these objects, use malloc instead
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type):
* gst/gstclock.c: (gst_clock_get_type):
* gst/gstindex.c: (gst_index_get_type):
* gst/gstobject.c: (gst_object_get_type),
(gst_signal_object_get_type):
* gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
(gst_pad_template_get_type), (gst_ghost_pad_get_type):
* gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
* gst/gstqueue.c: (gst_queue_get_type):
* gst/gstregistry.c: (gst_registry_get_type):
* gst/gstsystemclock.c: (gst_system_clock_get_type):
* gst/gstthread.c: (gst_thread_get_type):
don't use memchunks for these objects, use malloc instead
2004-04-09 19:05:03 +00:00
Thomas Vander Stichele
5e7866d43a docs/gst/Makefile.am: make docs exit on scanning problems fix nonsrcdir build issues
Original commit message from CVS:
* docs/gst/Makefile.am:
make docs exit on scanning problems
fix nonsrcdir build issues
* docs/gst/gstreamer-sections.txt:
adding stuff from -unused
* gst/gstqueue.h:
create GstQueueSize
* gst/schedulers/cothreads_compat.h:
fix cothread warnings
2004-04-07 15:31:25 +00:00
Thomas Vander Stichele
4e2a0b01e9 better debug info
Original commit message from CVS:
better debug info
2004-04-07 10:42:16 +00:00
Benjamin Otte
6e56b1be99 gst/elements/gstbufferstore.c: when the buffer is complete, don't check if other buffers are needed
Original commit message from CVS:
* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
when the buffer is complete, don't check if other buffers are needed
* gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
check that the offset is >0 so we don't try to read before the
beginning of the file
* gst/gstpad.c: (gst_pad_set_pad_template):
sink the template, so we don't end up with 130k pad templates
2004-04-06 23:46:37 +00:00
Benjamin Otte
beb197fd35 gst/autoplug/gstspider.c: don't ref the element, adding already reffed it. And we didn't unref it later anyway... (hu...
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_link_add):
don't ref the element, adding already reffed it. And we didn't unref
it later anyway... (huge memleak when you used many spider elements)
* gst/gstelement.c: (gst_element_base_class_finalize):
* gst/gstelementfactory.c: (gst_element_factory_cleanup),
(gst_element_register):
* gst/gsturi.c: (gst_element_make_from_uri):
use gst_object_(un)ref instead of g_object(un)ref
2004-04-06 19:45:27 +00:00
Benjamin Otte
b107a0a3ef gst/gstbuffer.h: remove macro that wouldn't work anymore because struct member has been removed.
Original commit message from CVS:
* gst/gstbuffer.h:
remove macro that wouldn't work anymore because struct member has
been removed.
* gst/schedulers/entryscheduler.c: (schedule_forward):
fix segfault for unconnected pads
2004-04-06 05:59:31 +00:00
Benjamin Otte
a14e748c7b gst/gstinfo.h: *_FORMAT modifiers should require putting a % in front of them for consistency reasons.
Original commit message from CVS:
reviewed by David Schleef <ds@schleef.org>
* gst/gstinfo.h:
*_FORMAT modifiers should require putting a % in front of them for
consistency reasons.
2004-04-06 05:58:32 +00:00
Benjamin Otte
9f58cab1f9 whoops, debugging stuff left
Original commit message from CVS:
whoops, debugging stuff left
2004-04-05 22:58:11 +00:00
Benjamin Otte
e0ab9b5740 add support for detecting if GStreamer runs inside valgrind.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gst_private.h:
* gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
add support for detecting if GStreamer runs inside valgrind.
requires valgrind (d'oh) and --enable-debug for correct cdetection.
print a big message in valgrind that GStreamer has detected it's
running inside and might now use different code.
* gst/gstmemchunk.c: (populate), (free_area),
(gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
(gst_mem_chunk_free):
flag memchunks for valgrind, so it can detect leaking of chunks.
This allows detecting leaks of GstBuffer and GstEvent correctly
inside valgrind.
2004-04-05 21:42:07 +00:00
David Schleef
cce13e8e5c gst/gsttrace.h: Fix #ifdef nesting (bug #139109) Patch from jensgr@gmx.net (Jens Granseuer)
Original commit message from CVS:
* gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
jensgr@gmx.net (Jens Granseuer)
2004-04-05 19:02:39 +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
Thomas Vander Stichele
d1f07374c3 adding Ronald's timestamp debug defines
Original commit message from CVS:
adding Ronald's timestamp debug defines
2004-04-05 13:34:33 +00:00
Thomas Vander Stichele
ac726511ce fix segfault for static plugins
Original commit message from CVS:
fix segfault for static plugins
2004-04-05 10:03:36 +00:00
Benjamin Otte
563ce1b133 gst/schedulers/gstbasicscheduler.c: fix to work with recent scheduling changes
Original commit message from CVS:
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_pad_link):
fix to work with recent scheduling changes
2004-04-05 02:30:20 +00:00
Benjamin Otte
9f11d29481 gst/schedulers/entryscheduler.c: (some functions, dunno which, prepareChangeLog doesn't work when cvs indents): don't...
Original commit message from CVS:
* gst/schedulers/entryscheduler.c: (some functions, dunno which,
prepareChangeLog doesn't work when cvs indents):
don't throw an error when no element can be scheduled, there's too
many weird reasons why it doesn't work. Return STOPPED instead.
decoupled elemts' schedulability doesn't depend on bufpens.
2004-04-04 23:21:09 +00:00
Benjamin Otte
cb6ac1a3f9 fix unused warning
Original commit message from CVS:
fix unused warning
2004-04-04 04:17:52 +00:00
Benjamin Otte
fd58f301b7 gst/schedulers/gstbasicscheduler.c: fix uninitialized variable warnings
Original commit message from CVS:
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_pad_select):
fix uninitialized variable warnings
2004-04-04 03:11:46 +00:00
Benjamin Otte
dad31c5578 gst/gstpad.c: fix uninitialized variable warning
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_collect_valist):
fix uninitialized variable warning
* gst/schedulers/entryscheduler.c: (schedule_forward):
fix shadowed variable
2004-04-04 03:02:43 +00:00
Benjamin Otte
ac5674b03b gst/: implement gst_pad_collect as replacement for gst_pad_select.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
(gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
(gst_pad_select):
* gst/gstpad.h:
* gst/gstscheduler.c: (gst_scheduler_pad_select),
(gst_scheduler_lock_element), (gst_scheduler_unlock_element):
* gst/gstscheduler.h:
implement gst_pad_collect as replacement for gst_pad_select.
deprecate gst_pad_select and gst_scheduler_(un)lock_element
add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
new pad_select, lock and unlock calls.
* gst/cothreads.c: (cothread_destroy), (cothread_switch):
* gst/cothreads.h:
* gst/schedulers/cothreads_compat.h:
* gst/schedulers/gthread-cothreads.h:
remove unused cothread_lock and cothread_unlock calls
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
(_can_schedule_loop), (gst_entry_scheduler_get_handler),
(gst_entry_scheduler_pad_select):
update to new API
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
(gst_basic_scheduler_pad_select):
remove useless lock and unlock calls, update pad_select to new API
(untested)
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove useless select, lock and unlock function calls
* gst/elements/gstaggregator.c: (gst_aggregator_loop):
use gst_pad_collect instead of gst_pad_select
2004-04-04 02:36:12 +00:00
Benjamin Otte
343d14cf0e gst/schedulers/entryscheduler.c: add can_schedule_pad to handle element states.
Original commit message from CVS:
* gst/schedulers/entryscheduler.c: (_can_schedule_get),
(can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
(schedule_next_element), (print_entry):
add can_schedule_pad to handle element states.
add schedule_forward to select the correct entry to schedule next
2004-04-04 00:24:30 +00:00
Benjamin Otte
e5ea553496 gst/schedulers/entryscheduler.c: remove unused variable, fix error inside Rb, fix compile warning in unreachable code
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
remove unused variable, fix error inside Rb, fix compile warning in
unreachable code
2004-04-03 20:52:02 +00:00
Benjamin Otte
93a0882595 fix compile warning in unreachable code
Original commit message from CVS:
fix compile warning in unreachable code
2004-04-03 20:42:43 +00:00
Benjamin Otte
d5ef66d230 gst/schedulers/entryscheduler.c: completely revamp the inner workings, so it's a lot easier to understand and extend
Original commit message from CVS:
* gst/schedulers/entryscheduler.c:
completely revamp the inner workings, so it's a lot easier to
understand and extend
2004-04-03 19:32:12 +00:00
Andy Wingo
02db61fece gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink): Rename ->group1 and ->group2 to ->src and ->sink, re...
Original commit message from CVS:
2004-04-03  Andy Wingo  <wingo@pobox.com>

* gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
Rename ->group1 and ->group2 to ->src and ->sink, respectively.
This allows better introspection of pipeline topology.
(add_to_chain): Don't do trickery to put loop elements first;
rather, queue a chain sort by marking the chain as dirty.
(remove_from_chain): Mark the chain dirty.
(sort_chain): New function. Sorts the group list so that terminal
sinks are first. This means elements on the sink side will be
preferentially sscheduled before elements on the src side of the
pipeline.
(chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
(schedule_chain): If the chain is marked DIRTY, call sort_chain.
(gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
(group_inc_link): Change argument and variable names to match the
new link structure member names (src and sink).
(group_dec_link): Add some description
2004-04-03 13:24:07 +00:00
Benjamin Otte
75f4ff0686 fix to successfully build and test with --disable-gst-debug configure switch
Original commit message from CVS:
* gst/autoplug/gstspider.c: (gst_spider_identity_plug):
* gst/gstinfo.h:
* testsuite/debug/category.c: (main):
* testsuite/debug/commandline.c: (main):
* testsuite/debug/output.c: (main):
* testsuite/debug/printf_extension.c: (main):
fix to successfully build and test with --disable-gst-debug
configure switch
2004-04-03 04:16:24 +00:00
Benjamin Otte
2396af9dc4 gst/gststructure.c: memleak fix: free fields array (partial fix for #134839)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/gststructure.c: (gst_structure_free):
memleak fix: free fields array (partial fix for #134839)
2004-04-02 23:14:42 +00:00
Ronald S. Bultje
d355246b0d docs/random/ds/0.9-suggested-changes: Add a note to change handoff use in fakesrc to be usable in a more generic way ...
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes:
Add a note to change handoff use in fakesrc to be usable in
a more generic way (fakesrc should be renamed to appsrc or so).
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
Change signal type to scope, so we can fill the buffer in the
handoff handler (that's the whole use of this signal...).
2004-04-02 03:08:09 +00:00
Martin Soto
73b88d064e gst/registries/gstxmlregistry.c
Original commit message from CVS:
* gst/registries/gstxmlregistry.c
(gst_xml_registry_rebuild_recurse): Fix the algorithm to
determine if a file is a G_MODULE. The old one discards paths
containing "so" somewhere in the middle. My home directory is
called "soto". Go figure...
2004-04-01 18:28:44 +00:00
Thomas Vander Stichele
456bfef89d some more debuggin
Original commit message from CVS:
some more debuggin
2004-04-01 13:20:52 +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
e6a6307944 gst/gstvalue.c: Add some union implementations. We didn't have any previously.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_union_int_int_range),
(gst_value_union_int_range_int_range), (gst_value_can_union),
(gst_value_union), (_gst_value_initialize):  Add some union
implementations.  We didn't have any previously.
* testsuite/caps/Makefile.am:
* testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
(gst_audioscale_getcaps), (test_caps), (main): A little test
that is the same as the caps manipulation in audioscale.
2004-03-31 21:49:19 +00:00
Benjamin Otte
3bed253042 gst/gstthread.c: fix docs
Original commit message from CVS:
* gst/gstthread.c:
fix docs
* gst/gstutils.h:
fix GST_BOILERPLATE_FULL to not throw casting errors on C++
2004-03-30 18:02:38 +00:00
Benjamin Otte
6d87ece93d gst/elements/gstbufferstore.c: set the offset of the buffer to the requested offset
Original commit message from CVS:
* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
set the offset of the buffer to the requested offset
* gst/elements/gsttypefind.c: (stop_typefinding):
revert patch 1.18 (which I unfortunately don't know the reason for).
This is needed to allow downstream elements to seek. Otherwise
typefind might overwrite a previous seek by downstream elements.
This lead to errors with id3tag and typefind on some mp3s.
* gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
(gst_entry_scheduler_iterate):
be more verbose when debugging
2004-03-30 16:31:06 +00:00
Thomas Vander Stichele
161bcaee42 check string for nullity
Original commit message from CVS:
check string for nullity
2004-03-30 11:21:40 +00:00
Thomas Vander Stichele
0a602d04e0 more doc fixes
Original commit message from CVS:
more doc fixes
2004-03-30 09:15:47 +00:00
David Schleef
8ce063f780 docs/gst/Makefile.am: Disable a bunch of headers from being scanned
Original commit message from CVS:
* docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
* docs/gst/gstreamer-docs.sgml:  More hacking
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/cothreads_compat.sgml:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstclock.sgml:
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstevent.sgml:
* docs/gst/tmpl/gstpad.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstxml.sgml:
* docs/gst/tmpl/gthread-cothreads.sgml:
* docs/random/ds/0.9-suggested-changes:
* gst/elements/gstfakesink.h: doc fixes
* gst/elements/gstfakesrc.h: doc fixes
* gst/gstcaps.c: doc fixes
* gst/gstcaps.h: doc fixes
* gst/gstelement.c: doc fixes
* gst/gstelement.h: doc fixes
* gst/gstindex.c: doc fixes
* gst/gstinfo.c: doc fixes
* gst/gstpad.c: doc fixes
* gst/gstpad.h: doc fixes
* gst/gstplugin.c: doc fixes
* gst/gsttypefind.h: doc fixes
* gst/gsturi.c: doc fixes
* gst/gstvalue.c: doc fixes
2004-03-30 07:36:19 +00:00
Colin Walters
f8d4198b95 gst/registries/gstxmlregistry.c (get_time)
Original commit message from CVS:
2004-03-29  Colin Walters  <walters@redhat.com>

* gst/registries/gstxmlregistry.c (get_time)
(plugin_times_older_than_recurse):
Use the result of stat to determine whether a path is a file,
so we don't attempt to opendir() files.
2004-03-29 22:17:28 +00:00
Benjamin Otte
097dc18c80 gst/gstpad.c: print caps in debugging output when setting caps failed
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_explicit_caps):
print caps in debugging output when setting caps failed
* gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
(schedule_next_element), (get_buffer), (run_chainhandler),
(element_may_start), (gst_entry_scheduler_chain_handler),
(gst_entry_scheduler_get_handler),
(gst_entry_scheduler_state_transition),
(gst_entry_scheduler_pad_link):
make this scheduler a testcase for mandatory
discont-before-first-buffer which is needed if we want to allow apps
to release the sound device.
add SCHED_ASSERT macro to print scheduler state before an assertion
triggers.
2004-03-29 16:20:45 +00:00
Martin Soto
78640b89c0 gst/gstelement.*: New function for setting element time taking into account a hardware buffering delay.
Original commit message from CVS:
* gst/gstelement.h:
* gst/gstelement.c (gst_element_set_time_delay): New function for
setting element time taking into account a hardware buffering
delay.
(gst_element_set_time): Now just an invocation of
gst_element_set_time_delay.
* gst/gstclock.h:
* gst/gstclock.c (gst_clock_get_event_time_delay): New function
allowing to set event times in the future.
(gst_clock_get_event_time): Now just an invocation of
gst_clock_get_event_time_delay.
2004-03-28 13:15:21 +00:00
Benjamin Otte
b2067f5593 more brown paperbags, i can really start to go shopping soon
Original commit message from CVS:
more brown paperbags, i can really start to go shopping soon
2004-03-28 02:39:59 +00:00
Benjamin Otte
e93d031caa brown paperbag
Original commit message from CVS:
brown paperbag
2004-03-28 02:37:52 +00:00
Benjamin Otte
c29e35436f gst/gstbin.c: don't add decoupled elements to schedulers - otherwise it's impossible to control if a link to a decoup...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_set_element_sched),
(gst_bin_unset_element_sched):
don't add decoupled elements to schedulers - otherwise it's
impossible to control if a link to a decoupled element was already
removed from a scheduler or not.
* gst/schedulers/cothreads_compat.h:
* gst/schedulers/gthread-cothreads.h:
add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
is no "unused" warning.
* gst/schedulers/Makefile.am:
* gst/schedulers/entryscheduler.c:
add new scheduler, based on ideas from talking to David and Martin.
It's supposed to be small and correct. Currently it's also slow (but
it's not noticable)
* examples/retag/retag.c: (main):
* testsuite/bytestream/test1.c: (main):
fix missing NULLs at end of variadic functions
* testsuite/elements/.cvsignore:
update
2004-03-28 02:29:24 +00:00
Jan Schmidt
734bd34a92 Added GST_EVENT_ANY as an event type that passes a GstStructure
Original commit message from CVS:
Added GST_EVENT_ANY as an event type that passes a GstStructure
2004-03-27 15:30:41 +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
Benjamin Otte
7f6e97ebe9 gst/schedulers/: fix GStreamer to not have issues with lvalue casts anymore (fixes some bug, but bugzilla is down)
Original commit message from CVS:
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_src_wrapper):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
(pad_clear_queued), (gst_opt_scheduler_add_element),
(gst_opt_scheduler_remove_element):
fix GStreamer to not have issues with lvalue casts anymore (fixes
some bug, but bugzilla is down)
2004-03-24 14:06:48 +00:00
Benjamin Otte
0c01133df9 gst/gstelement.c: add documentation about a gobject quirk where the object hasn't the correct class pointer set on in...
Original commit message from CVS:
* gst/gstelement.c:
add documentation about a gobject quirk where the object hasn't the
correct class pointer set on initialization
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_src_wrapper):
make sure to not run into an infinite loop
2004-03-24 13:38:17 +00:00
Benjamin Otte
58a5ccec56 gst/gstutils.*: first argument of gst_util_dump_mem should be const
Original commit message from CVS:
* gst/gstutils.c: (gst_util_dump_mem):
* gst/gstutils.h:
first argument of gst_util_dump_mem should be const
2004-03-22 22:23:50 +00:00
Johan Dahlin
f9f0df62e8 gst/gstvalue.h: Clean up a little bit.
Original commit message from CVS:
* gst/gstvalue.h: Clean up a little bit.
2004-03-22 15:35:06 +00:00
Benjamin Otte
c903ce8a27 gst/: clean up used memory in this elements correctly on teardown (closes #137279)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/autoplug/gstspider.c: (gst_spider_dispose):
* gst/elements/gstaggregator.c: (gst_aggregator_finalize),
(gst_aggregator_class_init), (gst_aggregator_init):
* gst/elements/gstfilesrc.c: (gst_filesrc_init),
(gst_filesrc_dispose), (gst_filesrc_set_location):
* gst/elements/gstidentity.c: (gst_identity_finalize),
(gst_identity_class_init), (gst_identity_chain):
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
* gst/elements/gststatistics.c: (gst_statistics_finalize),
(gst_statistics_class_init):
* gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
(gst_tee_get_property):
clean up used memory in this elements correctly on teardown (closes
#137279)
2004-03-21 03:22:55 +00:00
Colin Walters
5dce08af99 gst/registries/gstxmlregistry.c: Make registry saving atomic.
Original commit message from CVS:
2004-03-20  Colin Walters  <walters@verbum.org>

* gst/registries/gstxmlregistry.c:
(gst_xml_registry_open_func, gst_xml_registry_close_func): Make
registry saving atomic.
2004-03-20 20:24:49 +00:00
Colin Walters
59c20484d0 gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func): Just use access() instead of actually creating and...
Original commit message from CVS:
2004-03-20  Colin Walters  <walters@verbum.org>

* gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func): Just use
access() instead of actually creating and deleting files.
2004-03-20 17:59:08 +00:00
Thomas Vander Stichele
0bf7263c12 updated translation return silently when filesink not open
Original commit message from CVS:
updated translation
return silently when filesink not open
2004-03-18 13:01:21 +00:00
David Schleef
ee50a6a3c3 gst/gst.c: Fix some gettext strings to make them easier to translate. Required making the strings non-const.
Original commit message from CVS:
* gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
(gst_init_check_with_popt_table):  Fix some gettext strings to
make them easier to translate.  Required making the strings
non-const.
2004-03-17 02:43:55 +00:00
Johan Dahlin
5c403b9abe gst/schedulers/gstoptimalscheduler.c
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c
(gst_opt_scheduler_pad_unlink): Remove double ;, spotted by Scott Wheeler
2004-03-16 09:53:16 +00:00
Thomas Vander Stichele
d50e521601 fix header inclusion
Original commit message from CVS:
fix header inclusion
2004-03-15 23:11:36 +00:00
Thomas Vander Stichele
982e1f69c1 add padding
Original commit message from CVS:
add padding
2004-03-15 22:42:34 +00:00
Benjamin Otte
1cedbe04e1 gst/elements/gstfdsrc.c: set the first parameter for select call correctly.
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
set the first parameter for select call correctly.
(fixes #137230)
2004-03-15 19:49:36 +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
Johan Dahlin
84f49e604d gst/schedulers/gstoptimalscheduler.c
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c
(gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
crash on MPEG playback. My boolean arithmetic is a bit rusty.
2004-03-15 19:24:35 +00:00
Thomas Vander Stichele
98ff5bbb2f add debugging fix comment blocks fix some -libs doc errors
Original commit message from CVS:
add debugging
fix comment blocks
fix some -libs doc errors
2004-03-15 15:16:04 +00:00
Johan Dahlin
ecd88e381d Revert again, this time without post-commit reindent hooks to put back the indentation :-)
Original commit message from CVS:
Revert again, this time without post-commit reindent hooks
to put back the indentation :-)
2004-03-15 14:43:35 +00:00
Johan Dahlin
2143a02a13 Revert again, this time without post-commit reindent hooks to put back the indentation :-)
Original commit message from CVS:
Revert again, this time without post-commit reindent hooks
to put back the indentation :-)
2004-03-15 14:43:34 +00:00
Johan Dahlin
e2b3dc3e47 *.h: Revert indentation changes.
Original commit message from CVS:
* *.h: Revert indentation changes.
2004-03-15 14:31:41 +00:00
Thomas Vander Stichele
c01cd4e835 g_error fix, m/m version fix
Original commit message from CVS:
g_error fix, m/m version fix
2004-03-14 17:54:22 +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
Benjamin Otte
bc98c7bf1d gst/gstelement.c: add documentation note about gst_element_found_tags_for_pad not being usable in getfunctions. (see ...
Original commit message from CVS:
* gst/gstelement.c:
add documentation note about gst_element_found_tags_for_pad not
being usable in getfunctions. (see #137042)
2004-03-13 10:14:05 +00:00
David Schleef
365e091451 gst/gstcaps.h: jdahlin, what are you smoking? We can't just change API right now! Readd gst_caps_is_simple() macro.
Original commit message from CVS:
* gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
change API right now!  Readd gst_caps_is_simple() macro.
* gst/gstelement.c: (gst_element_base_class_finalize): Fix
uninitialized variable.  I'd bet this caused crashes.
* gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
2004-03-13 00:14:46 +00:00
Johan Dahlin
8c7f46ced0 Gtype->GType
Original commit message from CVS:
Gtype->GType
2004-03-12 19:39:19 +00:00
Johan Dahlin
3798f1c4fa gst/gststructure.c (gst_structure_get_type): Ditto
Original commit message from CVS:
* gst/gststructure.c (gst_structure_get_type): Ditto

* gst/gststructure.h: Ditto
2004-03-12 19:35:40 +00:00
Johan Dahlin
37d2e6d087 gst/gst.c (init_post): call gst_caps_get_type() instead of _gst_caps_initalize()
Original commit message from CVS:
* gst/gst.c (init_post): call gst_caps_get_type() instead of
_gst_caps_initalize()

* gst/gstcaps.c: Style fixes, stay closer to glib and friends
(_gst_caps_initialize): Remove, in favor for gst_caps_get_type()

* gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
* gst/gstcaps.h: Clean up
2004-03-12 19:32:26 +00:00
Johan Dahlin
82d5ac58c4 gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
Original commit message from CVS:
* gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
* gst/gstcaps.h: Clean up
2004-03-12 18:25:07 +00:00
Thomas Vander Stichele
e0c63736c6 comment fix whitespace fixes
Original commit message from CVS:
comment fix
whitespace fixes
2004-03-12 17:59:00 +00:00
Ronald S. Bultje
5d1a30f452 gst/gstqueue.c: Reset default max. values in queues. Reason is simply to avoid braindead use. If you want wider value...
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init):
Reset default max. values in queues. Reason is simply to avoid
braindead use. If you want wider values, use the properties. The
default is supposed to always work. Wider values would make this
beast a memory hog by default (250 full-PAL RGB32 video frames?
That's 440 MB! No thank you).
2004-03-12 01:41:21 +00:00
Johan Dahlin
c2b46e7a8a Shut up gcc 3.2
Original commit message from CVS:
Shut up gcc 3.2
2004-03-10 17:01:57 +00:00
Johan Dahlin
c24e220bfb gst/schedulers/gstoptimalscheduler.c
Original commit message from CVS:
* gst/schedulers/gstoptimalscheduler.c
(gst_opt_scheduler_pad_unlink): Implement unlink for elements with
links to elements within the same group, so we can finally remove
that annoying warning. Refactor the code a little bit
(group_dec_links_for_element): Split out
2004-03-10 16:47:06 +00:00
Thomas Vander Stichele
deb1c93227 add GstGError to help the bindings
Original commit message from CVS:
add GstGError to help the bindings
2004-03-09 14:44:36 +00:00
Jan Schmidt
e36f583bab Free leaked g_timer on early return
Original commit message from CVS:
Free leaked g_timer on early return
2004-03-09 13:33:11 +00:00
Thomas Vander Stichele
27d587b023 better debug info
Original commit message from CVS:
better debug info
2004-03-09 13:23:14 +00:00
Thomas Vander Stichele
083e451238 more debugging
Original commit message from CVS:
more debugging
2004-03-08 17:47:52 +00:00
Thomas Vander Stichele
53bd79574d remove \n
Original commit message from CVS:
remove \n
2004-03-08 17:13:35 +00:00
Andy Wingo
b6a5699ca6 gst/gstbin.c (gst_bin_remove): Debugging fixes.
Original commit message from CVS:
2004-03-07  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c (gst_bin_remove): Debugging fixes.

* gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
there are no links to other groups when a group is destroyed.
(gst_opt_scheduler_pad_unlink): If the unlink means an element is
removed from a group, make sure the link count to elements linked
to other pads is appropriately decremented. This really fixes
#135672.

The 1.60->1.61 patch has been reapplied in light of this fix.

* gst/gstelement.c (gst_element_dispose): Really protect against
multiple invocations this time.
2004-03-07 14:33:13 +00:00
Thomas Vander Stichele
558ac743bb remove deprecated functions add two tag prototypes to docs add accessor function
Original commit message from CVS:
remove deprecated functions
add two tag prototypes to docs
add accessor function
2004-03-06 20:19:23 +00:00
Christophe Fergeau
91e0700148 gst/autoplug/gstspider.c: fixed caps leak
Original commit message from CVS:
2004-03-06  Christophe Fergeau  <teuf@gnome.org>

* gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
leak
2004-03-06 18:25:59 +00:00
Benjamin Otte
e210fe6540 gst/gstelement.c: revert recent recursive state changing commit - messing with other elements' states is evil and sho...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_error_full):
revert recent recursive state changing commit - messing with other
elements' states is evil and should be done by apps only.
2004-03-05 22:01:42 +00:00
Benjamin Otte
a426305315 gst/gstelement.c: check for empty intersection instead of NULL caps remove old workaround that is only a bug nowadays
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_compatible_pad_template):
check for empty intersection instead of NULL caps
(gst_element_get_compatible_pad_filtered):
remove old workaround that is only a bug nowadays
2004-03-05 21:44:36 +00:00
Thomas Vander Stichele
674e6a9a02 gst/gstelement.c: make elements try to recursively change state to PAUSED on all parents after an error to suppress e...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_error_full):
make elements try to recursively change state to PAUSED on all
parents after an error to suppress ensuing warnings
* gst/parse/grammar.y:
make it check if it was able to sync the state, and throw an error
if not, so stuff like
oggdemux ! vorbisdec ! osssink gets caught
2004-03-05 13:07:48 +00:00
David Schleef
5fba054547 gst/gstcpuid_i386.s: Remove unused code
Original commit message from CVS:
* gst/gstcpuid_i386.s:  Remove unused code
* libs/gst/getbits/getbits.c: (gst_getbits_init),
(gst_getbits_newbuf): Remove MMX code
* libs/gst/getbits/getbits.h: Remove MMX code
2004-03-05 08:35:02 +00:00
Thomas Vander Stichele
97f89b5365 make signals use dashes in the names
Original commit message from CVS:
make signals use dashes in the names
2004-03-04 20:06:02 +00:00
Benjamin Otte
29642c4548 gst/schedulers/gstoptimalscheduler.c: revert last commit by Andy Wingo. It causes segfaults on unreffing in Rhythmbox...
Original commit message from CVS:
2004-03-03  Benjamin Otte  <otte@gnome.org>

* gst/schedulers/gstoptimalscheduler.c:
revert last commit by Andy Wingo. It causes segfaults on unreffing
in Rhythmbox. (see bug #135672)
2004-03-02 23:04:50 +00:00
Thomas Vander Stichele
4e298c0641 attach global instead of local registry to GST_REGISTRY
Original commit message from CVS:
attach global instead of local registry to GST_REGISTRY
2004-03-01 23:38:27 +00:00
Thomas Vander Stichele
fdfb2b8232 configure.ac: remove whitespace
Original commit message from CVS:
* configure.ac:
remove whitespace
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstdata.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstxml.sgml:
doc update
* docs/manuals.mak:
add a FIXME
* docs/pwg/intro-preface.xml:
* docs/pwg/pwg.xml:
remove GNOME
* gst/gst.c: (init_post):
try GST_PLUGIN_PATH paths for the _global_registry first
* gst/gstelement.h:
add the error message as well, otherwise (null) debug info doesn't
make much sense
* tools/gst-register.c: (main):
spill paths to next registry if this registry is not writable
* po/fr.po:
* po/nl.po:
translation updates
2004-03-01 17:15:28 +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
Benjamin Otte
88ba7f4999 gst/gstbuffer.h: remove gst_buffer_free, use gst_data_unref
Original commit message from CVS:
2004-02-27  Benjamin Otte  <otte@gnome.org>

* gst/gstbuffer.h:
remove gst_buffer_free, use gst_data_unref
* gst/gstdata.c: (gst_data_get_type):
use refcounting in GstData GBoxed registration
* gst/gstdata.h:
remove gst_data_free, use gst_data_unref
2004-02-27 21:29:04 +00:00
Johan Dahlin
730dd21ce5 gst/gstdata.c (gst_data_get_type): New function, register
Original commit message from CVS:
* gst/gstdata.c (gst_data_get_type): New function, register
GstData as a GBoxed type.

* gst/gstdata.h (GST_TYPE_DATA): New macro
2004-02-27 17:58:24 +00:00
Thomas Vander Stichele
849f5cc3e4 adding back RELEASE clean up disting of built files
Original commit message from CVS:
adding back RELEASE
clean up disting of built files
2004-02-27 12:37:13 +00:00
David Schleef
c5d76e5c98 configure.ac: We don't really need glib-2.3. Also remove some unneeded checks for library functions.
Original commit message from CVS:
* configure.ac:  We don't really need glib-2.3.  Also remove
some unneeded checks for library functions.
* gst/Makefile.am:  Instead, we need to not dist files created
by glib-genmarshal.
2004-02-27 02:00:37 +00:00
Thomas Vander Stichele
94783aaebb merging from release branch
Original commit message from CVS:
merging from release branch
2004-02-26 17:02:49 +00:00
Andy Wingo
bc13ad8a9e gst/gstpad.c (gst_pad_link_prepare): Re-add gst_pad_link_prepare. Please email the list with specific reasons for rev...
Original commit message from CVS:
2004-02-25  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_link_prepare): Re-add
gst_pad_link_prepare. Please email the list with specific reasons
for reverting.

----------------------------------------------------------------------
2004-02-25 14:16:24 +00:00
Andy Wingo
3f5a8814d5 gst/gstelement.c (gst_element_dispose): Protect against multiple invocations.
Original commit message from CVS:
2004-02-24  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_dispose): Protect against multiple
invocations.

* gst/schedulers/gstoptimalscheduler.c
I added a mess of prototypes at the top of the file by way of
documentation. Some of the operations on chains and groups were
re-organized.

(create_group): Added a type argument so if the group is enabled,
the setup_group_scheduler knows what to do.
(group_elements): Added a type argument here, too, to be passed on
to create_group.
(group_element_set_enabled): If an unlinked PLAYING element is
added to a bin, we have to create a new group to hold the element,
and this function will be called before the group is added to the
chain. Thus we have a valid case for group->chain==NULL. Instead
of calling chain_group_set_enabled, just set the flag on the group
(the chain's status will be set when the group is added to it).
(gst_opt_scheduler_state_transition, chain_group_set_enabled):
Setup the group scheduler when the group is enabled, not
specifically when an element goes PAUSED->PLAYING. This means
PLAYING elements can be added, linked, and scheduled into a
PLAYING pipeline, as was intended.
(add_to_group): Don't ref the group twice. I don't know when this
double-ref got in here. Removing it has the potential to cause
segfaults if other parts of the scheduler are buggy. If you find
that the scheduler is segfaulting for you, put in an extra ref
here and see if that hacks over the underlying issue. Of course,
then find out what code is unreffing a group it doesn't own...
(create_group): Make the extra refcount floating, and remove it
after adding the element. This means that...
(unref_group): Destroy when the refcount reaches 0, not 1, like
every other refcounted object in the known universe.
(remove_from_group): When a group becomes empty, set it to be not
active, and remove it from its chain. Don't unref it again,
there's no floating reference any more.
(destroy_group): We have to remove the group from the chain in
remove_from_group (rather than here) to break refcounting cycles
(the chain always has a ref on the group). So assert that
group->chain==NULL.
(ref_group_by_count): Removed, it was commented out anyway.
(merge_chains): Use the remove_from_chain and add_to_chain
primitives to do the reparenting, instead of rolling our own
implementation.
(add_to_chain): The first non-disabled group in the chain's group
list will be the entry point for the chain. Because buffers can
accumulate in loop elements' peer bufpens, we preferentially
schedule loop groups before get groups to avoid unnecessary
execution of get-based groups when the bufpens are already full.
(gst_opt_scheduler_schedule_run_queue): Debug fixes.
(get_group_schedule_function): Ditto.
(loop_group_schedule_function): Ditto.
(gst_opt_scheduler_loop_wrapper): Ditto.
(gst_opt_scheduler_iterate): Ditto.

I understand the opt scheduler now, yippee!

* gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
(gst_pad_get_name, gst_pad_set_chain_function)
(gst_pad_set_get_function, gst_pad_set_event_function)
(gst_pad_set_event_mask_function, gst_pad_get_event_masks)
(gst_pad_get_event_masks_default, gst_pad_set_convert_function)
(gst_pad_set_query_function, gst_pad_get_query_types)
(gst_pad_get_query_types_default)
(gst_pad_set_internal_link_function)
(gst_pad_set_formats_function, gst_pad_set_link_function)
(gst_pad_set_fixate_function, gst_pad_set_getcaps_function)
(gst_pad_set_bufferalloc_function, gst_pad_unlink)
(gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent)
(gst_pad_add_ghost_pad, gst_pad_proxy_getcaps)
(gst_pad_proxy_pad_link, gst_pad_proxy_fixate)
(gst_pad_get_pad_template_caps, gst_pad_check_compatibility)
(gst_pad_get_peer, gst_pad_get_allowed_caps)
(gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull)
(gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps)
(gst_pad_event_default_dispatch, gst_pad_event_default)
(gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default)
(gst_pad_convert, gst_pad_query_default, gst_pad_query)
(gst_pad_get_formats_default, gst_pad_get_formats): Better
argument checks, and some doc fixes.

(gst_pad_custom_new_from_template): Um, does anyone
use these functions? Actually make a custom pad instead of a
normal one.
(gst_pad_try_set_caps): Transpose some checks.
(gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
the pad is in negotiation.
(gst_pad_try_relink_filtered): Use pad_link_prepare.

* gst/gstelement.c: Remove prototypes also defined in gstclock.h.

* gst/gstelement.h:
* gst/gstclock.h: Un-deprecate the old clocking API, as discussed
on the list.
2004-02-25 13:16:12 +00:00
Thomas Vander Stichele
79f5d87041 better debugging
Original commit message from CVS:
better debugging
2004-02-25 10:01:31 +00:00
Thomas Vander Stichele
a8328dde93 adding error to gstbin.c
Original commit message from CVS:
adding error to gstbin.c
2004-02-24 12:41:19 +00:00
Julien Moutte
8e30d59c6c gst/gsttag.c: Registering 2 new tags, audio-codec and video-codec.
Original commit message from CVS:
2004-02-22  Julien MOUTTE <julien@moutte.net>

* gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
audio-codec and video-codec.
2004-02-22 21:56:00 +00:00
Benjamin Otte
5a34cd92ed gst/gstpad.c: revert last patch from Andy, it makes gst_pad_can_link_filtered much too noisy
Original commit message from CVS:
2004-02-22  Benjamin Otte  <otte@gnome.org>

* gst/gstpad.c:
revert last patch from Andy, it makes gst_pad_can_link_filtered much
too noisy
* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
* libs/gst/control/dparam.c: (gst_dparam_attach):
* libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
check that types for attached dparams match
2004-02-22 15:09:20 +00:00
Thomas Vander Stichele
62537fecd4 fix errors
Original commit message from CVS:
fix errors
2004-02-22 14:07:55 +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
Julien Moutte
ee700ccc65 gst/gsttag.h: Adding video-codec and audio-codec for demuxers which will emit found_tag for each stream they demux wi...
Original commit message from CVS:
2004-02-20  Julien MOUTTE <julien@moutte.net>

* gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
will emit found_tag for each stream they demux with the codec.
2004-02-20 11:55:44 +00:00
Benjamin Otte
7155cfae35 gst/gstevent.c: copy navigation event correctly. Check freeing tag lists.
Original commit message from CVS:
2004-02-20  Benjamin Otte  <otte@gnome.org>

* gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
copy navigation event correctly. Check freeing tag lists.
* gst/gstthread.c: (gst_thread_change_state):
don't abort() on state changing mess - it might happen because of
bugs.
* gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
use boxed functions
* gst/gstvalue.h:
fix GST_VALUE_HOLDS_CAPS
2004-02-20 00:38:24 +00:00