Commit graph

285 commits

Author SHA1 Message Date
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
Christophe Fergeau
3bffe8514f po/fr.po: fix typo
Original commit message from CVS:
2004-03-02  Christophe Fergeau  <teuf@gnome.org>

* po/fr.po: fix typo
2004-03-02 21:42:32 +00:00
Christophe Fergeau
4a20ac4ee6 tools/: add calls to bind_textdomain_codeset
Original commit message from CVS:
2004-03-02  Christophe Fergeau  <teuf@gnome.org>

* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
2004-03-02 21:41:02 +00:00
Thomas Vander Stichele
1c6814ff53 trim fat from nonversioned binaries
Original commit message from CVS:
trim fat from nonversioned binaries
2004-03-02 10:38:40 +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
David Schleef
5fe16c54e7 AUTHORS: Added some names. Add yourself if you're missing.
Original commit message from CVS:
* AUTHORS:  Added some names.  Add yourself if you're missing.
2004-03-01 21:00:55 +00:00
David Schleef
bd0d084acc MAINTAINERS: Add
Original commit message from CVS:
* MAINTAINERS: Add
2004-03-01 20:54:13 +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
6ba9afe27a up glib req
Original commit message from CVS:
up glib req
2004-02-26 18:38:16 +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
Christian Schaller
b388570595 fixing the --help text for docs building/non-building. Finally the correct text for dummies like me :)
Original commit message from CVS:
fixing the --help text for docs building/non-building. Finally the correct text for dummies like me :)
2004-02-25 18:40:55 +00:00
Thomas Vander Stichele
bacf783293 fix debugging info in manual
Original commit message from CVS:
fix debugging info in manual
2004-02-25 17:38:53 +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
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
bf08b9f3d1 autogen.sh: replace test -e with test -x for mkinstalldirs to be more portable.
Original commit message from CVS:
2004-02-22  Benjamin Otte  <otte@gnome.org>

reported by: Padraig O'Briain <padraig.obriain@sun.com>

