Original commit message from CVS:
* configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
GST_PRINTF_EXTENSION_FORMAT_DEFINE.
* docs/random/ds/0.9-suggested-changes: Notes from Company.
* gst/gstcaps.c: (gst_caps_to_string): Add comment.
* gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
(gst_debug_log_default), (_gst_info_printf_extension),
(_gst_info_printf_extension_arginfo): Add printf extension.
* gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
* gst/gststructure.c: (gst_structure_to_string),
(_gst_structure_parse_value): Use gst_value_deserialize() and
remove old code.
* gst/gstvalue.c: (gst_value_deserialize_fourcc),
(gst_value_deserialize_boolean), (gst_strtoi),
(gst_value_deserialize_int), (gst_value_deserialize_double),
(gst_value_deserialize_string), (gst_value_deserialize): Implement
a bunch of deserialize functions and gst_value_deserialize.
* gst/gstvalue.h: er, _de_serialize, not unserialize
* testsuite/caps/string-conversions.c: (main): We don't currently
handle (float) in caps, so convert these to (double).
* testsuite/debug/Makefile.am: Add new test for the printf extension
* testsuite/debug/printf_extension.c: (main): same
Original commit message from CVS:
2004-01-28 Benjamin Otte <in7y118@public.uni-hamburg.de>
* docs/random/company/time:
Add some docs about clocking and time
Original commit message from CVS:
2004-01-28 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_tagging.xml:
Half-assed commit so Thomas can re-arrange document IDs here to be
consistent, too.
Original commit message from CVS:
2004-01-28 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_interfaces.xml:
Add documentation on propertyprobing.
* docs/pwg/advanced_events.xml:
* docs/pwg/advanced_tagging.xml:
* docs/pwg/building_boiler.xml:
* docs/pwg/building_filterfactory.xml:
* docs/pwg/pwg.xml:
Move filterfactory and tagging into their own chapter, add a chapter
on events. all these are empty placeholders that will be filled in
some day.
Original commit message from CVS:
2004-01-28 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_interfaces.xml:
Docs for mixer interface. Also a check for website uploading.
Original commit message from CVS:
2004-01-28 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_types.xml:
Add notes on creating your own types.
* docs/pwg/building_boiler.xml:
* docs/pwg/building_pads.xml:
* docs/pwg/building_state.xml:
Add some stuff about how to retrieve values from structures, how
that relates to types and change layout slightly again to be almost
perfect.
Original commit message from CVS:
2004-01-28 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_dparams.xml:
* docs/pwg/advanced_scheduling.xml:
Change index layout slightly.
Original commit message from CVS:
2004-01-28 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_clock.xml:
* docs/pwg/advanced_interfaces.xml:
* docs/pwg/advanced_midi.xml:
General placeholders for now.
* docs/pwg/advanced_request.xml:
Explanation about sometimes and request pads.
* docs/pwg/advanced_scheduling.xml:
Concept of bytestream, loopfunctions and schedulers.
* docs/pwg/building_boiler.xml:
Add something about plugin-init.
Original commit message from CVS:
2004-01-27 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_interfaces.xml:
* docs/pwg/pwg.xml:
Add as a placeholder for future filling-in.
* docs/pwg/basics_autoplugging.xml:
* docs/pwg/basics_buffers.xml:
* docs/pwg/basics_elements.xml:
* docs/pwg/basics_events.xml:
* docs/pwg/basics_plugins.xml:
* docs/pwg/basics_types.xml:
Remove, because unused (this is all in intro_basics.xml).
* docs/pwg/building_signals.xml:
Short intro to signals + reference to GObject docs - we really
shouldn't go into these sort of things to deply because we don't
use them that extensively anyway.
* docs/pwg/building_state.xml:
Explanation of states. Benjamin, please check.
* docs/pwg/building_testapp.xml:
Put everything in one page - putting only a few lines of content
per page doesn't really make sense.
Time to get into the advanced topics. ;).
Original commit message from CVS:
2004-01-27 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_types.xml:
Finish documenting the current state of mimetypes.
* docs/pwg/building_boiler.xml:
* docs/pwg/building_chainfn.xml:
* docs/pwg/building_pads.xml:
* docs/pwg/building_props.xml:
* docs/pwg/building_testapp.xml:
Start documenting the "how to build a simple audio filter" part
of the PWG. Most stuff is ready by now. Stuff remaining: signals,
states and (maybe?) a short introduction to capsnego in the chapter
on pads (building_pads.xml). Capsnego should probably be explained
fully in advanced_capsnego.xml or so.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
* gst/gstpad.h: Add new function to allow element to (somewhat)
specify non-fixed caps on a pad.
* gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
that I added a few weeks ago.
Original commit message from CVS:
2004-01-26 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/pwg/advanced_types.xml:
* docs/pwg/intro_basics.xml:
* docs/pwg/intro_preface.xml:
* docs/pwg/pwg.xml:
* docs/pwg/titlepage.xml:
First try to resurrect the PWG. I'm halfway integrating the mimetypes
in here (docs/random/mimetypes), and will from there on work on both
updating outdated parts and adding missing parts.
That doesn't mean I'll fix it completely, but I'll try at least. ;).
Original commit message from CVS:
2004-01-26 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstelement.h:
remove gst_element_factory_get_version. It doesn't exist anymore.
* gst/gstplugin.c:
* gst/gstplugin.h:
remove gst_plugin_set_name and change gst_plugin_get_longname to
gst_plugin_get_description to match code.
* gst/gsterror.h:
remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
* gst/gstpad.c: (gst_pad_try_set_caps):
make it work with nonfixed caps.
Note that even in the nonfixed case the link function of the pad
that tries to set caps isn't called.
Original commit message from CVS:
2004-01-25 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
fix bug where buffer was not assembled correctly
* gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
silence by default
* gst/elements/gsttypefind.c: (gst_type_find_element_chain):
only seek if there's no more buffers that could work without seeking
Original commit message from CVS:
2004-01-23 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
Add application tag (for encoding/muxing app).
Original commit message from CVS:
2004-01-20 Julien MOUTTE <julien@moutte.net>
* gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
we want to keep that one in the future or change xvidenc.c to use
another error.
Original commit message from CVS:
2004-01-19 Julien MOUTTE <julien@moutte.net>
* gst/gstelement.h: Temporary fixing core build breakage due to
_gst_element_error_printf being undeclared before the macro. Thomas
please fix that soon !
Original commit message from CVS:
2004-01-18 Colin Walters <walters@verbum.org>
* examples/retag/retag.c: Call gst_init before processing
program args. Add g_assert to _link_many call.
Original commit message from CVS:
2004-01-16 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstpad.c: (gst_pad_alloc_buffer):
Return a newly allocated buffer when the pad has no peer.
Original commit message from CVS:
2004-01-16 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstclock.c: (gst_clock_get_time):
make it compile with gcc 2.95 again.
Patch by Scott Wheeler
Original commit message from CVS:
* gst/gstcaps.h:
Added gst_caps_is_simple() macro.
* testsuite/caps/caps.c: (test1):
* testsuite/caps/intersect2.c: (main):
* testsuite/caps/intersection.c: (main):
Fixes to make 'make check' work again after removing
gst_caps_is_chained().
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
(gst_element_link_pads_filtered): Use GST_PAD_ macros instead
of GST_RPAD_, since we don't know if it's a real or ghost pad.
Original commit message from CVS:
* gst/gstcaps.c:
Add lots of documentation.
* gst/gstcaps.h:
Deprecate a few functions.
* gst/gstpad.c:
Removed use of deprecated functions.
Original commit message from CVS:
2004-01-15 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstpad.c: (gst_pad_is_linked):
* gst/gstpad.h:
implement gst_pad_is_linked
* gst/gstelement.h:
reserve space for initiate_state_change
Original commit message from CVS:
2004-01-15 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
break infinite loop by just returning instead of looping
* gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
set event time difference correctly. Set it to 1 second instead
of 100ms to be more tolerant
* gst/gstelement.c: (gst_element_set_time):
add debugging output
Original commit message from CVS:
2004-01-14 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
query if buffers are inside the pool, ignore events
Original commit message from CVS:
2004-01-13 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
(gst_clock_set_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_handle_discont):
* gst/gstclock.h:
deprecate old interface and disable functions that aren't in use
anymore.
* gst/gstelement.h:
* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
(gst_element_set_time), (gst_element_adjust_time):
add concept of "element time" and functions to get/set this time.
* gst/gstelement.c: (gst_element_change_state):
update element time correctly.
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
This is a debug message, not a g_critical.
* gst/gstpad.c: (gst_pad_event_default):
handle discontinuous events right with element time.
* gst/gstscheduler.c: (gst_scheduler_state_transition):
update to clocking fixes.
set clocks on elements in READY=>PAUSED. The old behaviour caused
a wrong element time on the first element that started playing.
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove code that just implements the default behaviour.
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
update to use new clocking functions
* testsuite/clock/clock1.c: (gst_clock_debug), (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (main):
update to test new element time.
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
use _get_allowed_caps instead of _get_caps. This catches filtered
caps correctly.
* testsuite/debug/commandline.c:
update for new GST_DEBUG syntax.
* testsuite/threads/Makefile.am:
disable a test that only works sometimes.
Original commit message from CVS:
2004-01-11 Benjamin Otte <in7y118@public.uni-hamburg.de>
* tools/gst-inspect.c: (print_caps):
improve output of caps a bit
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.
Original commit message from CVS:
2004-01-11 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstqueue.c: (gst_queue_init):
Use better defaults for when a queue should block. This
gets rid of jerky playback for quite a few files.
It takes more memory.
Original commit message from CVS:
2004-01-10 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
(gst_debug_message_get), (gst_debug_log_default):
* gst/gstinfo.h:
Change gst_debug_log(_valist) to take a const format string.
Change prototype of log function and functions using those to
take a GstDebugMessage instead of a string that requires using
gst_debug_message_get.
Original commit message from CVS:
Add option --enable-gcov to build GStreamer with -fprofile-arcs
and -ftest-coverage, which allows gcov to show information about
testsuite coverage.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_append_structure):
Move the poisoning to allow a NULL structure
* gst/gstevent.c: (_gst_event_free):
When freeing a navigation event, free the structure
also
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
Remove usage of gst_pad_proxy_fixate.
* gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
(gst_caps_split_one), (gst_caps_replace):
Add poisoning code.
* gst/gstmarshal.list:
Add pointer__pointer for fixate signal
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
(_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
(gst_pad_set_explicit_caps), (gst_pad_template_new):
Add poisoning code. Add fixate signal on RealPad. Change
set_explicit_caps() to take const GstCaps, like try_set_caps().
* gst/gstpad.h:
* testsuite/caps/Makefile.am:
* testsuite/caps/app_fixate.c: Add a test for the fixate signal
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init):
Use gst_pad_use_explicit_caps for src pad.
* gst/gstpad.c: (gst_pad_try_set_caps): Check that link exists
before using it.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_link_pads_filtered),
(gst_element_negotiate_pads): Fix to allow DELAYED to indicate
that linking was successful.
* gst/gstpad.c: (gst_pad_link_free),
(gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
(gst_pad_link_try), (gst_pad_link_unnegotiate),
(gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
GstPadLinkReturn correctly between functions, and don't fail
when DELAYED is used (DELAYED is very important). Better
cleanup on unlinking and unnegotiation. Should fix some spider
bugs.
Original commit message from CVS:
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/gstelement.c: (gst_element_class_add_pad_template):
Refuse registering a pad template if another pad template
with the same name already exists (#114715).
Original commit message from CVS:
* gst/gstcaps.c: (_gst_structure_is_equal_foreach),
(gst_caps_is_equal_fixed): Add new function.
* gst/gstcaps.h: ditto.
* gst/gstpad.c: (gst_real_pad_class_init),
(gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
(gst_pad_set_explicit_caps), (gst_pad_get_caps): In try_set_caps,
check new caps against existing caps -- if they're the same, return
OK without renegotiating. caps-nego-failed signal fixed so that
the marshaller isn't VOID__OBJECT. Also changed to G_TYPE_POINTER
to save an extra caps copy. Don't complete negotiation if a pad
link function returns DELAYED.
Original commit message from CVS:
2004-01-02 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstpad.c: (gst_pad_try_relink_filtered):
Fix wrong g_return_if_fail
Original commit message from CVS:
Change the marshalilng of element_added/element_removed signals to use
gst_marshal_VOID__OBJECT over gst_marshal_VOID__POINTER
Original commit message from CVS:
2003-12-31 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/gstqueue.c: (gst_queue_init):
use gst_pad_proxy_getcaps()
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
(gst_caps_structure_simplify), (gst_caps_simplify):
* gst/gstcaps.h:
Add simplify function
* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
(gst_pad_perform_negotiate), (gst_pad_is_negotiated):
* gst/gstpad.h:
Copy over srcnotify, sinknotify when calling old pad_link
functions. Add new is_negotiated() function.
* gst/gststructure.c: (gst_structure_copy):
Fix an incredibly stupid bug that should have been noticed
weeks ago. _copy() returned the argument, not the new copy.
Original commit message from CVS:
Make GstCaps parameter const. Copy caps parameter. Use _POINTER to
marshal caps instead of _BOXED. Don't double-free caps.Use
GST_PAD_LINK_SUCCESSFUL.
Original commit message from CVS:
* gst/elements/gstaggregator.c:
* gst/elements/gsttee.c:
Use gst_pad_proxy_getcaps().
* gst/gstpad.c:
* gst/gstpad.h:
Add gst_pad_proxy_getcaps(), which filter elements can use
as a generic getcaps implementation.
Fix gst_pad_get_allowed_caps(). It just wasn't doing what
was advertised.
Original commit message from CVS:
* gst/gstpad.c:
Rearrange/rewrite much of the pad negotiation code, since it
resembled pasta. This actually changes the way some
negotiation works, since the previous code was inconsistent
depending on how it was invoked. Add (internal) structure
GstPadLink, which is used to hold some information (more in
the future) about the link between two pads. Fixes a number
of bugs, including random lossage of filter caps when the
initial negotiation is delayed. A few functions are still
unimplemented.
* gst/gstpad.h:
Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros. Please use
these when testing GstPadLinkReturn values instead of comparing
directly.
Original commit message from CVS:
Rearrange lots of code. Change registration of compare function
into registration of compare/serialize/deserialize functions.
Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/elements/gstelements.c:
Set ranks of elements to NONE, so the autoplugger doesn't use them.
* gst/elements/gstshaper.c: (gst_shaper_getcaps):
Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
gst_caps (peer).
Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
(gst_spider_identity_getcaps), (gst_spider_identity_change_state),
(gst_spider_identity_sink_loop_type_finding):
* gst/autoplug/gstspideridentity.h:
Fix autoplugging in spider element, so it works with new caps.
This was mainly caused by identifying empty caps incorrectly.
Original commit message from CVS:
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/gstqueue.c: (gst_queue_handle_pending_events),
(gst_queue_chain), (gst_queue_handle_src_event):
implement timeout for sending events. Workaround for if the
pipeline on this queue is not passing any data.
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.
Original commit message from CVS:
registry handling changes
read up on it in docs/random/thomasvs/registry if interested
net effect should be transparent; ie. it will keep on working, but will
be more flexible than before. Testing with garnome seems to work now.
Should probably be rewritten completely, together with plugin loading, but
only after we spec it out ;) It's a bit messy.
Original commit message from CVS:
2001-12-14 Michael Meeks <michael@ximian.com>
* gst/gst.c (gst_main, gst_main_quit): upd.
* gst/gstutils.c (gst_util_has_arg): impl.
(gst_util_get_int64_arg): impl.
* plugins/mpeg2/video/gstmpeg2play.c
(gst_mpeg2play_class_init): min frames per sec = 0.
* plugins/mikmod/gstmikmod.c (gst_mikmod_class_init):
s/16bit/use16bit/ properties can't begin with a non
alpha.
* tools/gstreamer-guilaunch.c: fresh from the ministy
of nasty hacks.
* tools/Makefile.am: enable gstreamer-guilaunch for
Gnome 2.0
* tools/gstreamer-launch.c (main): upd.
(idle_func): quit the mainloop.