* autogen.sh:
replace test -e with test -x for mkinstalldirs to be more portable.
(fixes #134816)
2004-02-22 15:55:29 +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
David Schleef
fba77bb903 gst/gstinfo.h: Copy G_STRFUNC implementation from glib-2.4 and use it for GST_FUNCTION. (bug #134750)
Original commit message from CVS:
* gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
and use it for GST_FUNCTION.  (bug #134750)
2004-02-19 20:08:45 +00:00
Thomas Vander Stichele
321bfca246 update translations
Original commit message from CVS:
update translations
2004-02-19 17:29:13 +00:00
Thomas Vander Stichele
3ce34049eb some fixes from jdahlin
Original commit message from CVS:
some fixes from jdahlin
2004-02-19 10:36:06 +00:00
David Schleef
97cded9425 docs/libs/gstreamer-libs-sections.txt: Add missing sections for libgstcontrol.
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* docs/libs/gstreamer-libs-sections.txt:  Add missing sections
for libgstcontrol.
2004-02-19 02:23:35 +00:00
David Schleef
aff2828040 libs/gst/control/: Additional fixes to get double dparams working.
Original commit message from CVS:
* libs/gst/control/dparam.c: (gst_dparam_class_init):
* libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
(gst_dpsmooth_new): Additional fixes to get double dparams working.
* tools/gst-inspect.c: (print_element_info): Support dumping of
double dparam information.
2004-02-19 01:47:04 +00:00
David Schleef
67455089a4 gst/elements/gstmultifilesrc.c: Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
Original commit message from CVS:
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
* gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
Use GST_TYPE_CAPS in signal prototype.
* gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
Convert GST_TYPE_CAPS to boxed.
* gst/gstelement.c: (gst_element_class_init):
Use GST_TYPE_TAG_LIST in signal prototype.
* gst/gstindex.c: (gst_index_class_init):
* gst/gstindex.h:
Add GST_TYPE_INDEX_ENTRY type.
* gst/gstmarshal.list:
Add necessary marshal types.
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
(gst_pad_recover_caps_error):
Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
* gst/gststructure.c: (_gst_structure_initialize),
(gst_structure_copy), (_gst_structure_copy_conditional):
* gst/gststructure.h:
Convert GST_TYPE_STRUCTURE to boxed.
* gst/gsttag.c: (gst_tag_list_get_type):
* gst/gsttag.h:
Add GST_TYPE_TAG_LIST type.
2004-02-18 05:26:59 +00:00
Julien Moutte
6aeaab9643 gst/gstpad.c: Reverting my change according to what we agreed with david.
Original commit message from CVS:
2004-02-17  Julien MOUTTE  <julien@moutte.net>

* gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
to what we agreed with david.
* gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
2004-02-17 22:55:26 +00:00
Thomas Vander Stichele
2f3be462a6 update translation
Original commit message from CVS:
update translation
2004-02-17 18:27:00 +00:00
Julien Moutte
47a11ddf79 gst/gstpad.c: We are nice people. Return silently when the pad is negotiating.
Original commit message from CVS:
2004-02-17  Julien MOUTTE  <julien@moutte.net>

* gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return
silently when the pad is negotiating.
2004-02-16 23:40:32 +00:00
Thomas Vander Stichele
fd9b030b00 adding gst-uninstalled script
Original commit message from CVS:
adding gst-uninstalled script
2004-02-16 15:47:23 +00:00
Thomas Vander Stichele
05057d9245 patch for s390 from fedora test 2 rpms
Original commit message from CVS:
patch for s390 from fedora test 2 rpms
2004-02-16 12:28:36 +00:00
Julien Moutte
0f21f59260 gst/gstbin.c: Fix a big bug that was breaking pipelines like sinesrc ! { queue ! osssink } when an error was thrown b...
Original commit message from CVS:
2004-02-15  Julien MOUTTE  <julien@moutte.net>

* gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
an error was thrown by osssink. Basically a state change failure for
an element in a different scheduling group was considered as successfull        , which means that caps nego was going on and weird stuff happened. Like        i wrote in the comment there, if someone want to revert that please
drop me a mail explaining why because i really see no point in keeping
that broken behaviour there.
* gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
be empty, we then return NULL which will trigger a nice error when
pulling from the pad.
2004-02-15 19:05:59 +00:00
David Schleef
cd8208e769 libs/gst/control/: Add support for double dparams.
Original commit message from CVS:
* libs/gst/control/dparam.c: (gst_dparam_class_init),
(gst_dparam_get_property), (gst_dparam_set_property),
(gst_dparam_do_update_default):
* libs/gst/control/dparam.h:
* libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
(gst_dpsmooth_new), (gst_dpsmooth_set_property),
(gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
(gst_dpsmooth_do_update_double):
* libs/gst/control/dparam_smooth.h:
* libs/gst/control/dparammanager.c:
(gst_dpman_inline_direct_update):
Add support for double dparams.
2004-02-14 00:01:33 +00:00
David Schleef
5e7335abe3 gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
* gst/gstclock.h: Avoid using 64-bit % operator (slow!)
2004-02-13 23:56:11 +00:00
David Schleef
5432f712bb gst/elements/gstfdsrc.*: Adds timeout property to fdsrc, and sends an EOS event if file descriptor reading times out.
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_init), (gst_fdsrc_set_property),
(gst_fdsrc_get_property), (gst_fdsrc_get):
* gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
and sends an EOS event if file descriptor reading times out.
2004-02-13 20:16:42 +00:00
Thomas Vander Stichele
b1f2d545e2 am 1.6 requires AM_CONDITIONAL in configure.ac
Original commit message from CVS:
am 1.6 requires AM_CONDITIONAL in configure.ac
2004-02-13 17:37:06 +00:00
Thomas Vander Stichele
2ee4c34ff8 fix libxml req version
Original commit message from CVS:
fix libxml req version
2004-02-13 12:57:20 +00:00
Johan Dahlin
e776275061 Test commit
Original commit message from CVS:
Test commit
2004-02-13 11:20:20 +00:00
Thomas Vander Stichele
78066caf1a version API docs
Original commit message from CVS:
version API docs
2004-02-12 17:23:37 +00:00
Thomas Vander Stichele
509fa3874c fixes for --disable-loadsave --disable-registry
Original commit message from CVS:
fixes for --disable-loadsave --disable-registry
2004-02-12 16:49:16 +00:00
Thomas Vander Stichele
4d114d44f5 various fixes
Original commit message from CVS:
various fixes
2004-02-12 16:31:59 +00:00
Thomas Vander Stichele
e8a2e56e81 put version in documentation
Original commit message from CVS:
put version in documentation
2004-02-12 13:04:02 +00:00
Thomas Vander Stichele
5757471d79 spec update tools install fixes
Original commit message from CVS:
spec update
tools install fixes
2004-02-12 12:13:51 +00:00