1 2006-06-12 Wim Taymans <wim@fluendo.com>
3 * gst/gstinfo.c: (gst_debug_set_active),
4 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
7 Maintain __gst_debug_min to avoid formatting the arguments of
8 debug messages that will be dropped anyway to avoid a lot of
9 overhead from the debugging system.
11 2006-06-11 Stefan Kost <ensonic@users.sf.net>
15 add missing files containing translatable strings, tell intltool about
18 2006-06-11 Stefan Kost <ensonic@users.sf.net>
20 * tests/check/libs/.cvsignore:
21 add test-binary to ignore list
23 2006-06-11 Stefan Kost <ensonic@users.sf.net>
25 * docs/libs/gstreamer-libs-docs.sgml:
26 reorder (put dp into a chapter) and indent
28 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
33 === release 0.10.8 ===
35 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
38 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
40 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
42 * gst/gst.c: (init_post):
43 move pid declaration to declaration block
45 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
47 * gst/gst.c: (init_post):
48 use _exit() instead of exit() in our forked child; this ensures
49 that none of the registered exit handlers from whatever is using
50 GStreamer get executed. This fixes gnome-mixer-applet failing
51 to load, because ORBit would shut down.
52 Spotted by: Edward Hervey <edward@fluendo.com>
53 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
56 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
61 === release 0.10.7 ===
63 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
66 releasing 0.10.7, "Soepeke, ik zie ou"
68 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
91 * win32/common/config.h:
94 2006-06-07 Wim Taymans <wim@fluendo.com>
96 * gst/gstindex.c: (gst_index_gtype_resolver):
97 * tools/gst-xmlinspect.c: (print_plugin_info):
98 Fix leak spotted by coverity checker. Fixes #343827
99 Fix another other leak found by paolo borelli.
101 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
103 * libs/gst/dataprotocol/dataprotocol.c:
104 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
105 (gst_dp_version_get_type), (gst_dp_init),
106 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
107 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
108 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
109 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
110 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
111 (gst_dp_packetizer_free):
112 * libs/gst/dataprotocol/dataprotocol.h:
113 API: add a GstDPPacketizer object, and create/free functions
114 API: add GstDPVersion enum
115 Add 1.0 event function that uses the string serialization
116 Serialize more useful buffer flags
119 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
121 * tests/check/Makefile.am:
122 * tests/check/gst/gstabi.c:
123 * tests/check/gst/struct_ppc64.h:
124 * tests/check/libs/libsabi.c:
125 * tests/check/libs/struct_ppc64.h:
126 add ppc64 structure sizes
128 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
130 * tests/check/Makefile.am:
131 * tests/check/gst/gstabi.c:
132 * tests/check/gst/struct_x86_64.h:
133 * tests/check/libs/libsabi.c:
134 * tests/check/libs/struct_x86_64.h:
135 generate and add structure size lists for x86_64
137 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
139 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
140 * libs/gst/check/gstcheck.h:
141 factor out the method from tests that checks size of structures,
142 and add code to generate the header containing these sizes
143 * tests/check/gst/gstabi.c: (GST_START_TEST):
144 * tests/check/gst/struct_i386.h:
145 * tests/check/libs/libsabi.c: (GST_START_TEST):
146 * tests/check/libs/struct_i386.h:
149 2006-06-06 Michael Smith <msmith@fluendo.com>
152 Don't use c++-style comments, fixes #343929
154 2006-06-05 Edward Hervey <edward@fluendo.com>
157 plugin_paths is not used if we build without registry support.
159 * gst/gstsegment.c: (gst_segment_copy):
160 _copy() was always returning NULL...
162 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
164 * libs/gst/dataprotocol/dataprotocol.c:
165 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
166 (gst_dp_packet_from_event):
169 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
171 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
172 make sure we unset caps
174 2006-06-02 Michael Smith <msmith@fluendo.com>
176 * libs/gst/check/gstcheck.c: (gst_check_init),
177 (gst_check_chain_func):
178 * libs/gst/check/gstcheck.h:
179 Add a cond/mutex to the check support lib, signal this whenever we
180 add to the buffers list. This will allow tests to not busy-wait on
183 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
185 * libs/gst/dataprotocol/dataprotocol.c:
186 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
187 (gst_dp_packet_from_event):
188 factor out some common header init code
190 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
192 * docs/libs/gstreamer-libs-sections.txt:
193 * docs/libs/tmpl/gstdataprotocol.sgml:
194 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
195 * libs/gst/dataprotocol/dataprotocol.h:
196 API: make gst_dp_crc() public
198 2006-06-01 Stefan Kost <ensonic@users.sf.net>
200 * plugins/indexers/gstindexers.c: (plugin_init):
201 conditionally register fileindexer (fixes #343598)
203 2006-06-01 Stefan Kost <ensonic@users.sf.net>
205 * gst/gsttagsetter.h:
206 Can't cast ifaces to a class
208 * libs/gst/net/gstnetclientclock.h:
209 * libs/gst/net/gstnettimeprovider.h:
210 * plugins/elements/gstfakesink.h:
211 * plugins/elements/gstfakesrc.h:
212 * plugins/elements/gstfdsink.h:
213 * plugins/elements/gstfdsrc.h:
214 * plugins/elements/gstfilesink.h:
215 * plugins/elements/gstfilesrc.h:
216 * plugins/elements/gstidentity.h:
217 * plugins/elements/gstqueue.h:
218 * plugins/elements/gsttee.h:
219 * plugins/indexers/gstfileindex.c:
220 * plugins/indexers/gstmemindex.c:
221 * tests/old/examples/plugins/example.h:
222 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
224 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
226 * libs/gst/dataprotocol/dataprotocol.c:
227 (gst_dp_header_from_buffer):
228 make sure we zero the whole ABI-compatible area
230 2006-06-01 Wim Taymans <wim@fluendo.com>
232 Patch by: Alessandro Decina <alessandro at nnva dot org>
234 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
235 Make sure the EOS flag is cleared from pads after a flush
236 or stop. Fixes #343538.
238 * tests/check/libs/collectpads.c: (GST_START_TEST),
239 (gst_collect_pads_suite):
240 Added test for collectpads reusage after EOS.
242 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
245 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
246 * win32/common/libgstbase.def:
247 export gst_collect_pads_set_flushing
248 * win32/common/libgstreamer.def:
249 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
250 gst_value_fraction_multiply
251 * win32/vs6/gst_inspect.dsp:
252 add a link to intl.lib
254 2006-05-30 Wim Taymans <wim@fluendo.com>
256 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
257 (gst_collect_pads_chain):
258 Handle the case where a pad is removed from the collection
259 that could cause the other pads to become collectable.
261 2006-05-30 Wim Taymans <wim@fluendo.com>
264 Clarify the use of _release_request_pad() and
265 _get_request_pad() a bit better.
267 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
268 (gst_adapter_take_buffer):
269 Fix some doc and comment typos.
271 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
273 * docs/gst/gstreamer-sections.txt:
274 * docs/libs/gstreamer-libs-sections.txt:
277 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
279 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
280 Add debug that can be enabled using a #define at the top of the file,
281 for dumping stats about how late/early we were when waking up from
282 waiting on the clock.
284 2006-05-30 Wim Taymans <wim@fluendo.com>
286 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
287 When rebuilding the pad list, don't leak the previous list.
289 2006-05-30 Wim Taymans <wim@fluendo.com>
291 Patch by: Lutz Mueller <lutz at topfrose dot de>
293 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
294 (gst_base_src_get_query_types), (gst_base_src_update_length):
295 Publish supported query types.
296 Update last_stop field in get_range mode so the position
297 query works. Fixes #342321.
299 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
301 * docs/gst/gstreamer-sections.txt:
302 * gst/gsttaglist.c: (_gst_tag_initialize):
304 API: add GST_TAG_PREVIEW_IMAGE (#343341).
306 2006-05-30 Wim Taymans <wim@fluendo.com>
308 Patch by: Alessandro Decina <alessandro at nnva dot org>
310 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
311 Unlock mutex when removing an unknown pad.
314 * tests/check/Makefile.am:
315 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
316 (push_event), (setup), (teardown), (GST_START_TEST),
317 (gst_collect_pads_suite), (main):
318 Added collecpads check, disabled for now as check crashes for
321 2006-05-29 Wim Taymans <wim@fluendo.com>
323 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
324 Don't leak pads lists.
326 2006-05-29 Wim Taymans <wim@fluendo.com>
328 * docs/libs/gstreamer-libs-sections.txt:
329 * libs/gst/base/gstcollectpads.c:
330 (gst_collect_pads_set_flushing_unlocked),
331 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
332 (gst_collect_pads_stop):
333 * libs/gst/base/gstcollectpads.h:
334 API: gst_collect_pads_set_flushing()
335 Added api to set the pads to flushing, useful for seeking
336 code in elements using collectpads.
337 Clear segment when receiving a flush.
339 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
341 * gst/gst.c: (add_path_func), (init_post):
342 Don't scan registry paths passed via --gst-plugin-path immediately
343 (will crash, because absolutely nothing is set up and no types are
344 registered etc.); do this later in init_post(). Fixes #343057.
346 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
348 * gst/gst.c: (init_post):
349 if we have fork, fork while reading/rebuilding the registry
350 so the parent doesn't take the hit of having all plugins loaded
351 in memory. Fixes #342777.
353 Check if we have fork()
354 * win32/common/config.h.in:
357 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
359 * plugins/elements/gstelements.c:
360 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
361 (gst_file_src_init), (gst_file_src_set_property),
362 (gst_file_src_get_property), (gst_file_src_start):
363 * plugins/elements/gstfilesrc.h:
364 API: GstFileSrc::use-mmap
366 Add a use-mmap property to enable easier testing of all code paths.
367 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
368 in the absence of gnomevfssrc. (Closes #340501)
370 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
372 * tools/gst-inspect.c:
373 Add missing include, removes warning of ngettext not being defined on
376 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
378 * gst/gstvalue.c: (gst_value_deserialize_fraction):
379 Handle NULL input and output pointers silently as a failed conversion,
380 rather than g_warnings.
382 2006-05-25 Wim Taymans <wim@fluendo.com>
384 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
385 Initialize variable before using. Fixes #342820.
387 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
389 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
390 Fix off-by-one bug that would only allow peeks of N-1 bytes
391 from the start even if the buffer to typefind on contains
392 in fact N bytes of data (makes vorbis typefinding from a
393 vorbis identification header buffer work).
395 * tests/check/Makefile.am:
396 * tests/check/libs/.cvsignore:
397 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
398 (gst_typefindhelper_suite), (main), (foobar_typefind),
400 Add very basic unit test for gst_type_find_helper_for_buffer()
401 that checks for the problem fixed above.
403 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
405 * tools/gst-inspect.c: (print_interfaces),
406 (print_element_properties_info), (print_element_list), (main):
407 add more translatable strings
409 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
411 Patch by: Julien Moutte <julien at moutte net>
413 * docs/gst/gstreamer-sections.txt:
414 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
416 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
417 (gst_fake_sink_preroll):
418 * plugins/elements/gstfakesink.h:
419 API: Add new GstFakeSink::preroll-handoff signal (#337100).
421 2006-05-23 Wim Taymans <wim@fluendo.com>
423 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
425 Added _CUSTOM error and success GstFlowReturn that can be
426 used be elements internally.
427 Added macro to check for SUCCESS flowreturns.
428 API: GST_FLOW_CUSTOM_SUCCESS
429 API: GST_FLOW_CUSTOM_ERROR
430 API: GST_FLOW_IS_SUCCESS
432 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
433 Added check for GstFlowReturn sanity.
435 2006-05-23 Wim Taymans <wim@fluendo.com>
437 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
439 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
440 (gst_collect_pads_event):
441 clear/reset segment info in FLUSH_STOP.
444 2006-05-22 Stefan Kost <ensonic@users.sf.net>
446 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
447 (gst_collect_pads_check_collected):
448 Flush queued buffer on _stop(), fixes playing again (#342454)
450 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
452 * tests/check/gst/gststructure.c: (GST_START_TEST),
453 (gst_structure_suite):
454 add a test for a complete structure
456 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
458 * docs/faq/developing.xml:
460 * docs/faq/troubleshooting.xml:
461 * docs/faq/using.xml:
462 Some minor FAQ updates that won't change the fact that
463 our FAQ is badly structured, full of information hardly
464 anyone new to GStreamer needs to know and lacking lots
465 of information people constantly ask for.
467 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
469 * gst/gstpad.c: (gst_pad_set_caps):
470 Short-circuit gst_pad_set_caps if setting the existing
471 caps pointer again, and avoid printing debug and
472 reffing/unreffing the caps.
474 * plugins/elements/gstqueue.c: (gst_queue_push_one):
475 There's actually no need to set the caps before pushing -
476 the acceptcaps method will handle it anyway.
478 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
480 * docs/gst/gstreamer-sections.txt:
481 * win32/common/libgstreamer.def:
482 * gst/gstutils.c: (gst_element_seek_simple):
484 API: add gst_element_seek_simple() (#342238).
486 2006-05-18 Edward Hervey <edward@fluendo.com>
488 * gst/gsttypefind.c: (gst_type_find_get_type):
490 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
491 registered for GstTypeFind pointers. This allows wrapping the structure
492 in bindings (i.e. gst-python).
494 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
496 * gst/gsttagsetter.c:
497 Docs additions and fixes (see #339918).
499 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
501 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
502 The caps intersection algorithm can produce multiple copies of the
503 caps. Until that is fixed, we need to simplify the result to be
504 sure whether the allowed caps are fixed or not.
506 * plugins/elements/gstqueue.c: (gst_queue_init),
507 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
508 (gst_queue_push_one):
509 Proxied buffer alloc should not set the caps on the source pad.
510 When pushing buffers, we always accept the caps change that triggers.
511 This prevents negotiation errors caused by caps changing mid-stream
512 and then being refused on our source pad (because upstream is now
513 refusing those caps).
515 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
517 * tests/examples/helloworld/helloworld.c: (main):
518 Must plug audioconvert and audioresample between decoder
521 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
523 * gst/gstregistryxml.c: (read_string), (load_pad_template),
524 (load_feature), (load_plugin):
525 Allow empty strings for some of the plugin fields so we don't
526 drop valid plugin entries that were written out correctly
529 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
531 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
532 Use g_remove and g_rename instead of remove and rename that don't
533 handle utf8 characters. rename was failing for users who had specific
534 characters in their name then the registry was built at each
536 * win32/vs6/gst_inspect.dsp:
537 * win32/vs6/gst_launch.dsp:
538 * win32/vs6/libgstbase.dsp:
539 * win32/vs6/libgstcoreelements.dsp:
540 * win32/vs6/libgstreamer.dsp:
541 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
542 build of libgstreamer and clean unused libraries in projects link
545 2006-05-17 Edward Hervey <edward@fluendo.com>
547 * plugins/elements/gstqueue.c: (gst_queue_push_one):
548 The queue is not responsible for pushing an EOS when receiving a fatal
549 flow error. It's up to the real element driving the pipeline to do that.
551 2006-05-16 Edward Hervey <edward@fluendo.com>
553 * plugins/elements/gstqueue.c: (gst_queue_push_one):
554 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
555 buffer returned a fatal error. It should just send an EOS and stop
557 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
558 when pushing buffers on the queue and will be able to handle the event.
560 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
562 * docs/manual/basics-bins.xml:
563 * docs/manual/basics-init.xml:
564 Fix typos and minor errors in sample code (#341856).
566 2006-05-16 Wim Taymans <wim@fluendo.com>
568 * docs/design/part-qos.txt:
569 Fix indexes in formulas to make more sense.
571 2006-05-15 Wim Taymans <wim@fluendo.com>
573 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
574 Don't report POSITION based on clock time if sync is
577 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
580 Add cast to make compiler happy - refcount variable was a gint
581 in GstObject but is a guint in GObject and g_atomic_int_get()
584 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
586 * gst/parse/Makefile.am:
587 chain commands using &&, which also makes parallel make work
589 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
591 * docs/gst/gstreamer-sections.txt:
597 === release 0.10.6 ===
599 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
602 releasing 0.10.6, "Take the cannoli"
604 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
606 * tools/gst-launch.c: (print_tag):
607 Fix use of uninitialized variable in the hypothetical
608 case that some broken plugin creates a GST_TAG_IMAGE
609 tag containing a NULL buffer (#341667).
611 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
613 * tools/gst-launch.c: (print_tag):
614 Print something more intelligible for image tags when
615 using the -t switch (#341556).
617 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
622 define GST_MAJORMINOR so we have it available in win32/common/config.h
623 Possibly remove it from our Makefile.am files later
624 * win32/common/config.h:
625 * win32/common/config.h.in:
627 * win32/common/gstenumtypes.c: (register_gst_resource_error):
628 * win32/common/gstversion.h:
631 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
634 Update win32 files listing.
635 * win32/common/gstversion.h:
636 Add GST_MAJORMINOR definition.
637 * win32/common/libgstreamer.def:
638 Add new exported functions.
640 2006-05-12 Michael Smith <msmith@fluendo.com>
642 * gst/gstplugin.c: (gst_plugin_load_file):
643 If an so file has no plugin entry point, unload the module.
645 2006-05-11 Wim Taymans <wim@fluendo.com>
647 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
648 (gst_queue_set_property):
649 Don't forget to signal the _chain or _loop function
650 when the queue size or thresholds change since that might
651 cause them to make progres again.
653 2006-05-11 Stefan Kost <ensonic@users.sf.net>
655 * gst/gstclock.c: (gst_clock_class_init):
656 * gst/gstindex.c: (gst_index_class_init):
657 * gst/gstobject.c: (gst_object_class_init):
658 * gst/gstpad.c: (gst_pad_class_init):
659 * gst/gstpipeline.c: (gst_pipeline_class_init):
660 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
661 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
662 * libs/gst/base/gstbasetransform.c:
663 (gst_base_transform_class_init):
664 * libs/gst/net/gstnetclientclock.c:
665 (gst_net_client_clock_class_init):
666 * libs/gst/net/gstnettimeprovider.c:
667 (gst_net_time_provider_class_init):
668 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
669 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
670 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
671 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
672 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
673 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
674 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
675 * plugins/elements/gstidentity.c: (gst_identity_class_init):
676 * plugins/elements/gsttee.c: (gst_tee_class_init):
677 * tests/old/examples/plugins/example.c: (gst_example_class_init):
678 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
679 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
681 2006-05-11 Wim Taymans <wim@fluendo.com>
683 * gst/gstbuffer.c: (_gst_buffer_initialize):
684 Register subbufer along with the buffer type so that
685 it does not accidentally gets registered from N
686 different streaming threads in a non threadsafe way.
688 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
693 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
694 gst_event_ref() and gst_message_ref() functions again
695 (ugly hack, please do fix if there's a better way besides
696 overrides.txt, which doesn't seem to work).
698 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
700 * libs/gst/check/gstcheck.h:
701 add an assert for setting state to avoid lots of repetitive code
704 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
706 * gst/gstvalue.c: (gst_value_serialize_flags):
707 fix a leak if no flags are set
708 * tests/check/gst/gstvalue.c: (GST_START_TEST):
711 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
713 * docs/manual/basics-pads.xml:
714 Expand a bit on caps and filtered links and update
715 examples that were still using the no longer existing
716 gst_pad_link_filtered() (#338206).
718 2006-05-10 Wim Taymans <wim@fluendo.com>
720 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
721 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
722 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
723 (gst_collect_pads_stop):
724 * libs/gst/base/gstcollectpads.h:
725 No need to call _stop in _finalize.
726 Iterate the main pad list in _finalize.
727 Added some more debug.
728 Free lists and data in the right order.
729 Also free data whem doing _remove_pad when stopped for
730 backward compatibility protect ::started with PAD_LOCK as
733 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
735 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
736 (gst_structure_parse_value):
738 rename a method so that it actually says what it does better
740 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
742 * gst/gstevent.c: (_gst_event_initialize):
743 * gst/gstformat.c: (_gst_format_initialize):
744 make sure some essential types used by events are registered
745 as part of gst_init()
746 * gst/gstvalue.c: (gst_value_serialize_flags):
747 if no flags are set, serialize them to a value that represents NONE
748 so that deserializing them works
749 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
750 add tests for serialization and deserialization of flags
752 2006-05-10 Wim Taymans <wim@fluendo.com>
754 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
755 (gst_collect_pads_collect_range), (gst_collect_pads_available),
756 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
757 (gst_collect_pads_event), (gst_collect_pads_chain):
760 Catch and return errors from the collect function
761 Refuse data on eos pads.
763 2006-05-10 Edward Hervey <edward@fluendo.com>
765 * gst/gstinterface.h:
766 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
767 GInterface type checking.
768 They were previously using non-defined macros.
770 2006-05-09 Wim Taymans <wim@fluendo.com>
772 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
773 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
774 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
775 (gst_collect_pads_start), (gst_collect_pads_stop),
776 (gst_collect_pads_peek), (gst_collect_pads_pop),
777 (gst_collect_pads_available), (gst_collect_pads_read),
778 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
779 (gst_collect_pads_is_collected), (gst_collect_pads_event),
780 (gst_collect_pads_chain):
781 * libs/gst/base/gstcollectpads.h:
782 Clean up the mess that is collectpads, add comments and
784 Maintain a separate pad list so we can add pads while
785 collecting the other ones. For this we need a new separate
787 Fix memory leak in finalize.
788 Refactor some weird code to set/unset pad flushing flags, mark
790 Don't crash in _available, _read, _flush when we're EOS.
792 * tests/check/libs/.cvsignore:
793 Ignore adapter check binary.
795 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
797 * gst/gstindex.c: (gst_index_resolver_get_type):
798 * plugins/elements/gstfakesink.c:
799 (gst_fake_sink_state_error_get_type):
800 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
801 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
802 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
803 Const-ify GEnumValue arrays.
805 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
807 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
808 Add test case for flags + gst_buffer_make_metadata_writable().
810 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
812 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
813 gst_buffer_make_metadata_writable() should maintain the
814 buffer flags (those that make sense at least) (see #340859).
816 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
818 * tools/gst-inspect.c:
819 * tools/gst-launch.c:
820 * tools/gst-typefind.c:
821 * tools/gst-xmlinspect.c:
823 Fix up includes: need to include stdlib.h in tools.h for exit().
825 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
827 * gst/gsttaglist.c: (_gst_tag_initialize):
829 API: add GST_TAG_IMAGE tag (#340721).
831 2006-05-08 Wim Taymans <wim@fluendo.com>
834 Added some docs for the segment query.
836 2006-05-08 Wim Taymans <wim@fluendo.com>
838 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
839 (gst_base_src_loop), (gst_base_src_change_state):
840 Always push non-flushing serialized events in the streaming
843 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
845 * gst/gsterror.c: (_gst_stream_errors_init):
846 Add a missing error string.
848 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
850 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
851 Add applied_rate to the debug
853 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
854 Copy applied_rate into the outgoing NEWSEGMENT event
856 2006-05-08 Wim Taymans <wim@fluendo.com>
858 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
860 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
861 (gst_base_sink_change_state):
862 call ::unlock before taking the PREROLL_LOCK so we can safely
863 handle elements that lock in ::render.
866 2006-05-08 Edward Hervey <edward@fluendo.com>
868 * autogen.sh: (CONFIGURE_DEF_OPT):
869 Darwin's libtoolize is in fact called glibtoolize.
870 Adding glibtoolize to the list of accepted names for libtoolize.
872 2006-05-08 Wim Taymans <wim@fluendo.com>
874 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
875 Unify error handling, don't post an error message
876 when a push() returns EOS but perform our normal EOS
877 handling code. Fixes #340772.
879 2006-05-08 Wim Taymans <wim@fluendo.com>
881 * docs/design/part-overview.txt:
882 Make upsteam/downstream concepts more clear.
883 Give an example of serialized/non-serialized events.
885 * docs/design/part-events.txt:
886 * docs/design/part-streams.txt:
887 Mention applied_rate.
889 * docs/design/part-trickmodes.txt:
890 Mention applied rate, flesh out some more use cases.
892 * gst/gstevent.c: (gst_event_new_new_segment),
893 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
894 (gst_event_parse_new_segment_full), (gst_event_new_tag),
895 (gst_event_parse_tag), (gst_event_new_buffer_size),
896 (gst_event_parse_buffer_size), (gst_event_new_qos),
897 (gst_event_parse_qos), (gst_event_parse_seek),
898 (gst_event_new_navigation):
900 Add applied_rate field to NEWSEGMENT event.
901 API: gst_event_new_new_segment_full()
902 API: gst_event_parse_new_segment_full()
904 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
905 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
906 (gst_segment_to_stream_time), (gst_segment_to_running_time):
908 Add applied_rate to GstSegment structure.
909 Make calculation of stream_time and running_time more correct
910 wrt rate/applied_rate.
912 API: GstSegment::applied_rate field
913 API: gst_segment_set_newsegment_full();
915 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
916 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
917 * libs/gst/base/gstbasetransform.c:
918 (gst_base_transform_sink_eventfunc),
919 (gst_base_transform_handle_buffer):
920 Parse and use applied_rate in the GstSegment field.
922 * tests/check/gst/gstevent.c: (GST_START_TEST):
923 Add check for applied_rate field.
925 * tests/check/gst/gstsegment.c: (GST_START_TEST),
927 Add more checks for various GstSegment operations.
929 2006-05-08 Wim Taymans <wim@fluendo.com>
931 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
932 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
933 (gst_base_sink_get_position), (gst_base_sink_change_state):
934 Store the sync time of the buffer end position separatly in a
935 new variable eos_rtime so we can properly sync the EOS event.
937 Fix the docs for gst_base_sink_set_qos_enabled().
938 Don't set segment start to invalid value when we receive a
940 get closer to handling position reporting for negative rates
943 2006-05-07 Stefan Kost <ensonic@users.sf.net>
946 Docs about how to print caps for debug purposes.
948 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
949 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
951 2006-05-07 Stefan Kost <ensonic@users.sf.net>
954 use full enum names and preprend a '%' in docs strings to make recent
955 gtk-doc turn that into a link
957 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
959 * docs/manual/basics-bins.xml:
960 * docs/manual/basics-bus.xml:
961 * docs/manual/basics-pads.xml:
962 Some typo fixes, some additions, some clarifications.
964 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
966 * tools/gst-inspect.c: (main):
967 * tools/gst-launch.c: (main):
968 * tools/gst-run.c: (main):
969 * tools/gst-typefind.c: (main):
970 * tools/gst-xmlinspect.c: (main):
971 Use the string passed to g_option_context_new() for
972 what it's intended for - the program name is already
975 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
978 * tools/gst-inspect.c: (main):
979 * tools/gst-launch.c: (main):
980 * tools/gst-xmlinspect.c: (main):
982 Add back --version command line option (#340460).
984 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
985 Add --version option and use GOption for argument parsing; refactor a
986 bit; accept directories as arguments and recurse into them; lastly,
987 print a decent error message when things go wrong.
989 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
991 * docs/manual/basics-bins.xml:
992 Don't mention GstThread (#340611)
993 * docs/manual/basics-elements.xml:
994 Update link to GObject tutorial (#340607)
996 2006-05-05 Wim Taymans <wim@fluendo.com>
999 * gst/gstminiobject.c:
1000 Add note about refcounting and miniobject/buffer writeability
1001 to docs. Fixes #340604
1003 * gst/gstelementfactory.h:
1004 Added some explanation about @klass.
1006 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1008 * docs/manual/intro-motivation.xml:
1009 * docs/manual/manual.xml:
1010 Avoid CORBA & Bonobo references (#340598)
1012 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1014 * docs/manual/basics-bus.xml:
1015 * docs/manual/basics-pads.xml:
1016 Fix up some inaccuracies and omissions (#340609)
1018 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1020 * gst/gstghostpad.c:
1021 Small typo in docs (#340625)
1023 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1025 * gst/parse/Makefile.am:
1026 Make 'make -j' proof (see #340698).
1028 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1031 Require GLib-2.8 here as well.
1033 2006-05-05 Wim Taymans <wim@fluendo.com>
1035 * gst/glib-compat.c:
1036 * gst/gst.c: (init_pre):
1037 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1038 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1039 (gst_object_dispatch_properties_changed):
1041 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1042 * gst/gststructure.c: (gst_structure_set_valist):
1043 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1044 Remove pre glib2.8 compatibility, fixes #340508
1046 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1049 Mention type of tags in doc blurbs.
1051 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
1053 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1054 (gst_pad_configure_src), (gst_pad_push):
1055 Restore acceptcaps checking behaviour now that good plugins have
1058 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1060 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1071 * gst/parse/Makefile.am:
1072 * libs/gst/base/gstadapter.c:
1073 * libs/gst/base/gstbasesrc.c:
1074 * libs/gst/base/gstpushsrc.c:
1075 * libs/gst/base/gsttypefindhelper.c:
1076 * plugins/elements/gstfakesrc.c:
1077 * plugins/elements/gstidentity.c:
1078 Make sure gstprivate.h and/or config.h are
1079 always included first, otherwise some of our
1080 defines (like _FILE_OFFSET_BITS) might be
1081 redefined in the system headers. Fixes build
1082 on opensolaris (#340016).
1084 2006-05-04 Wim Taymans <wim@fluendo.com>
1086 * docs/libs/gstreamer-libs-sections.txt:
1087 API: addition: gst_adapter_take_buffer()
1089 * libs/gst/base/gstadapter.c: (gst_adapter_push),
1090 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1091 (gst_adapter_available_fast):
1092 * libs/gst/base/gstadapter.h:
1093 Prepare for optimizing the hell out of this hugely inefficient
1095 Added gst_adapter_take_buffer() so we can at least start thinking
1096 about subbuffering and merging.
1097 Added some comments.
1099 * tests/check/Makefile.am:
1100 * tests/check/libs/adapter.c: (GST_START_TEST),
1101 (gst_adapter_suite), (main):
1102 Added GstAdapter check.
1104 2006-05-04 Wim Taymans <wim@fluendo.com>
1106 * docs/design/part-overview.txt:
1107 Fix some typos, add blurb about buffer flags.
1109 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
1111 * docs/libs/gstreamer-libs-sections.txt:
1112 make sure GstBaseTransformClass shows up in the docs
1113 * libs/gst/base/gstbasetransform.c:
1114 * libs/gst/base/gstbasetransform.h:
1115 move docs so gtk-doc picks it up now
1117 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1119 * docs/libs/gstreamer-libs-sections.txt:
1120 add missing symbols to docs
1122 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1124 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1125 back out the newsegment handling change, see #340060 for ongoing
1128 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
1130 * tools/gst-run.c: (get_candidates), (main):
1131 Fix wrong g_file_test() usage (see glib docs for why it doesn't
1132 work); fix typo in error message. Fixes #340079.
1134 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1136 * common/Makefile.am:
1138 * docs/faq/Makefile.am:
1139 * docs/gst/Makefile.am:
1140 * docs/libs/Makefile.am:
1141 * docs/manual/Makefile.am:
1142 * docs/plugins/Makefile.am:
1143 * docs/pwg/Makefile.am:
1144 * docs/slides/Makefile.am:
1146 * common/upload.mak:
1147 move upload.mak to common
1149 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1151 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1152 add more asserts on refcounts
1153 do more cleanup at end of tests
1154 fix test leaks showing in FC5
1156 2006-04-29 Stefan Kost <ensonic@users.sf.net>
1158 * plugins/elements/gsttypefindelement.c:
1159 (gst_type_find_element_handle_event):
1160 reverted wrong change and reflowed code to avoid others falling into
1163 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1165 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1166 fix changelog entry about last collectpads change,
1167 add notes about proper fix
1169 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1172 * gst/gstregistry.c: (gst_registry_scan_path_level),
1173 (gst_registry_scan_path):
1174 * gst/gstregistry.h:
1175 only write out registry if it has changed, fixes #338339
1177 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1180 * gst/gstpipeline.c:
1181 * plugins/elements/gstcapsfilter.c:
1182 * plugins/elements/gstfakesink.c:
1183 * plugins/elements/gstfakesrc.c:
1184 * plugins/elements/gstfdsink.c:
1185 * plugins/elements/gstfdsrc.c:
1186 * plugins/elements/gstfilesink.c:
1187 * plugins/elements/gstfilesrc.c:
1188 * plugins/elements/gstidentity.c:
1189 * plugins/elements/gstqueue.c:
1190 * plugins/elements/gsttee.c:
1191 * plugins/elements/gsttypefindelement.c:
1192 (gst_type_find_element_handle_event):
1193 make GstElementDetails const
1195 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1197 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1198 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1199 (gst_collect_pads_is_collected), (gst_collect_pads_event):
1200 more detailed debug and formatting cleanup,
1201 forward newsegments to src-pad (so that e.g. adder not eats them)
1203 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1205 * gst/gstutils.c: (gst_element_link_pads):
1208 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1210 * libs/gst/controller/gstcontroller.c:
1211 (gst_controller_sync_values):
1213 * tests/check/libs/controller.c: (GST_START_TEST),
1214 (gst_controller_suite):
1215 a new test for live value handling
1217 2006-04-28 Wim Taymans <wim@fluendo.com>
1219 * gst/gstutils.c: (push_and_ref):
1220 Added some more docs.
1221 Fix refcount issue whith gst_element_found_tags() helper
1222 function. Fixes #338335
1224 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1225 Added testsuite for gst_element_found_tags().
1227 2006-04-28 Michael Smith <msmith@fluendo.com>
1229 * gst/gstvalue.c: (gst_value_serialize_flags):
1230 Avoid NULL dereference when trying to serialize flags containing
1233 2006-04-28 Michael Smith <msmith@fluendo.com>
1235 * plugins/elements/gsttypefindelement.c:
1236 (gst_type_find_element_handle_event):
1237 If we get EOS before any data is accumulated, don't use
1238 uninitialised local variables.
1240 2006-04-28 Michael Smith <msmith@fluendo.com>
1242 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1243 (gst_dp_event_from_packet):
1244 Fixes in reading/writing events over GDP (not currently used?) -
1245 dereferencing NULL events for unknown/invalid event types, memory
1246 leak, and change g_warning to GST_WARNING.
1248 2006-04-28 Wim Taymans <wim@fluendo.com>
1250 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1251 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1252 (gst_base_sink_get_position), (gst_base_sink_change_state):
1253 When frame dropping is enabled, we should not ignore frames
1255 Update some documentation.
1257 2006-04-28 Wim Taymans <wim@fluendo.com>
1259 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1260 (gst_base_src_send_event), (gst_base_src_change_state):
1261 Documentation updates.
1263 2006-04-28 Wim Taymans <wim@fluendo.com>
1265 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1266 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1267 handle EAGAIN, EINTR and short writes correctly. Also clean
1268 up some error cases, avoid a deadlock on bad file descriptors and
1269 use GST_DEBUG_OBJECT.
1272 2006-04-28 Wim Taymans <wim@fluendo.com>
1274 * gst/gstvalue.c: (gst_value_serialize_buffer),
1275 (gst_value_deserialize_buffer):
1276 Don't try to serialize a GValue with a NULL buffer.
1279 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1280 Added check for serialisation of NULL buffers.
1282 2006-04-28 Wim Taymans <wim@fluendo.com>
1284 * gst/gstminiobject.c: (gst_value_take_mini_object):
1285 Taking a NULL miniobject is valid, fix the case where
1286 we try to unref the NULL miniobject.
1288 2006-04-28 Wim Taymans <wim@fluendo.com>
1290 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1292 * gst/gstbin.c: (gst_bin_handle_message_func):
1294 Don't leak bin refcount when a state recalc is
1295 in progress and we delay another one #339808.
1297 2006-04-28 Wim Taymans <wim@fluendo.com>
1299 * docs/design/part-TODO.txt:
1300 Mention QoS as an ongoing work item.
1302 * docs/design/part-buffering.txt:
1303 New doc about buffering that needs to be fleshed out
1306 * docs/design/part-qos.txt:
1307 More QoS policy for decoders/demuxers/transforms
1309 * docs/design/part-trickmodes.txt:
1312 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
1317 === release 0.10.5 ===
1319 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
1322 releasing 0.10.5, "Fogo"
1324 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
1326 patch by: Wim Taymans
1328 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1329 (gst_pad_configure_src), (gst_pad_push):
1330 * gst/gstpipeline.c: (gst_pipeline_init):
1331 Fix internal data flow errors. Fixes #338711.
1333 2006-04-12 Wim Taymans <wim@fluendo.com>
1335 * tests/check/gst/gstelement.c: (GST_START_TEST):
1336 Don't leak the factory.
1338 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
1341 * win32/common/config.h:
1344 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
1346 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1347 (gst_controller_unset_all):
1348 Free allocated GstTimedValues when freeing list nodes.
1349 Should fix leaks 'make check-valgrind' complains about.
1351 * win32/common/libgstcontroller.def:
1352 Add gst_controller_unset_all.
1354 2006-04-11 Stefan Kost <ensonic@users.sf.net>
1356 * docs/libs/gstreamer-libs-sections.txt:
1357 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1358 (gst_controller_unset_all):
1359 * libs/gst/controller/gstcontroller.h:
1360 API: Added new method gst_controller_unset_all()
1361 fixed gst_controller_unset()
1362 * tests/check/libs/controller.c: (GST_START_TEST),
1363 (gst_controller_suite):
1364 Added two testcases for new and fixed method
1366 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
1368 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1369 MSG_DONTWAIT is not defined on Cygwin, so work
1370 around that (fixes #317048).
1372 2006-04-11 Wim Taymans <wim@fluendo.com>
1374 * gst/gstelementfactory.c: (gst_element_register),
1375 (gst_element_factory_create), (gst_element_factory_make):
1378 Updated docs (Fixes #131079)
1380 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1383 * tests/check/gst/gstelement.c: (GST_START_TEST),
1384 (gst_element_suite):
1385 Added testcase for elementfactory class field.
1387 2006-04-10 Wim Taymans <wim@fluendo.com>
1390 Added some more docs.
1392 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1393 (gst_base_sink_reset_qos):
1394 Calculate more accurate rate values.
1396 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
1398 * gst/gst_private.h:
1399 add a new #ifdef to use __declspec(dllimport) only for
1400 other modules and not for gstreamer core
1401 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1402 use gst_guint64_to_gdouble for conversion
1403 * win32/common/libgstreamer.def:
1404 add new exported functions
1405 * win32/vs6/gst_inspect.dsp:
1406 * win32/vs6/gst_launch.dsp:
1407 * win32/vs6/libgstbase.dsp:
1408 * win32/vs6/libgstcontroller.dsp:
1409 * win32/vs6/libgstcoreelements.dsp:
1410 * win32/vs6/libgstdataprotocol.dsp:
1411 * win32/vs6/libgstnet.dsp:
1412 update project files
1414 2006-04-08 Stefan Kost <ensonic@users.sf.net>
1416 * gst/gstbuffer.c: (gst_subbuffer_class_init):
1417 * gst/gstclock.c: (gst_clock_class_init):
1418 * gst/gstelement.c: (gst_element_class_init):
1419 * gst/gstindex.c: (gst_index_class_init):
1420 * gst/gstindexfactory.c: (gst_index_factory_class_init):
1421 * gst/gstobject.c: (gst_object_class_init),
1422 (gst_signal_object_class_init):
1423 * gst/gstpad.c: (gst_pad_class_init):
1424 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1425 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1426 * gst/gstregistry.c: (gst_registry_class_init):
1427 * gst/gstsystemclock.c: (gst_system_clock_class_init):
1428 * gst/gsttask.c: (gst_task_class_init):
1429 * gst/gstxml.c: (gst_xml_class_init):
1430 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1431 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1432 (gst_base_src_loop):
1433 * libs/gst/controller/gstcontroller.c:/
1434 (_gst_controller_class_init):
1435 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1436 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1437 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1438 * tests/old/examples/plugins/example.c: (gst_example_class_init):
1439 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1440 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1442 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
1444 * gst/gstpad.c: (gst_pad_link):
1445 Must set peer pads before calling the link function, otherwise
1446 a task started from a link function might get a flow-not-linked
1447 result when trying to push because the other thread where the
1448 linking happens hasn't had a chance to set the peers yet. This
1449 might happen for example when a queue gets linked to a downstream
1450 element, as queue starts a streaming task when its source pad
1451 gets linked. Happens in real life when playing back flac/musepack
1452 files in playbin (#332390).
1454 2006-04-08 Stefan Kost <ensonic@users.sf.net>
1458 * libs/gst/base/gstadapter.h:
1459 * libs/gst/base/gstbasesink.h:
1460 * libs/gst/base/gstbasesrc.h:
1461 * libs/gst/base/gstbasetransform.h:
1462 * libs/gst/base/gstcollectpads.h:
1463 * libs/gst/base/gstpushsrc.h:
1464 Fix broken GObject macros
1466 2006-04-07 Wim Taymans <wim@fluendo.com>
1468 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1469 Initialize start and stop times, thanks valgrind.
1471 2006-04-07 Wim Taymans <wim@fluendo.com>
1473 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1474 Be a bit nicer to badly behaving upstream elements that expect
1475 us to deal with non TIME segments and timestamps (such as fakesrc
1478 2006-04-07 Wim Taymans <wim@fluendo.com>
1481 Small documentation clarification about the signal watch.
1483 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1484 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1485 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1486 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1487 (gst_base_sink_get_position_last),
1488 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1489 Convert and store timestamps in stream time and running time, the
1490 raw timestamps are not usefull, also document this better.
1491 Use different window sizes for good and bad QoS observations so
1492 we react to badness a little quicker.
1493 Keep track of the amount of rendered and dropped buffers.
1494 Send QoS timestamps in running time.
1496 * libs/gst/base/gstbasetransform.c:
1497 (gst_base_transform_sink_eventfunc),
1498 (gst_base_transform_handle_buffer):
1499 Compare QoS timestamps against running time.
1501 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
1506 2006-04-06 Michael Smith <msmith@fluendo.com>
1508 * gst/gstpad.c: (gst_pad_set_property):
1509 Use g_value_get_object() instead of g_value_dup_gst_object(),
1510 to avoid double-reffing the pad template (which we then sink,
1511 so this worked previously if (and only if) the pad template
1514 * gst/gstpadtemplate.c: (gst_pad_template_init),
1515 (gst_pad_template_pad_created):
1516 Never return floating references to pad templates, create
1517 them as initially-sunken.
1519 Document an extra function (and make this stop sinking our
1520 pad template, since that is now guaranteed to do nothing,
1521 since we created it sunken).
1523 * gst/gstghostpad.c:
1526 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
1528 * gst/gstinfo.c: (__gst_in_valgrind):
1531 * plugins/elements/gsttypefindelement.c:
1532 (gst_type_find_element_chain):
1533 Don't leak buffer caps.
1535 2006-04-06 Michael Smith <msmith@fluendo.com>
1537 * gst/parse/grammar.y:
1538 Fix a leak in parse-launch for any source-or-sink named element
1541 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1542 Unref the pipeline if it exists after we've failed parsing.
1544 2006-04-05 Michael Smith <msmith@fluendo.com>
1546 * gst/gstpipeline.c: (gst_pipeline_init):
1547 When we create a pipeline bus, initially create it in flushing mode.
1548 Fixes leaks in at least one test, and makes a new pipeline work the
1549 same as one that has gone to READY and then back to NULL.
1554 2006-04-05 Michael Smith <msmith@fluendo.com>
1556 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1557 Unref a pad we reffed.
1558 * tests/check/gst/gstutils.c: (GST_START_TEST):
1561 2006-04-05 Michael Smith <msmith@fluendo.com>
1563 * gst/gstquery.c: (gst_query_set_formats),
1564 (gst_query_set_formatsv):
1565 Fix leaking GValues in queries, as shown by valgrind/testsuite.
1567 2006-04-05 Michael Smith <msmith@fluendo.com>
1569 * tests/check/generic/sinks.c: (GST_START_TEST):
1570 Fix a variety of memleaks in sinks check, which are only sometimes
1571 shown by running the tests under valgrind (weird?).
1573 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
1575 * docs/version.entities.in:
1576 Fix the substituted entity name after thomas' changes on the
1579 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
1581 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1584 2006-04-05 Andy Wingo <wingo@pobox.com>
1586 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1588 * libs/gst/base/gstbasetransform.c
1589 (gst_base_transform_sink_eventfunc): When resetting our segment on
1590 FLUSH_STOP, also update the flag saying we haven't seen a
1593 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
1595 Patch by: Paolo Borelli <pborelli at katamail dot com>
1597 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1598 (gst_plugin_check_license):
1599 minor clean-ups: G_DEFINE_TYPE already takes care of the
1600 parent_class stuff, no need to do it twice. Mark array of
1601 license strings as constant. (#337103)
1603 2006-04-04 Michael Smith <msmith@fluendo.com>
1605 * tools/gst-inspect.c: (print_element_list):
1606 Free the right plugin list; fixes a memory leak.
1608 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
1610 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1612 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1613 Don't error out on empty buffers (#336945).
1615 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
1617 * docs/libs/gstreamer-libs-sections.txt:
1619 * libs/gst/base/gstbasesink.c:
1620 * libs/gst/base/gstbasesink.h:
1621 * libs/gst/base/gstbasesrc.c:
1622 * libs/gst/base/gstbasesrc.h:
1623 Documentation updates. Make BaseSink and BaseSrc docs contain the
1624 class structure so that people can actually see the prototypes for
1625 virtual functions they're supposed to be overriding.
1627 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
1629 * plugins/elements/gsttypefindelement.c:
1630 (gst_type_find_element_chain):
1631 More debug info; when skipping typefinding, send cached
1632 events in all cases.
1634 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
1637 use new AS_VERSION and AS_NANO macros
1638 * gst/gst-i18n-lib.h:
1641 * gst/gstversion.h.in:
1642 * win32/common/config.h:
1643 * win32/common/config.h.in:
1646 2006-03-31 Michael Smith <msmith@fluendo.com>
1648 * plugins/elements/gsttypefindelement.c:
1649 (gst_type_find_element_chain):
1650 Do not typefind content if the buffers already have caps.
1651 Neccesary for icydemux (#333657), and the right thing to do anyway.
1653 2006-03-30 Wim Taymans <wim@fluendo.com>
1655 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1656 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1657 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1658 (gst_base_sink_record_qos_observation),
1659 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1660 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1661 (gst_base_sink_change_state):
1662 More QoS measurements as described in the design doc.
1663 Get rid of ringbuffer with observations, running average is
1664 more simple and equally good.
1665 Calculates valid proportion now.
1666 Added beginning of flood measurement.
1668 2006-03-29 Wim Taymans <wim@fluendo.com>
1670 * docs/design/part-qos.txt:
1672 Small documentation updates and additions.
1674 2006-03-29 Wim Taymans <wim@fluendo.com>
1676 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1677 (gst_base_src_send_event), (gst_base_src_loop),
1678 (gst_base_src_change_state):
1679 Perform the EOS logic when we reach the segment stop position.
1680 Fix compilation on gcc4.1
1682 2006-03-29 Wim Taymans <wim@fluendo.com>
1684 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1686 * plugins/elements/gstqueue.c: (gst_queue_init),
1687 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1688 (gst_queue_set_property):
1689 * plugins/elements/gstqueue.h:
1690 In queue, when EOS is received, if minimum threshold > max_size -
1691 current_level, there is chance that queue blocks forever in conditional
1692 item del wait. This is because the queue is not emptied completely due
1693 to minimum threshold. Here is another approach. Instead of setting
1694 cur_levels to max in EOS, just zero all minimum threshold levels. This
1695 should make sure that queue gives out all data. When going to READY
1696 (stop) state, just reset the original minimum threshold levels.
1699 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
1701 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1702 (gst_type_find_element_handle_event),
1703 (gst_type_find_element_send_cached_events),
1704 (gst_type_find_element_change_state):
1705 * plugins/elements/gsttypefindelement.h:
1706 When typefinding is done in push mode, we should cache
1707 events we receive during typefinding instead of just
1708 dropping them (e.g. newsegment, custom events from
1709 dvdreadsrc etc.) and then send them out once we've
1710 determined the type of the stream (and decodebin
1711 has had a chance to plug in a decoder/demuxer).
1713 2006-03-27 Wim Taymans <wim@fluendo.com>
1715 * docs/design/part-qos.txt:
1718 2006-03-27 Wim Taymans <wim@fluendo.com>
1720 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1722 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1723 (gst_base_src_send_event), (gst_base_src_change_state):
1724 Handle element seek correctly when we are streaming.
1727 2006-03-24 Michael Smith <msmith@fluendo.com>
1729 * docs/faq/gst-uninstalled:
1730 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1731 allow you to correctly run intalled applications built against old
1732 core, using plugins that require updated core (e.g. running
1733 installed totem against a full uninstalled gstreamer stack)
1735 2006-03-24 Stefan Kost <ensonic@users.sf.net>
1737 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1740 2006-03-24 Wim Taymans <wim@fluendo.com>
1742 * docs/gst/gstreamer-sections.txt:
1743 Rearrange the order of the methods so that related methods
1744 are grouped together in sections.
1746 2006-03-24 Stefan Kost <ensonic@users.sf.net>
1749 Little clarification in the docs
1751 2006-03-24 Stefan Kost <ensonic@users.sf.net>
1755 * plugins/elements/gstidentity.c:
1756 * plugins/elements/gstqueue.c:
1757 * plugins/elements/gsttee.c:
1758 * plugins/elements/gsttypefindelement.c:
1759 GST_ELEMENT_DETAILS formatting
1761 2006-03-24 Wim Taymans <wim@fluendo.com>
1763 * libs/gst/base/gstbasesink.h:
1764 Only add fields, not insert or we break ABI.
1766 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
1768 * win32/common/libgstbase.def:
1769 * win32/common/libgstreamer.def:
1770 Update, add recently added functions.
1772 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
1774 * docs/gst/gstreamer-sections.txt:
1775 * gst/gstutils.c: (gst_pad_query_peer_position),
1776 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1778 API: add some new utility functions:
1779 - gst_pad_query_peer_position()
1780 - gst_pad_query_peer_duration()
1781 - gst_pad_query_peer_convert()
1783 2006-03-23 Wim Taymans <wim@fluendo.com>
1785 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1786 (gst_base_sink_init), (gst_base_sink_finalize),
1787 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1788 (gst_base_sink_set_property), (gst_base_sink_get_property),
1789 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1790 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1791 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1792 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1793 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1794 (gst_base_sink_preroll_object), (gst_base_sink_event),
1795 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1796 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1797 (gst_base_sink_query), (gst_base_sink_change_state):
1798 Decouple max-lateness and the fact that QoS messages are generated
1799 with a new property (qos).
1800 added API: GstBaseSink::async_play()
1801 Add vmethod so subclasses can be notified of ASYNC playing
1803 Collect timestamp start and stop to report better current
1804 position in EOS/PLAYING/PAUSED/READY/NULL.
1805 Refactor QoS/frame dropping and other measurements.
1806 API: GstBaseSrc::qos
1809 * libs/gst/base/gstbasesink.h:
1810 Added Private struct.
1811 API: gst_base_sink_set_qos_enabled()
1812 API: gst_base_sink_is_qos_enabled()
1814 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
1816 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1817 If compiling against GLib-2.8 or newer, try to read the
1818 registry file using GMappedFile first before falling back
1819 to fopen() + fread() (#332151).
1821 2006-03-22 Wim Taymans <wim@fluendo.com>
1823 * gst/gstinfo.c: (gst_debug_set_active),
1824 (gst_debug_category_set_threshold):
1825 Disable debugging unless explicitly activated.
1828 2006-03-22 Wim Taymans <wim@fluendo.com>
1830 * gst/gstelement.c: (gst_element_set_locked_state),
1831 (gst_element_dispose):
1832 Cleanup the error case.
1834 * gst/gstobject.c: (gst_object_dispose):
1835 print a critical when some object was disposed with
1836 a parent, also revive the object since it might
1839 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
1841 * tools/gst-launch.1.in:
1844 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
1847 * tests/check/Makefile.am:
1848 disable some tests when we don't have a registry
1849 * tests/check/gst/gstutils.c: (gst_utils_suite):
1850 don't build the part that needs parsing
1852 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
1855 * tests/examples/Makefile.am:
1856 fix --disable-parse build
1858 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
1860 * tools/gst-feedback.1.in:
1861 Fix typo: s/feeback/feedback/ (#133494).
1863 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
1865 * tools/Makefile.am:
1866 * tools/gst-launch.1.in:
1867 Add FILES section and correct entry about GST_REGISTRY_PATH
1868 environment variable (#133495; #133494).
1870 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
1872 * tools/Makefile.am:
1873 * tools/gst-md5sum.1.in:
1874 * tools/gst-md5sum.c:
1875 Remove gst-md5sum and man page (the md5sink element
1876 required was removed ages ago)
1878 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
1880 * gst/gststructure.c: (gst_structure_id_set_value):
1881 Make sure that string fields in structures/taglists
1882 contain valid UTF-8 - we don't want to pass rubbish to
1883 applications because of a buggy plugin (cp. #334167).
1885 2006-03-21 Edward Hervey <edward@fluendo.com>
1887 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1888 (gst_bin_handle_message_func):
1889 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1890 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1891 (gst_element_set_bus_func):
1892 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1893 * gst/gstminiobject.c: (gst_value_set_mini_object),
1894 (gst_value_take_mini_object):
1895 * gst/gstpad.c: (gst_pad_set_pad_template):
1896 * gst/gstpipeline.c: (gst_pipeline_dispose),
1897 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1898 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1899 (gst_collect_pads_chain):
1900 * libs/gst/net/gstnettimeprovider.c:
1901 (gst_net_time_provider_set_property):
1902 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1903 It's in fact all issues with gst_*object_replace().
1905 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
1907 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
1909 * pkgconfig/gstreamer-check-uninstalled.pc.in:
1910 * pkgconfig/gstreamer-check.pc.in:
1911 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1913 2006-03-21 Edward Hervey <edward@fluendo.com>
1918 gst_[buffer|event|message]_ref() macros are replaced by a static
1919 inline functions because gcc-4.1 will about if the return value
1921 * tests/check/gst/gstevent.c: (event_probe):
1922 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1924 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
1927 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1928 the type' case. (Closes: #335195 for now). In the future, when we
1929 depend on GLib 2.10, we could also intern the type name using
1930 g_intern_static_string()
1932 2006-03-20 Wim Taymans <wim@fluendo.com>
1934 * gst/gstbin.c: (gst_bin_handle_message_func),
1935 (bin_query_max_init), (bin_query_position_fold),
1936 (bin_query_position_done), (gst_bin_query):
1937 Position query should also take max of all streams.
1939 2006-03-20 Wim Taymans <wim@fluendo.com>
1941 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1942 (gst_fake_src_finalize):
1943 Fix leaks in fakesrc.
1945 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1946 Fix leaks in the testcase.
1948 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
1950 * gst/gst_private.h:
1951 add win32 specific import decoration(__declspec(dllimport))
1952 for all extern GstDebugCategory * variables
1953 * win32/common/libgstbase.def:
1954 * win32/common/libgstcontroller.def:
1955 * win32/common/libgstreamer.def:
1956 Add some exports, remove empty lines
1957 * win32/common/libgstdataprotocol.def:
1958 * win32/common/libgstdataprotocol.dsp:
1959 * win32/common/libgstnet.def:
1960 * win32/common/libgstnet.dsp:
1961 new project files and exportation files added
1963 2006-03-19 Wim Taymans <wim@fluendo.com>
1965 * tests/check/libs/basesrc.c: (eos_event_counter):
1966 Use proper return value for probe.
1968 2006-03-17 Wim Taymans <wim@fluendo.com>
1970 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1972 Don't leak buffers, caps and pads on negotiation errors.
1974 2006-03-16 Stefan Kost <ensonic@users.sf.net>
1977 * docs/faq/dependencies.xml:
1978 * docs/faq/developing.xml:
1980 * docs/faq/general.xml:
1981 * docs/faq/getting.xml:
1982 * docs/faq/legal.xml:
1983 * docs/faq/troubleshooting.xml:
1984 * docs/faq/using.xml:
1985 Faq review and update.
1987 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
1989 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1991 Don't pound the cpu to pieces by checking get_caps when accept_caps
1992 is called with the same caps as the pad already has.
1993 Use GST_DEBUG_OBJECT when outputting caps change information.
1995 2006-03-15 Wim Taymans <wim@fluendo.com>
1997 * gst/gstclock.c: (gst_clock_class_init):
2000 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
2005 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2006 (gst_pad_accept_caps), (gst_pad_configure_sink),
2007 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2008 Make the default acceptcaps behaviour be to check the requested
2009 caps against the gst_pad_get_caps output.
2011 Ensure that gst_pad_accept_caps is used to check caps when a pad
2012 doesn't have a setcaps function, so that pads automatically refuse
2013 caps that they don't allow in their pad template. (Fixes #332986)
2015 When a buffer with attached caps is pushed, ensure that the source
2016 pad receives those caps even if the element didn't call
2017 gst_pad_set_caps first.
2019 2006-03-15 Wim Taymans <wim@fluendo.com>
2021 * libs/gst/base/gstadapter.c:
2024 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
2026 * win32/common/libgstbase.def:
2027 * win32/common/libgstcontroller.def:
2028 * win32/common/libgstreamer.def:
2029 Add a whole bunch of missing functions (#334434).
2031 2006-03-14 Wim Taymans <wim@fluendo.com>
2033 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2034 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2035 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2036 Better debug info when we receive a segment event.
2037 Reorganize a bit so we can pass the get_times() results around.
2038 Use the segment format when calculating the running time.
2039 Don't do QoS is sync is disabled or we have no clock or the
2040 element does not want us to sync to the clock.
2041 Don't drop buffers if QoS is disabled for now.
2043 2006-03-14 Wim Taymans <wim@fluendo.com>
2045 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2046 Marked the stats property as unimplemented so people don't get
2048 Add debug message when regression goes wrong.
2049 Added some more docs.
2051 2006-03-14 Wim Taymans <wim@fluendo.com>
2053 * gst/gstsegment.c: (gst_segment_to_stream_time):
2054 Return correct return type in case of errors.
2056 2006-03-14 Wim Taymans <wim@fluendo.com>
2058 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2059 Don't segfault on invalid formats.
2061 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2063 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2064 Can't use gst_segment_to_running_time() when the segment
2065 is not in GST_TIME_FORMAT (like with filesink, for example).
2066 Stops flac encoding pipelines from spewing critical warnings
2069 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2071 * gst/gstpipeline.c: (gst_pipeline_class_init):
2072 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2074 * plugins/elements/gsttypefindelement.c:
2075 (gst_type_find_element_handle_event):
2076 Don't try to typefind empty streams.
2078 2006-03-14 Wim Taymans <wim@fluendo.com>
2080 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2081 (gst_base_sink_do_qos):
2082 Separate QoS calculation.
2083 Only drop buffers when lateness is bigger than the
2084 duration of the buffer.
2086 2006-03-13 Wim Taymans <wim@fluendo.com>
2088 * gst/gstpipeline.c: (gst_pipeline_set_property),
2089 (gst_pipeline_get_property), (do_pipeline_seek),
2090 (gst_pipeline_change_state), (gst_pipeline_set_delay),
2091 (gst_pipeline_get_delay):
2092 Don't deadlock when reading properties.
2094 2006-03-13 Wim Taymans <wim@fluendo.com>
2096 * libs/gst/base/gstbasetransform.c:
2097 (gst_base_transform_class_init), (gst_base_transform_init),
2098 (gst_base_transform_sink_event),
2099 (gst_base_transform_sink_eventfunc),
2100 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2101 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2102 (gst_base_transform_set_property),
2103 (gst_base_transform_get_property),
2104 (gst_base_transform_change_state), (gst_base_transform_update_qos),
2105 (gst_base_transform_set_qos_enabled),
2106 (gst_base_transform_is_qos_enabled):
2107 * libs/gst/base/gstbasetransform.h:
2108 Make basetransform virtual method for src events too.
2109 Handle QOS in basetransform.
2110 API: gst_base_transform_update_qos()
2111 API: gst_base_transform_set_qos_enabled()
2112 API: gst_base_transform_is_qos_enabled()
2114 2006-03-13 Wim Taymans <wim@fluendo.com>
2116 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2117 (gst_base_sink_do_sync):
2119 Use QOS debug category.
2121 2006-03-13 Wim Taymans <wim@fluendo.com>
2123 * plugins/elements/gstqueue.c:
2124 Very small doc update.
2126 2006-03-13 Wim Taymans <wim@fluendo.com>
2128 * gst/gst_private.h:
2129 * gst/gstinfo.c: (_gst_debug_init):
2130 Added QOS debug category
2132 2006-03-13 Wim Taymans <wim@fluendo.com>
2134 * docs/gst/gstreamer-sections.txt:
2135 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2137 * gst/gstbus.c: (gst_bus_class_init):
2140 * gst/gstelement.c: (gst_element_set_locked_state):
2142 Documentation updates.
2144 * gst/gstpipeline.c: (gst_pipeline_get_type),
2145 (gst_pipeline_class_init), (gst_pipeline_init),
2146 (gst_pipeline_dispose), (gst_pipeline_set_property),
2147 (gst_pipeline_get_property), (do_pipeline_seek),
2148 (gst_pipeline_send_event), (gst_pipeline_change_state),
2149 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2150 (gst_pipeline_get_delay):
2151 * gst/gstpipeline.h:
2152 Added methods for setting the delay.
2153 API: gst_pipeline_set_delay()
2154 API: gst_pipeline_get_delay()
2155 Add pipeline debug category
2158 Don't reset stream time when seek failed.
2160 2006-03-13 Wim Taymans <wim@fluendo.com>
2162 * docs/design/draft-klass.txt:
2163 * docs/design/part-clocks.txt:
2164 * docs/design/part-events.txt:
2165 * docs/design/part-gstbin.txt:
2166 * docs/design/part-gstpipeline.txt:
2167 * docs/design/part-messages.txt:
2168 * docs/design/part-negotiation.txt:
2169 * docs/design/part-overview.txt:
2170 * docs/design/part-preroll.txt:
2171 * docs/design/part-seeking.txt:
2172 * docs/design/part-states.txt:
2173 * docs/design/part-streams.txt:
2174 Documentation updates.
2176 2006-03-12 Julien MOUTTE <julien@moutte.net>
2178 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2179 us to leak strings...
2181 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
2183 * libs/gst/net/gstnettimeprovider.c:
2185 * win32/common/config.h:
2188 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
2190 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2193 Don't check for libgnomeui (leftover from old examples
2194 that aren't built or disted any longer) (#334303).
2196 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
2198 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2199 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2200 Emit RESOURCE_NO_SPACE_LEFT error here as well when
2201 there's no space left on the device.
2203 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
2206 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2207 to cast the input to GstClockTime before comparing with
2208 another GstClockTime value.
2210 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2215 === release 0.10.4 ===
2217 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2220 releasing 0.10.4, "Light"
2222 2006-03-10 Michael Smith <msmith@fluendo.com>
2224 * libs/gst/dataprotocol/dataprotocol.c:
2225 Fix docs for dataprocotol to not get the return types completely
2226 wrong for a few functions.
2228 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2230 * docs/gst/gstreamer-sections.txt:
2231 * gst/gstpipeline.c: (gst_pipeline_class_init),
2232 (gst_pipeline_init), (gst_pipeline_set_property),
2233 (gst_pipeline_get_property), (gst_pipeline_change_state),
2234 (gst_pipeline_set_auto_flush_bus),
2235 (gst_pipeline_get_auto_flush_bus):
2236 * gst/gstpipeline.h:
2237 Add new API: gst_pipeline_set_auto_flush_bus() and
2238 gst_pipeline_get_auto_flush_bus() to disable automatic
2239 flushing of the pipeline's GstBus when going from READY
2240 to NULL state (#332045).
2242 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2244 * docs/gst/gstreamer-sections.txt:
2245 * gst/gsturi.c: (gst_uri_has_protocol):
2247 Add new API: gst_uri_has_protocol() (#333779).
2249 2006-03-09 Wim Taymans <wim@fluendo.com>
2251 * gst/gstclock.c: (gst_clock_entry_new),
2252 (gst_clock_id_compare_func), (gst_clock_id_wait),
2253 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2254 (gst_clock_init), (gst_clock_get_internal_time),
2255 (gst_clock_set_master), (do_linear_regression),
2256 (gst_clock_add_observation), (gst_clock_set_property):
2260 Fix a possible segfault when the window-size is made smaller.
2261 Calculate jitter before performing the clock wait. Ideally
2262 the clock implementation should calculate jitter but we need
2263 API breakage for that.
2265 * gst/gstsystemclock.c: (gst_system_clock_init):
2268 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2269 Remove leftover else
2271 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2272 (gst_systemclock_suite):
2273 Added check to test GST_CLOCK_DIFF.
2275 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2277 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2278 (gst_type_find_helper_get_range):
2279 If we are provided with the size, we should implement
2280 GstTypeFind::get_length, so that typefind functions who
2281 want to can actually peek at the middle of a file.
2283 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
2285 * docs/manual/advanced-dataaccess.xml:
2286 Add some very very basic error checking.
2288 * docs/pwg/appendix-checklist.xml:
2289 Some updates to the list of things to check when writing an element.
2291 2006-03-08 Wim Taymans <wim@fluendo.com>
2293 * docs/design/part-element-transform.txt:
2294 Added some docs about the design of tranform elements.
2296 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2297 (gst_base_src_loop), (gst_base_src_change_state):
2298 Mark buffers with the DISCONT flag.
2300 2006-03-08 Michael Smith <msmith@fluendo.com>
2302 * gst/gstregistry.h:
2303 * gst/gstregistryxml.c: (gst_registry_save),
2304 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2305 (gst_registry_xml_save_pad_template),
2306 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2307 (gst_registry_xml_write_cache):
2308 Rewrite registry-saving to avoid race conditions and check for
2311 2006-03-08 Wim Taymans <wim@fluendo.com>
2313 * libs/gst/base/gstbasetransform.c:
2314 (gst_base_transform_transform_caps),
2315 (gst_base_transform_transform_size),
2316 (gst_base_transform_prepare_output_buffer),
2317 (gst_base_transform_get_unit_size),
2318 (gst_base_transform_buffer_alloc),
2319 (gst_base_transform_handle_buffer),
2320 (gst_base_transform_change_state):
2321 Cleanups, separate normal flow from errors, add sensible
2323 Don't try to renegotiate when allocating an output buffer.
2324 Also copy DISCONT buffer flag when copying a buffer.
2325 Reset the transform after we finish streaming, not during.
2327 2006-03-08 Wim Taymans <wim@fluendo.com>
2329 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2330 Use last buffer timestamp in qos message.
2332 2006-03-07 Wim Taymans <wim@fluendo.com>
2334 Patch by: Christophe Fergeau
2336 * docs/pwg/advanced-tagging.xml:
2337 * docs/pwg/building-pads.xml:
2340 2006-03-07 Wim Taymans <wim@fluendo.com>
2342 * docs/libs/gstreamer-libs-sections.txt:
2343 Added basesink new methods.
2347 Docs updates. Flesh out the QoS docs.
2349 * libs/gst/base/gstadapter.c:
2350 Small doc clarification about ownership and flushing.
2352 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2353 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2354 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2355 (gst_base_sink_get_property), (gst_base_sink_do_sync):
2356 * libs/gst/base/gstbasesink.h:
2358 Added new methods to allow subclass to control max-lateness
2360 Generate very basic QoS events based on last sync observation.
2361 Updated docs, fix typo, added some QoS blurb.
2363 * libs/gst/base/gstbasesrc.c:
2364 Remove obsolete _get_state() calls from docs.
2366 2006-03-07 Wim Taymans <wim@fluendo.com>
2368 * docs/libs/gstreamer-libs-sections.txt:
2369 * libs/gst/base/gstbasetransform.h:
2370 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2371 Fix docs for GstBaseSrc.
2373 2006-03-07 Wim Taymans <wim@fluendo.com>
2375 * docs/gst/gstreamer-sections.txt:
2378 * libs/gst/base/gstbasetransform.h:
2379 Small documentation fixes.
2381 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
2384 Document thread-unsafety of gst_value_register_foo_func()
2385 when used at the same time as gst_value_foo() (#322628).
2387 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
2389 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2390 (gst_push_src_check_get_range):
2391 Push sources don't support pull mode by default.
2393 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
2395 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2396 (gst_base_src_init), (gst_base_src_pad_check_get_range),
2397 (gst_base_src_default_check_get_range):
2398 * libs/gst/base/gstbasesrc.h:
2399 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2400 provide default implementation, and rename
2401 gst_base_src_check_get_range() to
2402 gst_base_src_pad_check_get_range() for clarity.
2404 2006-03-06 Wim Taymans <wim@fluendo.com>
2406 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2407 Make property overridable.
2409 2006-03-06 Wim Taymans <wim@fluendo.com>
2411 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2412 (gst_base_sink_init), (gst_base_sink_set_property),
2413 (gst_base_sink_get_property), (gst_base_sink_do_sync):
2414 * libs/gst/base/gstbasesink.h:
2415 API addition: Make max-lateness a property.
2417 2006-03-06 Wim Taymans <wim@fluendo.com>
2419 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2420 (gst_base_sink_do_sync), (gst_base_sink_render_object):
2421 Don't ever draw a frame that is >10ms late.
2423 2006-03-06 Michael Smith <msmith@fluendo.com>
2425 * gst/gstmessage.c: (_gst_message_copy):
2426 When copying a message, set the parent_refcount of the enclosed
2427 structure to point at the copy, not the original message.
2429 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
2431 Patch by: Christophe Fergeau
2434 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2435 usable in c++ code (#333417)
2437 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
2440 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2442 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
2444 * libs/gst/base/gstbasetransform.c:
2445 (gst_base_transform_transform_caps):
2446 Make sure caps are writable before passing them to
2449 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
2452 Fix some minor docs errors.
2454 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
2456 Patch by: Ross Burton <ross at burtonini dot com>
2458 * gst/gsterror.c: (_gst_resource_errors_init):
2460 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2462 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
2465 Add a check and output a g_warning when GStreamer is built
2466 against GLib 2.6 but running against 2.8 or higher, and vice
2467 versa. (Closes: #323542)
2469 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
2471 * gst/parse/parse.l:
2472 Commit patch for parse_launch syntax from #331255. Removes
2473 support for quoted strings and mimetypes when writing filtered
2474 caps. See the bug report for more details - I'm pretty sure this
2475 obscure feature is not in use by _anyone_ anywhere.
2477 With this simple change, the size of the gstreamer.so here
2478 drops from 2193KB to 1565KB.
2480 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
2482 * plugins/elements/gsttypefindelement.h:
2483 * plugins/elements/gsttypefindelement.c:
2484 (gst_type_find_element_src_event), (start_typefinding),
2485 (stop_typefinding), (gst_type_find_element_handle_event),
2486 (gst_type_find_element_chain),
2487 (gst_type_find_element_chain_do_typefinding):
2488 Use gst_type_find_helper_for_buffer() for chain-based
2491 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
2493 * plugins/elements/gsttypefindelement.c:
2494 (gst_type_find_element_class_init),
2495 (gst_type_find_element_set_property),
2496 (gst_type_find_element_get_property):
2497 Deprecate "maximum" property (not only was it only taken into
2498 account for typefinding in push-mode anyway, it also was never
2499 actually possible to set it in the first place because the
2500 property was registered with the numeric property ID for the
2501 "minimum" property). Register "maximum" property correctly,
2502 for the sake of future copy'n'pasters. Remove some cruft
2503 from property get/set functions.
2505 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
2507 * plugins/elements/gsttypefindelement.c:
2508 (gst_type_find_element_activate):
2509 Use gst_type_find_helper_get_range() here, so we
2510 can honour the "minimum" property and also emit
2511 the signal with the correct probability of the found caps.
2513 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
2515 * docs/libs/gstreamer-libs-sections.txt:
2516 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2517 (helper_find_suggest), (gst_type_find_helper_get_range),
2518 (gst_type_find_helper):
2519 * libs/gst/base/gsttypefindhelper.h:
2520 New API: gst_type_find_helper_get_range() (#333042).
2522 2006-03-02 Michael Smith <msmith@fluendo.com>
2524 * gst/gstregistryxml.c: (load_feature):
2525 Asserting on a failure to read part of the registry is Not Cool.
2526 Just log a warning and return NULL (which is already handled)
2528 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
2530 * win32/common/libgstbase.def:
2531 added export of gst_type_find_helper_for_buffer
2532 * win32/common/libgstbase.def:
2533 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2534 gst_ghost_pad_get_target
2536 2006-02-28 Wim Taymans <wim@fluendo.com>
2538 * docs/design/draft-klass.txt:
2540 Added Connector to mark elements that are only used to
2541 allow pipeline connections.
2542 Moved Debug to extra feature since most of them are
2543 functionally something else.
2545 2006-02-28 Wim Taymans <wim@fluendo.com>
2547 * docs/design/draft-klass.txt:
2548 Some updates and clarifications.
2550 2006-02-28 Wim Taymans <wim@fluendo.com>
2552 * docs/design/draft-klass.txt:
2553 Proposal for klass field values.
2555 * docs/design/part-streams.txt:
2556 Start of a doc describing stream anatomy.
2558 2006-02-28 Wim Taymans <wim@fluendo.com>
2560 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2561 Help the compiler a bit with type registration.
2562 Use existing forward cod path instead of duplicating it when
2565 * gst/gstbus.c: (gst_bus_get_type):
2566 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2567 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2568 * gst/gstclock.c: (gst_clock_get_type):
2569 * gst/gstelement.c: (gst_element_get_type),
2570 * gst/gstelementfactory.c: (gst_element_factory_get_type):
2571 * gst/gstindexfactory.c: (gst_index_factory_get_type):
2572 * gst/gstminiobject.c: (gst_mini_object_get_type):
2573 * gst/gstpad.c: (gst_pad_get_type):
2574 * gst/gstsegment.c: (gst_segment_get_type):
2575 * gst/gststructure.c: (gst_structure_get_type):
2576 * gst/gstsystemclock.c: (gst_system_clock_get_type):
2577 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2579 Help compiler with type registration.
2581 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2584 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2586 * plugins/elements/gsttypefindelement.c:
2587 (gst_type_find_element_handle_event):
2588 When we get an EOS event and have not found a type yet
2589 (most likely because we had not yet accumulated
2590 TYPE_FIND_MIN_SIZE of data yet), try to determine the
2591 type given the data we have so far. Fixes typefinding
2592 for very short streams again, most notably quicktime
2593 redirections as used on Apple's trailer site (#331701).
2595 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2597 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2598 (gst_type_find_helper):
2599 Try typefinding factories with the highest rank first.
2601 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2603 * docs/libs/gstreamer-libs-docs.sgml:
2604 * docs/libs/gstreamer-libs-sections.txt:
2605 * libs/gst/base/gsttypefindhelper.c:
2606 Add section for typefind helper and add documentation
2607 for the old and the new function.
2609 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2611 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2612 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2613 (gst_type_find_helper_for_buffer):
2614 * libs/gst/base/gsttypefindhelper.h:
2615 New API: gst_type_find_helper_for_buffer() (#332723).
2617 2006-02-27 Michael Smith <msmith@fluendo.com>
2619 Patch by: Loïc Minier
2623 * docs/slides/Makefile.am:
2624 prevent CVS directories getting disted.
2626 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
2628 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2629 Use the REFCOUNTING category for caps refcounting.
2631 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
2633 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2634 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2636 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
2638 * plugins/elements/gsttypefindelement.c:
2639 (gst_type_find_element_activate):
2640 Use gst_pad_check_pull_range() before _activate_pull()
2641 to avoid unnecessary open/close (see #331690).
2643 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
2646 Docs enhancement: make it crystal clear what the
2647 gst_pad_add_*_probe() callbacks should look like.
2649 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
2651 * libs/gst/base/gstbasesrc.c:
2652 Document how applications can stop recording from
2653 live sources (see #330996).
2655 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2657 * tests/check/Makefile.am:
2658 * tests/check/libs/basesrc.c: (eos_event_counter),
2659 (basesrc_eos_events_pull), (basesrc_eos_events_push),
2660 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2661 (gst_basesrc_suite), (main):
2662 ... and add some tests for the base source EOS stuff.
2664 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2666 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2667 Test case originally showed the problem fixed below,
2668 but was then amended. Add checks back at the place
2669 where they used to be.
2671 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2673 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2674 (gst_base_src_init), (gst_base_src_loop),
2675 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2676 (gst_base_src_change_state):
2677 * libs/gst/base/gstbasesrc.h:
2678 Don't unconditionally send EOS when going from PAUSED to
2679 READY state, esp. make sure we don't send two EOS events
2680 in some cases (e.g. one when reaching EOS and one when
2681 going from PAUSED to READY). Also, we don't want to send
2682 EOS events when operating in pull mode. However, we do
2683 want to send an EOS event when shutting down a live
2684 source explicitly, for example (fixes #330996).
2686 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
2688 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2689 Update src->read_position after a seek when not using mmap.
2690 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2692 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
2698 Make things work with --disable-parse as they do with
2699 --disable-load-save - the symbols involved disappear, but the
2700 header is still installed and GST_DISABLE_PARSE is included via
2703 2006-02-20 Julien MOUTTE <julien@moutte.net>
2705 * libs/gst/base/gstbasetransform.c:
2706 (gst_base_transform_change_state): Fix a stupid bug. I was
2707 sure I compiled that.
2709 2006-02-20 Julien MOUTTE <julien@moutte.net>
2711 * gst/gstpad.c: (gst_pad_set_blocked_async):
2712 * gst/gstutils.c: (gst_pad_add_data_probe),
2713 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2714 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2715 (gst_pad_remove_buffer_probe): Make those function act on the
2716 ghostpad target when it's a ghostpad. (Closes #331727)
2718 2006-02-20 Julien MOUTTE <julien@moutte.net>
2720 * libs/gst/base/gstbasetransform.c:
2721 (gst_base_transform_change_state): Make basetransform reusable.
2724 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
2726 * docs/random/release:
2727 Move the current documentation of how to do a release to the top
2730 * gst/gstbin.c: (gst_bin_class_init),
2731 (gst_bin_handle_message_func):
2732 Allow multiple state-recalculation threads. (Closes #328873)
2734 2006-02-19 Julien MOUTTE <julien@moutte.net>
2736 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2737 * gst/gstpad.c: (gst_pad_set_event_function),
2738 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2739 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2740 2 strings. You can't use the STR_NULL macro on that.
2742 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
2744 * gst/gstpad.c: (gst_pad_set_event_function),
2745 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2746 (gst_pad_set_getcaps_function)
2747 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2748 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2749 So now, we can use --gst-debug-level=5 on Windows
2750 * win32/common/libgstcontroller.def:
2751 Added export of gst_controller_init
2752 * win32/vs6/libgstcontroller.dsp:
2753 Fixed Release post build configuration
2755 2006-02-17 Wim Taymans <wim@fluendo.com>
2757 * tests/check/gst/gstquery.c: (GST_START_TEST):
2758 Added another check.
2760 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
2762 * plugins/elements/gsttypefindelement.c: (find_peek):
2763 We can do peeks at non-zero offsets, as long as they
2764 fall within the buffer we have.
2766 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
2768 * tests/check/Makefile.am:
2769 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2770 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2771 (parse_suite), (main):
2772 Add testsuite for parse launch syntax
2774 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
2776 * plugins/elements/gsttypefindelement.c:
2777 (gst_type_find_element_chain):
2778 When typefinding is unsuccessful in the chain function, don't
2779 error out immediately. Only error out with NO_CAPS_FOUND if
2780 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2781 otherwise simply wait for more data so we can try typefinding
2782 again with more data later. Also, don't attempt to typefind
2783 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2784 this should improve typefinding from network sources where the
2785 size of the first buffer can be somewhat random.
2787 2006-02-14 Wim Taymans <wim@fluendo.com>
2789 * docs/gst/gstreamer-sections.txt:
2790 * gst/gstpadtemplate.c:
2791 * gst/gstpadtemplate.h:
2792 Fix padtemplate docs, fixes #328805.
2794 2006-02-14 Wim Taymans <wim@fluendo.com>
2796 * tools/gst-launch.c: (main):
2797 NO_PREROLL is not an ERROR so don't send confusing messages
2800 2006-02-14 Wim Taymans <wim@fluendo.com>
2802 Patch by: Torsten Schoenfeld
2804 * gst/gstregistry.c: (gst_registry_get_default),
2805 (_gst_registry_cleanup):
2806 Protect default registry with lock and ref/sink it.
2809 2006-02-14 Wim Taymans <wim@fluendo.com>
2812 * gst/gstquery.c: (gst_query_list_add_format),
2813 (gst_query_set_formatsv), (gst_query_parse_formats_length),
2814 (gst_query_parse_formats_nth):
2815 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2818 2006-02-14 Wim Taymans <wim@fluendo.com>
2820 * docs/gst/gstreamer-sections.txt:
2821 Reworked query docs.
2823 * gst/gstquery.c: (gst_query_new_formats),
2824 (gst_query_list_add_format), (gst_query_set_formats),
2825 (gst_query_set_formatsv), (gst_query_parse_formats_length),
2826 (gst_query_parse_formats_nth):
2828 Flesh out formats query, added some new methods.
2829 Fix part of #324398.
2831 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2832 Added query creation tests.
2834 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
2836 * gst/gstpad.c: (fixate_value):
2837 Add a default fixation for fraction lists.
2839 2006-02-13 Wim Taymans <wim@fluendo.com>
2841 * gst/gsttask.c: (gst_task_init), (gst_task_func),
2842 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2845 Detect and warn for obvious deadlocks. fixes #320340
2846 Fix error case where lock was not released.
2848 * tests/check/Makefile.am:
2849 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2850 (task_func), (gst_element_suite), (main):
2853 2006-02-13 Wim Taymans <wim@fluendo.com>
2855 * docs/gst/gstreamer-sections.txt:
2857 Add new functions to docs.
2859 2006-02-13 Wim Taymans <wim@fluendo.com>
2861 * docs/design/part-TODO.txt:
2862 Updated TODO list, basesrc supports seeking to non-bytes
2865 * docs/design/part-element-sink.txt:
2868 * gst/gstbin.c: (bin_replace_message),
2869 (gst_bin_handle_message_func):
2870 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2871 * gst/gstevent.c: (gst_event_finalize):
2872 * gst/gstpad.c: (gst_pad_event_default_dispatch),
2873 (gst_pad_send_event):
2874 Use shiny new _TYPE_NAME macros.
2876 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2877 Move debug statement up.
2879 * gst/gstelement.c: (gst_element_set_locked_state):
2882 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
2884 * docs/gst/gstreamer-sections.txt:
2887 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2888 macros (#330906). Also, document the already existing
2889 GST_QUERY_TYPE macro.
2891 2006-02-13 Wim Taymans <wim@fluendo.com>
2893 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2894 (event_probe), (GST_START_TEST):
2895 Only events up to the pipeline EOS are counted, there are
2896 some more when going to NULL currently which we don't care
2899 2006-02-13 Wim Taymans <wim@fluendo.com>
2901 * gst/gstpad.c: (gst_pad_send_event):
2902 Correctly check flushing and emit probes. fixes #330125
2904 2006-02-10 Andy Wingo <wingo@pobox.com>
2906 * gst/gstbus.c (gst_bus_class_init): Declare our private data
2908 (gst_bus_init): Cache the location of the private data in the
2910 (gst_bus_enable_sync_message_emission)
2911 (gst_bus_disable_sync_message_emission): Implement new public
2913 (gst_bus_post): Emit the sync-message signal if the user asked for
2916 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2917 location of the bus-private structure.
2918 (gst_bus_enable_sync_message_emission)
2919 (gst_bus_disable_sync_message_emission): API addition
2921 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
2923 Patch by: Vincent Torri
2925 * docs/pwg/building-boiler.xml:
2926 PWG patch from #326800
2928 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
2932 * docs/design/Makefile.am:
2935 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
2940 === release 0.10.3 ===
2942 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
2945 releasing 0.10.3, "Like a virgin"
2947 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
2950 2nd prerelease of 0.10.3
2951 Bump libtool versioning.
2953 2006-02-07 Andy Wingo <wingo@pobox.com>
2955 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2956 update last_stop if we're in TIME format and the timestamp is
2959 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
2960 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
2961 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2962 If we get a new newsegment with a different format, adapt
2965 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2966 of 0. Not a problem, really.
2968 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2971 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
2976 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
2979 project files updated to the default vs7 configuration
2980 * win32/common/libgstbase.def:
2981 * win32/common/libgstreamer.def:
2983 removed empty lines,
2984 sorted all exported symbols alphabetically
2985 * win32/common/dirent.c:
2986 * win32/common/dirent.h:
2987 * win32/common/gchar.h:
2988 use windows line end.
2990 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
2992 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2993 Send EOS event when stopping.
2995 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
2998 Tell folks what to do if the plugin-foobar.xml file
2999 hasn't been generated for a newly-added plugin.
3001 2006-02-05 Julien MOUTTE <julien@moutte.net>
3003 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3004 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3005 (gst_collect_pads_start), (gst_collect_pads_stop),
3006 (gst_collect_pads_event): Collectpads now holds a reference
3007 to the GstPad that was added. Indeed we don't want to look
3008 at pads that might just go away with no warning...
3010 2006-02-05 Julien MOUTTE <julien@moutte.net>
3012 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3013 (gst_collect_pads_start), (gst_collect_pads_stop),
3014 (gst_collect_pads_event), (gst_collect_pads_chain):
3015 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3016 Mark Nauwelaerts's patch on bug #328491.
3018 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3020 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3022 Add some simple tests for gst_parse_bin_from_description() and
3023 gst_bin_find_unconnected_pad() (#329069).
3025 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3027 * tools/gst-launch.c: (event_loop), (main):
3028 Catch errors during preroll (#320084).
3030 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
3032 * plugins/elements/gsttypefindelement.c:
3033 (gst_type_find_element_activate):
3034 Post TYPE_NOT_FOUND error message when typefinding
3035 is unsuccessful in the activate function as well.
3037 2006-02-02 Wim Taymans <wim@fluendo.com>
3039 * docs/design/part-element-sink.txt:
3042 2006-02-02 Wim Taymans <wim@fluendo.com>
3044 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3045 (gst_base_sink_render_object),
3046 (gst_base_sink_queue_object_unlocked):
3047 Only keep track of prerollable items when we are
3049 Before rendering after preroll, always check if we
3051 Added some more debugging.
3053 2006-02-02 Wim Taymans <wim@fluendo.com>
3055 * gst/gstelement.c: (gst_element_continue_state),
3056 (gst_element_set_state_func), (gst_element_change_state):
3057 Fixed #326576, been running this for quite some time with
3058 no regressions at all.
3060 2006-02-02 Wim Taymans <wim@fluendo.com>
3063 Added more suppressions
3065 2006-02-02 Wim Taymans <wim@fluendo.com>
3067 * docs/design/part-element-sink.txt:
3070 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3071 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3072 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3073 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3074 (gst_base_sink_do_sync), (gst_base_sink_render_object),
3075 (gst_base_sink_preroll_object),
3076 (gst_base_sink_queue_object_unlocked),
3077 (gst_base_sink_queue_object), (gst_base_sink_event),
3078 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3079 (gst_base_sink_loop), (gst_base_sink_activate_pull),
3080 (gst_base_sink_get_position), (gst_base_sink_change_state):
3081 * libs/gst/base/gstbasesink.h:
3082 Totally refactored matching the design doc.
3083 Use two segments, one to clip incomming buffers and another to
3085 Handle queueing correctly, bypass the queue when playing.
3086 Make EOS cancelable.
3087 Handle errors correctly when operating in pull based mode.
3089 * tests/check/elements/fakesink.c: (GST_START_TEST),
3091 Added new check for sinks.
3093 2006-02-02 Wim Taymans <wim@fluendo.com>
3095 * gst/gstsegment.c: (gst_segment_clip):
3096 No reason to refuse to clip when start == -1
3098 2006-02-02 Stefan Kost <ensonic@users.sf.net>
3101 * docs/manual/intro-basics.xml:
3102 * docs/manual/intro-preface.xml:
3103 * docs/manual/manual.xml:
3104 * docs/pwg/advanced-dparams.xml:
3105 * docs/pwg/intro-basics.xml:
3106 * docs/pwg/intro-preface.xml:
3108 describe dparams (controller) for plugins
3109 unify docs a little more
3111 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
3113 * docs/gst/gstreamer-sections.txt:
3114 * gst/gstutils.c: (element_find_unconnected_pad),
3115 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3117 Add new API: gst_parse_bin_from_description() and
3118 gst_bin_find_unconnected_pad() (#329069).
3120 2006-02-01 Stefan Kost <ensonic@users.sf.net>
3122 * docs/manual/README:
3123 uncover a nasty detail of the docs build
3125 2006-01-31 Wim Taymans <wim@fluendo.com>
3127 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3128 Don't cache duration messages if we're not going to use or
3131 2006-01-31 Stefan Kost <ensonic@users.sf.net>
3133 * docs/manual/advanced-dparams.xml:
3134 * docs/pwg/advanced-dparams.xml:
3138 * libs/gst/controller/lib.c: (gst_controller_init):
3141 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
3143 * gst/gstelement.c: (gst_element_message_full):
3144 also show file/line/func if no additional debug was given
3146 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
3148 * win32/vs7/grammar.vcproj:
3149 activate copy of autogenerated files for Release mode
3151 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3153 * win32/common/libgstreamer.def:
3154 export gst_value_compare
3156 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
3158 * plugins/elements/Makefile.am:
3159 * plugins/elements/gstelements.c:
3160 * plugins/elements/gstfdsink.c: (_do_init),
3161 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3162 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3163 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3164 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3165 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3166 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3167 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3168 * plugins/elements/gstfdsink.h:
3169 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3171 2006-01-30 Stefan Kost <ensonic@users.sf.net>
3173 * docs/manual/advanced-dparams.xml:
3175 * docs/manual/advanced-position.xml:
3176 * docs/manual/basics-init.xml:
3177 * docs/manual/manual.xml:
3178 * docs/manual/titlepage.xml:
3180 * docs/pwg/titlepage.xml:
3181 cleanup xml (more to come)
3182 * libs/gst/controller/gstcontroller.c:
3185 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3187 * win32/vs6/grammar.dsp:
3188 add autogen of gstmarshal.c,h for Release mode
3190 2006-01-30 Wim Taymans <wim@fluendo.com>
3192 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3193 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3194 (gst_base_sink_handle_object), (gst_base_sink_event),
3195 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3196 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3197 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3198 (gst_base_sink_deactivate), (gst_base_sink_activate),
3199 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3200 (gst_base_sink_query), (gst_base_sink_change_state):
3201 Basesink cleanups, remove some old code.
3202 Handle the case where a subclass can preroll in the render
3203 method (mostly audiosinks).
3205 Remove some locks around variables that are now protected
3206 with the PREROLL_LOCK (clock_id, flushing, ..).
3207 Optimize position query some more, do correct locking.
3208 Remove old code to push queue in state change, this is not
3209 needed anymore since preroll blocks on all prerollable items
3211 Almost implemented as described in design doc.
3213 2006-01-30 Wim Taymans <wim@fluendo.com>
3215 * tests/check/gst/gstbin.c: (GST_START_TEST):
3216 Wait for refcount to settle down before checking.
3218 2006-01-30 Wim Taymans <wim@fluendo.com>
3220 * docs/design/part-element-sink.txt:
3221 Pseudo code overview of desired sink behaviour regarding
3224 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3225 * win32/vs6/grammar.dsp:
3226 fix some bugs in Release mode for autogenerated files
3228 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3229 * win32/common/libgstbase.def:
3230 * win32/common/libgstreamer.def:
3231 export some new symbols: gst_base_src_set_format,
3232 gst_iterator_next, gst_structure_set_valist
3234 2006-01-29 Julien MOUTTE <julien@moutte.net>
3236 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3237 Set pad functions unconditionally. Fixes #329105.
3239 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3241 add vs8 project files created by Sergey Scobich
3243 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
3245 * gst/gstutils.c: (gst_element_unlink_pads):
3246 Don't leak pad references.
3248 * tests/check/elements/fakesink.c: (GST_START_TEST):
3249 * tests/check/generic/sinks.c: (GST_START_TEST):
3250 * tests/check/generic/states.c: (GST_START_TEST):
3251 * tests/check/gst/gstbin.c: (GST_START_TEST):
3252 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3253 * tests/check/gst/gstelement.c: (GST_START_TEST):
3254 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3255 * tests/check/gst/gstiterator.c: (GST_START_TEST):
3256 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3257 Fix a bunch of leaks. Make generic/sinks.c
3258 use a bit less cpu by slowing the buffer rate
3259 between fakesrc and fakesink.
3261 2006-01-27 Stefan Kost <ensonic@users.sf.net>
3263 * gst/gstelement.c: (gst_element_send_event):
3266 * gst/gstiterator.c:
3267 * gst/gstiterator.h:
3268 * gst/gstpad.c: (gst_pad_send_event):
3269 * gst/gststructure.c:
3273 * libs/gst/base/gstadapter.c:
3274 doc fixes, to link to function, just write gst_cool_function(), don't
3277 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3279 * plugins/elements/gsttee.c: (gst_tee_do_push),
3280 (gst_tee_handle_buffer):
3281 Always prefer an actual return value from a src
3282 pad in place of NOT_LINKED. This means we return
3283 WRONG_STATE when all src pads are WRONG_STATE
3284 instead of NOT_LINKED.
3286 Lock when replacing the last message to prevent
3287 racing with the get_property method.
3291 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3293 * tests/check/Makefile.am:
3294 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3296 Add a very simple check that should have caught the memleak I fixed
3297 last night (if not for the slice allocator hiding it)
3299 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3301 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3302 (gst_bin_remove_func), (gst_bin_handle_message_func),
3303 (bin_query_duration_fold), (bin_query_generic_fold):
3304 Clean up references to the clock provider when disposed or when
3305 handling a clock-lost message from it.
3307 Unref sinks when performing a query via gst_iterator_fold, as the
3308 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3310 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3311 (gst_clock_set_master):
3312 Drop our reference to the master clock, if any, when we are disposed.
3314 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3315 Chain up in dispose.
3317 2006-01-26 Wim Taymans <wim@fluendo.com>
3319 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3322 2006-01-26 Julien MOUTTE <julien@moutte.net>
3324 * plugins/elements/gsttee.c: (gst_tee_do_push),
3325 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3326 handles pad being NOT_LINKED or in WRONG_STATE.
3328 2006-01-26 Stefan Kost <ensonic@users.sf.net>
3333 2006-01-26 Stefan Kost <ensonic@users.sf.net>
3336 remove obsolete entry
3338 2006-01-26 Stefan Kost <ensonic@users.sf.net>
3340 * docs/gst/gstreamer-sections.txt:
3341 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3342 (gst_bin_iterate_sources), (gst_bin_send_event):
3344 * gst/gstelement.c: (gst_element_send_event):
3346 * gst/gstpad.c: (gst_pad_send_event):
3347 added code for downstream events, reviewed docs in gstevent.c
3349 2006-01-25 Julien MOUTTE <julien@moutte.net>
3351 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3352 We only query position using the clock in the playing state.
3353 Query peer in the other cases.
3354 * win32/common/config.h: Updates.
3356 2006-01-24 Wim Taymans <wim@fluendo.com>
3358 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3359 A clock entry that is scheduled for the exact time of the
3360 clock is still in time.
3362 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3363 (gst_base_sink_do_sync):
3364 Add some more debug info.
3366 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
3369 Add new vs7 project files and solution.
3371 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
3374 all files removed as they were out-dated.
3376 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
3378 * docs/random/release:
3380 * gst/gstbin.c: (gst_bin_init):
3381 * gst/gstbus.c: (gst_bus_new):
3383 * gst/gstpipeline.c: (gst_pipeline_init):
3384 use gst_bus_new(), improve logging, fix docs
3385 * win32/common/config.h:
3386 update for cvs build
3388 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
3391 up required version of automake to 1.7
3393 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
3395 * win32/common/libgstreamer.def:
3396 export gst_buffer_is_metadata_writable
3398 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
3400 * docs/gst/gstreamer-sections.txt:
3402 Add gst_event_replace() (#327001)
3404 2006-01-20 Wim Taymans <wim@fluendo.com>
3406 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3407 Make it actually compile too..
3409 2006-01-20 Wim Taymans <wim@fluendo.com>
3412 Clarify behaviour of _is_equal() when passing NULL parameters.
3414 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3416 Cleanups. Don't unref NULL caps.
3417 When setting the same caps, protect caps of the pad with
3419 Use full functionality of _is_equal() when comparing caps.
3421 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
3423 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3424 Don't loop infinitely if there are no buffers to present. Partially
3425 fixes #327197, but collectpads is just broken for reusing elements
3426 to do multiple encodes atm.
3428 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
3430 * tools/gst-inspect.c: (print_element_features):
3431 * tools/gst-xmlinspect.c: (main):
3432 URL_HANDLER is not a plugin feature we can search for in
3435 2006-01-19 Edward Hervey <edward@fluendo.com>
3437 * gst/gstelement.c: (gst_element_pads_activate):
3438 When activating, do src pads first, then sink pads.
3439 When de-activating, do sink pads first, then src pads.
3441 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3443 * docs/gst/gstreamer-sections.txt:
3444 Add gst_index_add_associationv to the docs
3446 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3451 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3452 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3453 Do some refactoring. Doesn't actually change functionality,
3454 but makes landing the DRAIN event easier later.
3456 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
3458 * docs/pwg/advanced-scheduling.xml:
3459 Update from 0.9.x to 0.10 API and make example a bit
3462 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3464 * docs/gst/gstreamer-sections.txt:
3465 Add gst_buffer_(is|make)_metadata_writable methods.
3467 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
3469 * docs/design/part-sparsestreams.txt:
3470 Update sparse streams doc, hopefully for greater clarity
3472 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
3474 * docs/design/part-events.txt:
3475 Remove mention of FILLER events.
3478 * docs/design/part-sparsestreams.txt:
3479 Write some things about using NEWSEGMENT to keep sparse streams
3482 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
3484 * gst/gstbin.c: (gst_bin_dispose):
3485 Guard gst_object_unref call against a NULL object (dispose
3486 can theoretically be called multiple times).
3488 2006-01-18 Wim Taymans <wim@fluendo.com>
3490 * gst/gstbin.c: (gst_bin_element_set_state):
3491 * gst/gstclock.c: (gst_clock_id_wait):
3492 Added some more debug info.
3494 * libs/gst/base/gstadapter.c:
3497 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3498 (gst_base_sink_do_sync), (gst_base_sink_chain):
3499 Added some comments.
3501 2006-01-18 Wim Taymans <wim@fluendo.com>
3503 * tests/check/Makefile.am:
3504 * tests/check/elements/fakesink.c: (chain_async_buffer),
3505 (chain_async), (chain_async_return), (GST_START_TEST),
3506 (fakesink_suite), (main):
3507 Added fakesink test that checks prerolling and clipping
3510 * tests/check/gst/gstutils.c: (GST_START_TEST):
3511 Make check run faster so that buildbots don't timeout.
3513 2006-01-18 Wim Taymans <wim@fluendo.com>
3515 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3516 (gst_base_sink_do_sync):
3518 When the sink finishes blocking on the preroll buffer, it can
3519 immediatly render it instead of rendering when the next buffer
3522 2006-01-18 Wim Taymans <wim@fluendo.com>
3524 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3525 (gst_base_sink_get_property), (gst_base_sink_do_sync),
3526 (gst_base_sink_chain):
3528 GST_ELEMENT_CLOCK and sync are protected with LOCK.
3529 Don't store _last_stop if the buffer is dropped.
3531 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
3533 * plugins/elements/gsttypefindelement.c:
3534 (gst_type_find_element_class_init):
3535 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3536 object method handler that sets the caps on the pad and we want
3537 that to happen before we emit the signal (fixes e.g. feeding a
3538 plain text file to decodebin).
3540 2006-01-18 Christian Schaller <Christian@fluendo.com>
3542 * gst/gstplugin.c: Add MPL and Proprietary as license options
3544 2006-01-18 Andy Wingo <wingo@pobox.com>
3546 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3547 symbol was exported before, it appears this was just an oversight.
3549 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3551 * gst/gstindex.c (gst_index_add_associationv): Changed int in
3552 prototype to gint. OK since this prototype was not in the header.
3554 2006-01-17 Andy Wingo <wingo@pobox.com>
3556 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3557 registry while we remove plugins.
3559 * tools/gst-inspect.c (print_element_info): Don't unref the
3560 factory arg, that should be the responsibility of whatever code
3561 received the ref. Fixes a double-free when called from
3562 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3563 (main): Unref the factory if we have one.
3564 (print_element_list): No change -- relies on the
3565 plugin_feature_list_free to free the list of features.
3567 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
3569 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3570 (gst_buffer_make_metadata_writable):
3572 * libs/gst/base/gstbasetransform.c:
3573 (gst_base_transform_prepare_output_buf):
3574 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3575 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3576 Replace gst_buffer_(make|is)_metadata_writable patch now
3577 that the release is out.
3579 2006-01-17 Andy Wingo <wingo@pobox.com>
3581 * gst/gstregistry.c: Reflow design comment. Update so as to speak
3582 in the present tense without reference to versions.
3584 * gst/gstregistry.c (gst_registry_add_plugin)
3585 (gst_registry_remove_plugin, gst_registry_remove_feature)
3586 (gst_registry_find_feature, gst_registry_get_feature_list)
3587 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3588 (gst_registry_lookup, gst_registry_scan_path)
3589 (_gst_registry_remove_cache_plugins)
3590 (gst_registry_get_feature_list_by_plugin): Add argument
3593 === release 0.10.2 ===
3595 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
3598 releasing 0.10.2, "If man is five"
3600 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
3604 * libs/gst/base/gstbasetransform.c:
3605 (gst_base_transform_prepare_output_buf):
3606 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3607 * tests/check/gst/gstbuffer.c: (gst_test_suite):
3608 Back out patch until after the release.
3610 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
3612 * gst/gstminiobject.c:
3613 Spelling fix in docs.
3614 * ChangeLog - remove conflict indicator
3616 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
3618 Reviewed By: Andy Wingo
3620 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3621 (gst_buffer_make_metadata_writable):
3623 Add gst_buffer_(is|make)_metadata_writable as analogues of
3624 gst_buffer_(is|make)_writable.
3626 * libs/gst/base/gstbasetransform.c:
3627 (gst_base_transform_prepare_output_buf):
3628 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3629 Use name gst_buffer_(is|make)_metadata_writable functions.
3631 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3632 Test gst_buffer_(is|make)_metadata_writable
3636 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
3638 * docs/manual/Makefile.am:
3639 don't do parallel make
3642 * win32/common/config.h.in:
3643 add generations for HOST_CPU and GST_MAJORMINOR
3644 * win32/common/config.h:
3645 commit generated result
3647 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
3649 * docs/manual/appendix-integration.xml:
3650 Update GNOME integration section to use gst_init_get_option_group()
3651 instead of the old popt stuff (#322911). Also, GNOME applications
3652 should now use gconf*sink and gconf*src instead of the old gconf
3655 2006-01-13 Stefan Kost <ensonic@users.sf.net>
3658 * docs/gst/gstreamer-docs.sgml:
3659 * docs/gst/gstreamer-sections.txt:
3660 * docs/libs/gstreamer-libs-sections.txt:
3661 add new API entries to the docs
3662 * libs/gst/controller/Makefile.am:
3663 * libs/gst/controller/gstcontroller.c:
3664 * libs/gst/controller/gstcontroller.h:
3665 * libs/gst/controller/gstcontrollerprivate.h:
3666 * libs/gst/controller/gsthelper.c:
3667 * libs/gst/controller/gstinterpolation.c:
3668 move private structs to private header
3670 gstreamer-0.7 -> gstreamer-0.10
3671 * tests/check/libs/struct_i386.h:
3672 remove private structs
3674 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
3676 * plugins/indexers/Makefile.am:
3677 Fixes as part of #317048
3679 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
3681 * plugins/indexers/Makefile.am:
3682 fix #316086 - compilation when mmap is missing
3684 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
3686 * libs/gst/base/gstbasesink.c:
3687 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
3688 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3689 * win32/common/config.h:
3690 added some defines GST_MAJORMINOR and HOST_CPU
3691 * win32/common/libgstbase.def:
3692 * win32/common/libgstreamer.def:
3693 added some exported functions.
3695 2006-01-12 Stefan Kost <ensonic@users.sf.net>
3697 * libs/gst/controller/gstcontroller.c:
3698 (gst_controlled_property_set_interpolation_mode),
3699 (gst_controlled_property_new):
3700 * libs/gst/controller/gstcontroller.h:
3701 * libs/gst/controller/gstinterpolation.c:
3702 (interpolate_none_get_string_value_array):
3703 make G_TYPE_STRING controlable
3705 2006-01-12 Stefan Kost <ensonic@users.sf.net>
3708 * tools/gst-feedback.1.in:
3709 * tools/gst-inspect.1.in:
3710 * tools/gst-launch.1.in:
3711 * tools/gst-md5sum.1.in:
3712 * tools/gst-typefind.1.in:
3713 * tools/gst-xmlinspect.1.in:
3714 * tools/gst-xmllaunch.1.in:
3715 cleanup man-pages, remove reference to gst-register, document env-vars
3717 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
3719 * gst/gstbuffer.c: (gst_buffer_span):
3720 gst_buffer_span should copy the timestamp of the first buffer
3721 if they were both originally overlapping subbuffers of the
3722 same parent, using the same logic as the 'slow copy' case.
3724 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
3726 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3727 Need to awaken ALL the pads when we pop a buffer, otherwise
3728 collectpads only works when there is 2 input streams.
3730 2006-01-11 Stefan Kost <ensonic@users.sf.net>
3732 * docs/random/ensonic/media-device-daemon.txt:
3735 fix doc example, add clarification
3736 * tools/gst-launch.1.in:
3737 add initial info about GST_PLUGIN_PATH, needs more work
3739 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
3741 * docs/manual/basics-bins.xml:
3742 * docs/manual/basics-elements.xml:
3743 * docs/manual/intro-basics.xml:
3744 Some more minor docs additions and updates.
3746 2006-01-11 Wim Taymans <wim@fluendo.com>
3748 * docs/manual/basics-bins.xml:
3749 * docs/manual/basics-elements.xml:
3750 Some small fixes as pointed out by Ser-ver on IRC.
3752 2006-01-10 Edward Hervey <edward@fluendo.com>
3754 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3755 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3756 the single-segment mode.
3758 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
3760 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3762 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3763 (gst_base_src_perform_seek), (gst_base_src_send_event),
3764 (gst_base_src_set_property), (gst_base_src_get_property),
3765 (gst_base_src_loop), (gst_base_src_start),
3766 (gst_base_src_activate_push):
3767 * libs/gst/base/gstbasesrc.h:
3768 Name (private) union; makes Sun's Forte compiler happy (#324900).
3770 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
3773 gst-register is gone.
3775 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
3777 * gst/gstvalue.c: (_gst_value_initialize):
3778 make the G_TYPE_DATE instantiation work if debug is disabled
3780 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
3782 * gst/gstmessage.c: (gst_message_parse_tag),
3783 (gst_message_parse_error), (gst_message_parse_warning):
3784 Don't crash when return location for error/warning debug
3785 string is NULL; add fact that return locations can be
3786 NULL to docs where appropriate.
3788 2006-01-05 Wim Taymans <wim@fluendo.com>
3790 * gst/gstplugin.c: (gst_plugin_load_file):
3791 Replace strdup by g_strdup.
3793 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
3795 * docs/pwg/advanced-types.xml:
3798 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
3800 submitted by: Abel Cheung
3804 Added Chinese (traditional) translation
3806 2006-01-04 Wim Taymans <wim@fluendo.com>
3808 * docs/manual/basics-pads.xml:
3809 * docs/plugins/Makefile.am:
3810 * docs/plugins/gstreamer-plugins-docs.sgml:
3811 * docs/plugins/gstreamer-plugins-sections.txt:
3812 * docs/pwg/advanced-clock.xml:
3813 * docs/pwg/advanced-scheduling.xml:
3814 * docs/pwg/advanced-types.xml:
3815 * plugins/elements/gstfdsink.c:
3816 * plugins/elements/gstfdsrc.c:
3817 * plugins/elements/gstfdsrc.h:
3818 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3819 * plugins/elements/gstidentity.h:
3820 * plugins/elements/gstqueue.h:
3821 * plugins/elements/gsttee.c:
3822 * plugins/elements/gsttee.h:
3823 * plugins/elements/gsttypefindelement.c:
3824 (gst_type_find_element_class_init):
3825 * plugins/elements/gsttypefindelement.h:
3826 Small updates to various docs.
3827 Added core plugins to docs.
3829 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3832 add a suppression for liboil's uninitialized variable
3834 2006-01-02 James Livingston <jrl at ids dot org dot au>
3836 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3839 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3840 macro, so that gcc doesn't complain if the -Wmissing-prototypes
3841 compiler switch is being used (#325429).
3843 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
3845 * gst/gstbin.c: (gst_bin_query):
3846 Disable duration query caching in bins until it gets
3847 fixed (see #324807).
3849 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
3851 * tools/gst-inspect.c: (print_element_properties_info):
3852 Handle properties of POINTER and BOXED type.
3854 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
3856 * gst/gst.c: (init_post):
3857 Init tags stuff and some other things before loading
3858 any static plugins (there may be other static plugins
3859 than just the GStreamer ones, and they may want to
3860 register their own tags or formats or whatever, and
3861 preferably without segfaulting).
3863 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3864 Print at least a warning in the debug logs if we drop a
3865 query just because we don't know how to adjust the value
3866 in the particular format.
3868 2005-12-24 David Schleef <ds@schleef.org>
3870 * tools/gstreamer-completion:
3871 Replacement for gst-complete written in sh and sed. Only
3872 completes names of features, but that's 90% of what I want
3873 it for. Properties are not available in registry.xml. (Maybe
3876 === release 0.10.1 ===
3878 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
3881 releasing 0.10.1, "Nollaig chridheil"
3883 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
3886 Add missing quote, should be make ERROR_CFLAGS="".
3888 2005-12-20 Wim Taymans <wim@fluendo.com>
3890 * docs/design/part-trickmodes.txt:
3891 More documentation on trickmodes.
3893 2005-12-20 Edward Hervey <edward@fluendo.com>
3895 * gst/gstcaps.c: (gst_static_caps_get_type):
3897 API addition: GST_TYPE_STATIC_CAPS
3898 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3899 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3900 * gst/gstpadtemplate.h:
3901 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3902 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3905 2005-12-18 Wim Taymans <wim@fluendo.com>
3907 * libs/gst/base/gstadapter.c:
3908 * libs/gst/base/gstadapter.h:
3909 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3910 (gst_base_sink_get_position):
3911 * libs/gst/base/gstbasesink.h:
3912 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3913 (gst_base_src_default_query), (gst_base_src_default_do_seek),
3914 (gst_base_src_do_seek), (gst_base_src_perform_seek),
3915 (gst_base_src_send_event), (gst_base_src_update_length),
3916 (gst_base_src_get_range), (gst_base_src_loop),
3917 (gst_base_src_start):
3918 * libs/gst/base/gstbasesrc.h:
3919 * libs/gst/base/gstbasetransform.h:
3920 * libs/gst/base/gstcollectpads.h:
3921 * libs/gst/base/gstpushsrc.c:
3922 * libs/gst/base/gstpushsrc.h:
3923 * libs/gst/dataprotocol/dataprotocol.c:
3924 * libs/gst/dataprotocol/dataprotocol.h:
3925 * libs/gst/net/gstnetclientclock.h:
3926 * libs/gst/net/gstnettimeprovider.h:
3927 Documentation updates.
3929 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
3931 * docs/manual/basics-helloworld.xml:
3932 Remove superfluous closing bracket in helloworld example.
3934 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
3936 * tools/gst-launch.1.in:
3937 Update gst-launch man page; add a section with useful
3938 environment variables. Fixes #323882.
3940 2005-12-16 Stefan Kost <ensonic@users.sf.net>
3943 * gst/gst_private.h:
3944 change some char* into char[]
3946 2005-12-16 Wim Taymans <wim@fluendo.com>
3948 * gst/gstregistryxml.c: (load_feature):
3950 Don't use g_object_unref on GstObjects so that we avoid
3951 leaks on unsafe glibs.
3953 2005-12-16 Wim Taymans <wim@fluendo.com>
3955 * gst/gstbin.c: (gst_bin_recalc_state):
3958 2005-12-16 Wim Taymans <wim@fluendo.com>
3961 Added make forever target for check.
3963 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
3965 * gst/gst.c: (init_post):
3966 make the registry cache file HOST_CPU-dependent
3968 2005-12-16 Andy Wingo <wingo@pobox.com>
3970 * plugins/elements/gstbufferstore.c
3971 (gst_buffer_store_cleared_func): Pay attention to g_list_append
3974 * tests/check/gst/gstobject.c
3975 (test_fake_object_name_threaded_unique): Pay attention to
3976 g_list_sort return value.
3978 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
3980 * tools/gst-feedback-m.m:
3981 Update for 0.9/0.10 (fixes #323870).
3983 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
3985 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3986 Fix lcopy for mini objects, the mini object needs to be ref'ed.
3988 * tests/check/gst/gstminiobject.c: (my_foo_init),
3989 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3990 (test_value_collection), (gst_mini_object_suite):
3991 Add test to ensure refcounts end up as expected when passing
3992 GstMiniObjects through g_object_get() and g_object_set().
3994 2005-12-14 Julien MOUTTE <julien@moutte.net>
3996 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3997 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3998 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3999 of collectpads. This version removes a lot of races without
4000 touching API/ABI. Yay !
4002 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
4004 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4005 Don't allow activation of a srcpad in pull_range if it has no
4007 Change some debug statements to be a little clearer
4009 * plugins/elements/gsttypefindelement.c:
4010 (gst_type_find_handle_src_query):
4011 Check that we have a peer before executing queries thereupon.
4013 * tests/examples/metadata/read-metadata.c: (message_loop):
4014 Use gst_bus_pop instead of gst_bus_poll when we just want it to
4015 immediately return us any available message with 0 timeout.
4017 2005-12-12 Michael Smith <msmith@fluendo.com>
4019 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4020 Don't unref factories after calling them.
4021 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4022 * plugins/elements/gsttypefindelement.c:
4023 (gst_type_find_element_chain):
4024 Free lists of factories after using them. Fixing typefinding memory
4027 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4029 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4030 (gst_plugin_feature_load):
4031 more meaningful debug output
4033 * tests/Makefile.am:
4034 * tests/old/examples/Makefile.am:
4035 make make distcheck happy again
4037 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4039 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4040 Catch the special case where we are operating chain-based,
4041 but the downstream peer pad has no chain function. Emit a
4042 custom error message in this case instead of letting the
4043 core generate one implying that this is some sort of core
4044 bug. It's not, it just means that whatever got plugged
4045 into the pipeline downstream when we announced the type
4046 can only operate pull-based, while our source can only
4047 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4048 Error string has not been marked for translation yet, as
4049 it probably needs some more work first.
4051 (gst_type_find_element_get_best_possibility):
4052 Add helper function to find the best of all available
4053 found possibilities that qualify given the min. threshold.
4055 (gst_type_find_element_handle_event):
4056 Fix the case where we get an EOS while still in TYPEFIND
4057 mode (we want to chose the best of all possible types,
4058 not just the first type that happens to be in our unsorted
4059 list of possible types).
4061 (gst_type_find_element_chain):
4062 Make sure we return GST_FLOW_ERROR when we errored out
4063 in stop_typefinding(); also, don't just find the best of
4064 all found type entries and then use the last examined
4065 type entry, but actually use the best entry.
4067 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4069 * tests/examples/typefind/typefind.c: (type_found):
4070 * tests/examples/xml/runxml.c: (xml_loaded):
4071 More gcc4 fixes and a mem leak fix.
4073 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4075 * tests/examples/xml/createxml.c: (object_saved):
4078 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4080 * tests/Makefile.am:
4081 enable the examples even more
4083 2005-12-12 Andy Wingo <wingo@pobox.com>
4085 * libs/gst/net/gstnettimeprovider.c
4086 (gst_net_time_provider_class_init, gst_net_time_provider_init)
4087 (gst_net_time_provider_set_property)
4088 (gst_net_time_provider_get_property):
4089 API addition: Export "active" as a GObject property.
4090 (gst_net_time_provider_thread): Only respond to time queries if
4091 the time provider is active.
4093 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4094 NetTimeProvider, preserving binary compat.
4096 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4098 * tests/examples/controller/audio-example.c: (main):
4099 * tests/examples/launch/Makefile.am:
4100 convert comments again
4102 2005-12-12 Wim Taymans <wim@fluendo.com>
4104 * libs/gst/base/gstpushsrc.c:
4107 2005-12-12 Wim Taymans <wim@fluendo.com>
4109 * docs/libs/gstreamer-libs-sections.txt:
4110 Added new symbol to docs.
4112 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4113 (gst_base_src_init), (gst_base_src_set_format),
4114 (gst_base_src_default_query), (gst_base_src_query),
4115 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4116 (gst_base_src_perform_seek), (gst_base_src_send_event),
4117 (gst_base_src_default_event), (gst_base_src_event_handler),
4118 (gst_base_src_set_property), (gst_base_src_get_property),
4119 (gst_base_src_wait), (gst_base_src_do_sync),
4120 (gst_base_src_update_length), (gst_base_src_get_range),
4121 (gst_base_src_check_get_range), (gst_base_src_loop),
4122 (gst_base_src_default_negotiate), (gst_base_src_start),
4123 (gst_base_src_activate_push), (gst_base_src_activate_pull),
4124 (gst_base_src_change_state):
4125 * libs/gst/base/gstbasesrc.h:
4126 Implement seeking to other formats than _BYTES.
4127 Implement more seeking methods correctly.
4129 Added query vmethod.
4130 Added do_seek vmethod to make life easier for subclasses
4132 API addition: gst_base_src_set_format()
4134 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4136 * tests/examples/Makefile.am:
4139 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4142 * docs/random/ensonic/media-device-daemon.txt:
4143 * tests/examples/controller/.cvsignore:
4144 * tests/examples/controller/Makefile.am:
4145 * tests/examples/controller/audio-example.c: (main):
4146 * tests/examples/helloworld/.cvsignore:
4147 * tests/examples/helloworld/Makefile.am:
4148 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4149 * tests/examples/launch/.cvsignore:
4150 * tests/examples/launch/Makefile.am:
4151 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4152 * tests/examples/metadata/.cvsignore:
4153 * tests/examples/metadata/Makefile.am:
4154 * tests/examples/metadata/read-metadata.c: (message_loop),
4155 (make_pipeline), (print_tag), (main):
4156 * tests/examples/queue/.cvsignore:
4157 * tests/examples/queue/Makefile.am:
4158 * tests/examples/queue/queue.c: (event_loop), (main):
4159 * tests/examples/typefind/.cvsignore:
4160 * tests/examples/typefind/Makefile.am:
4161 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4163 * tests/examples/xml/.cvsignore:
4164 * tests/examples/xml/Makefile.am:
4165 * tests/examples/xml/createxml.c: (object_saved), (main):
4166 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4167 * tests/old/examples/Makefile.am:
4168 * tests/old/examples/TODO:
4169 * tests/old/examples/controller/.cvsignore:
4170 * tests/old/examples/controller/Makefile.am:
4171 * tests/old/examples/controller/audio-example.c:
4172 * tests/old/examples/helloworld/.cvsignore:
4173 * tests/old/examples/helloworld/Makefile.am:
4174 * tests/old/examples/helloworld/helloworld.c:
4175 * tests/old/examples/launch/.cvsignore:
4176 * tests/old/examples/launch/Makefile.am:
4177 * tests/old/examples/launch/mp3parselaunch.c:
4178 * tests/old/examples/launch/mp3play:
4179 * tests/old/examples/manual/Makefile.am:
4180 * tests/old/examples/metadata/Makefile.am:
4181 * tests/old/examples/metadata/read-metadata.c:
4182 * tests/old/examples/queue/.cvsignore:
4183 * tests/old/examples/queue/Makefile.am:
4184 * tests/old/examples/queue/queue.c:
4185 * tests/old/examples/typefind/.cvsignore:
4186 * tests/old/examples/typefind/Makefile.am:
4187 * tests/old/examples/typefind/typefind.c:
4188 * tests/old/examples/xml/.cvsignore:
4189 * tests/old/examples/xml/Makefile.am:
4190 * tests/old/examples/xml/createxml.c:
4191 * tests/old/examples/xml/runxml.c:
4192 applied some simple fixing to some examples
4193 re-enabled the working examples
4195 2005-12-12 Wim Taymans <wim@fluendo.com>
4197 * gst/gstsegment.c: (gst_segment_init),
4198 (gst_segment_set_last_stop), (gst_segment_set_seek),
4199 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4200 (gst_segment_to_running_time):
4201 Added more documentation.
4202 Make sure the last_pos value is updated properly.
4203 Make sure to_stream_time and to_running_time don't
4204 operate on wrong values.
4206 * tests/check/gst/gstsegment.c: (GST_START_TEST):
4209 2005-12-12 Michael Smith <msmith@fluendo.com>
4211 * plugins/elements/gsttypefindelement.c: (free_entry),
4212 (gst_type_find_element_chain):
4213 Now that we're not leaking factories, make sure we keep references
4214 to them while we need them.
4216 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4218 * tests/check/gst/struct_i386.h:
4219 ifdef out the XML structs
4221 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4223 * gst/gstvalue.c: (gst_value_transform_double_fraction):
4224 floor is not needed, F is always positive; this obviates the
4225 need for adding -lm when building without libxml
4227 2005-12-12 Wim Taymans <wim@fluendo.com>
4229 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4230 Take current playback rate into account when reporting
4233 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4235 * docs/manual/mime-world.fig:
4236 Let's try this again, this time with a file that is
4237 actually in XFig format.
4239 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4241 * docs/manual/mime-world.fig:
4242 Add audioconvert element to diagram so that it
4243 matches the text and the code (fixes #319526).
4245 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4247 * docs/pwg/building-chainfn.xml:
4248 * docs/pwg/building-pads.xml:
4249 * docs/pwg/building-state.xml:
4250 * docs/pwg/other-source.xml:
4251 Update state change stuff for 0.10 (fixes #322969).
4253 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4255 * docs/manual/advanced-dataaccess.xml:
4256 * docs/manual/appendix-checklist.xml:
4257 * docs/manual/appendix-programs.xml:
4258 * docs/manual/basics-pads.xml:
4259 * docs/manual/highlevel-components.xml:
4260 * docs/manual/manual.xml:
4261 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4262 add converters in front of pipelines; remove curly
4263 brackets for threads stuff, they no longer exist; use
4264 GST_TYPE_FRACTION for framerates; update some pieces of
4265 code to 0.10, but there's plenty more to do.
4267 * docs/manual/appendix-porting.xml:
4268 Expand on asynchroneous state changes; s/0.9/0.10/;
4269 mention disappearance of gst_init_get_popt_table()
4272 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4274 * docs/faq/using.xml:
4275 Spider no longer exists, and neither does gst-launch-ext.
4276 Update examples to use decodebin and playbin and put
4277 converters in front of sinks (fixes #323726).
4279 2005-12-09 Michael Smith <msmith@fluendo.com>
4281 * plugins/elements/gsttypefindelement.c: (find_peek),
4282 (gst_type_find_element_chain):
4283 Fix leaking element factories in typefinding.
4284 Fix problem where we forgot about a probable type on non-seekable
4285 files, and thus later mis-typefound it.
4287 2005-12-09 Michael Smith <msmith@fluendo.com>
4289 * common/m4/gst-makecontext.m4:
4290 * common/m4/gst-mcsc.m4:
4292 * win32/common/config.h:
4293 * win32/common/config.h.in:
4294 Remove makecontext stuff; not used in 0.10 and causes problems on
4295 HPUX according to bug #322441
4297 2005-12-07 Wim Taymans <wim@fluendo.com>
4299 * tests/check/Makefile.am:
4300 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4302 * tests/check/libs/struct_i386.h:
4303 Added ABI check for libs
4305 2005-12-07 Wim Taymans <wim@fluendo.com>
4307 * tests/check/Makefile.am:
4308 And add the struct_i386.h to dist.
4310 2005-12-07 Wim Taymans <wim@fluendo.com>
4312 * tests/check/Makefile.am:
4313 * tests/check/gst/.cvsignore:
4314 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4316 * tests/check/gst/struct_i386.h:
4317 Added check for ABI compatibility.
4319 2005-12-07 Wim Taymans <wim@fluendo.com>
4321 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4322 (gst_fake_src_get_times), (gst_fake_src_create):
4323 Fix broken sync option, fixes #323259
4325 2005-12-07 Wim Taymans <wim@fluendo.com>
4330 * gst/gstcaps.c: (gst_caps_is_equal):
4331 Don't assert on NULL <--> X. Fixes #323260
4333 * gst/gstminiobject.c: (gst_mini_object_replace):
4334 If we're doing atomic operations, we might just as well use
4335 the proper way to get an atomic pointer.
4337 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4340 2005-12-07 Michael Smith <msmith@fluendo.com>
4342 * gst/parse/grammar.y:
4343 Remove handling of { } for threads.
4345 2005-12-06 David Schleef <ds@schleef.org>
4347 * libs/gst/base/gstbasetransform.c: speling fix.
4349 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
4351 * docs/libs/tmpl/gstdataprotocol.sgml:
4352 * docs/random/omega/testing/gstobject.c:
4356 * gst/gstelementfactory.c:
4359 * gst/gstghostpad.c:
4361 * gst/gstpadtemplate.c:
4362 * gst/gstregistryxml.c:
4364 * gst/gsttagsetter.c:
4365 * gst/gsttypefind.c:
4367 * libs/gst/base/gstbasesrc.c:
4368 * libs/gst/net/gstnetclientclock.c:
4369 * libs/gst/net/gstnettimeprovider.c:
4370 * plugins/elements/gstfakesrc.c:
4371 * plugins/elements/gstfdsrc.c:
4372 * plugins/elements/gstfilesrc.c:
4373 * plugins/elements/gstidentity.c:
4374 * plugins/elements/gstqueue.c:
4375 * plugins/elements/gsttypefindelement.c:
4376 * plugins/indexers/gstfileindex.c:
4377 * plugins/indexers/gstmemindex.c:
4378 * tests/check/gst/gsttag.c:
4379 * tests/old/examples/cutter/cutter.c:
4380 * tests/old/examples/mixer/mixer.c:
4381 * tests/old/examples/xml/runxml.c: (main):
4382 * tests/old/testsuite/caps/normalisation.c:
4383 * tests/old/testsuite/debug/global.c:
4384 * tests/old/testsuite/parse/parse1.c:
4385 * tools/gst-xmlinspect.c:
4386 * win32/common/dirent.c:
4389 === release 0.10.0 ===
4391 2005-12-05 <thomas (at) apestaart (dot) org>
4394 releasing 0.10.0, "Maroilles"
4396 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
4398 submitted by: Funda Wang <fundawang@linux.net.cn>
4402 added Chinese (Traditional) translation
4404 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
4406 * docs/gst/gstreamer-sections.txt:
4407 * docs/libs/tmpl/gstdataprotocol.sgml:
4408 * docs/random/thomasvs/TODO:
4413 2005-12-05 Andy Wingo <wingo@pobox.com>
4415 patch by: Wim Taymans <wim@fluendo.com>
4417 * libs/gst/base/gstbasetransform.c
4418 (gst_base_transform_prepare_output_buf)
4419 (gst_base_transform_buffer_alloc):
4420 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4421 alloc_buffer_and_set_caps.
4423 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4424 set_caps on the source pad.
4425 (gst_pad_alloc_buffer_and_set_caps): New function, does what
4426 alloc_buffer used to do. Fixes #322874.
4428 * docs/gst/gstreamer-sections.txt:
4429 * docs/design/part-negotiation.txt:
4430 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4433 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
4435 patch by: Sebastien Moutte
4438 * win32/common/config.h.in:
4439 * win32/vs6/libgstcontroller.dsp:
4442 2005-12-05 Wim Taymans <wim@fluendo.com>
4444 * gst/gstcaps.c: (gst_caps_is_equal):
4445 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4446 (gst_fake_src_create):
4447 Back out previous code changes, leave doc updates, file bugs
4450 2005-12-05 Wim Taymans <wim@fluendo.com>
4452 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4453 (gst_fake_src_get_times), (gst_fake_src_create):
4454 * plugins/elements/gstfakesrc.h:
4455 Fix broken sync code.
4457 2005-12-05 Wim Taymans <wim@fluendo.com>
4459 * gst/gstcaps.c: (gst_caps_is_equal):
4460 Comparing NULL against !NULL yields different caps, not a
4463 2005-12-05 Wim Taymans <wim@fluendo.com>
4465 * gst/gstpipeline.c:
4466 Fix small typo in docs.
4468 2005-12-05 Andy Wingo <wingo@pobox.com>
4470 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
4472 * gst/gst.c (init_post): remove hard-coded 0.9 location for
4473 registries/plugins with a MAJORMINOR one.
4474 (plugin_desc): Rename library from gstcoreleements to
4475 staticelements. Fixes #323222.
4477 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
4479 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4480 Change debug category to 'collectpads' from 'collect_pads'
4483 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
4485 patch by: Sebastien Moutte
4487 * libs/gst/controller/gstinterpolation.c:
4488 use convert function for uint64/double
4489 * win32/vs6/libgstcontroller.dsp:
4492 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
4494 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4495 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4497 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4498 add tests that seem to show that the guint64/gdouble conversions
4501 2005-12-02 Wim Taymans <wim@fluendo.com>
4503 * gst/gstregistry.c: (gst_registry_add_path):
4504 * gst/gstregistry.h:
4505 * gst/gstregistryxml.c:
4508 2005-12-02 Wim Taymans <wim@fluendo.com>
4510 * gst/gstutils.c: (gst_util_uint64_scale_int64),
4511 (gst_util_uint64_scale_int):
4514 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4517 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4520 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
4523 * win32/common/config.h:
4524 * win32/vs6/gstreamer.dsw:
4525 * win32/vs6/libgstcoreelements.dsp:
4526 * win32/vs6/libgstelements.dsp:
4527 renamed core elements plugin
4529 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
4531 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4533 do piece-wise major/minor comparison so 0.9 < 0.10
4534 also allow .exe extensions for tools
4536 2005-12-02 Michael Smith <msmith@fluendo.com>
4539 Escape a % to make gtkdoc happier; bug 322958.
4541 === release 0.9.7 ===
4543 2005-12-01 <thomas (at) apestaart (dot) org>
4546 releasing 0.9.7, "My Dog Has No Nose"
4548 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4550 * common/gst-xmlinspect.py:
4552 * docs/libs/tmpl/gstdataprotocol.sgml:
4553 * docs/random/release:
4572 * win32/common/config.h:
4573 * win32/common/config.h.in:
4574 * win32/vs6/gst_inspect.dsp:
4575 * win32/vs6/gst_launch.dsp:
4576 * win32/vs6/libgstbase.dsp:
4577 * win32/vs6/libgstelements.dsp:
4578 * win32/vs6/libgstreamer.dsp:
4579 * win32/vs7/GStreamer.vcproj:
4580 * win32/vs7/gst-inspect.vcproj:
4581 * win32/vs7/gst-launch.vcproj:
4582 * win32/vs7/libgstbase.vcproj:
4583 bump GST_MAJORMINOR to 0.10
4584 reset libtool version
4586 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4590 Added Bulgarian translation by (Alexander Shopov)
4592 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4594 * tests/check/gst/gstplugin.c:
4597 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4599 * common/gst-xmlinspect.py:
4600 * common/gtk-doc-plugins.mak:
4603 * docs/gst/Makefile.am:
4604 * docs/gst/gstreamer-docs.sgml:
4605 * docs/gst/gstreamer-sections.txt:
4606 * docs/gst/gstreamer.types:
4607 * docs/gst/gstreamer.types.in:
4608 * docs/plugins/Makefile.am:
4609 * docs/plugins/gstreamer-plugins-docs.sgml:
4610 * docs/plugins/gstreamer-plugins-sections.txt:
4611 * docs/plugins/gstreamer-plugins.types:
4612 * docs/plugins/inspect.stamp:
4613 * docs/plugins/inspect/plugin-coreelements.xml:
4614 * docs/plugins/inspect/plugin-coreindexers.xml:
4615 * docs/plugins/scanobj-build.stamp:
4616 * gstreamer.spec.in:
4617 * plugins/elements/Makefile.am:
4618 * plugins/elements/gstelements.c:
4619 * plugins/elements/gstfakesink.c:
4620 * plugins/elements/gstfakesrc.c:
4621 * plugins/elements/gstfilesink.c:
4622 * plugins/elements/gstfilesrc.c:
4623 * plugins/elements/gstqueue.c:
4624 * plugins/indexers/Makefile.am:
4625 * plugins/indexers/gstindexers.c:
4626 document core plugins in a separate document just like all the
4628 rename these plugins to something starting with core
4630 2005-12-01 Andy Wingo <wingo@pobox.com>
4632 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4633 padding here before, but it missed the commit.
4635 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4637 * libs/gst/controller/gstinterpolation.c:
4638 whitespace prices have crashed, we should feel free to use some now
4639 use gst_guint64_to_gdouble
4641 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4643 * libs/gst/controller/gstcontroller.c:
4644 * libs/gst/controller/gsthelper.c:
4645 * libs/gst/controller/gstinterpolation.c:
4646 * libs/gst/controller/lib.c:
4647 wrap config.h include
4649 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4651 * docs/gst/gstreamer-sections.txt:
4654 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
4656 * plugins/elements/gstelements.c:
4657 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4658 (gst_fd_sink__class_init), (gst_fd_sink__init),
4659 (gst_fd_sink__chain), (gst_fd_sink__set_property),
4660 (gst_fd_sink__get_property):
4661 * plugins/elements/gstfdsink.h:
4662 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4663 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4664 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4665 (gst_fd_src_unlock), (gst_fd_src_set_property),
4666 (gst_fd_src_get_property), (gst_fd_src_create),
4667 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4668 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4669 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4670 (gst_fd_src_uri_handler_init):
4671 * plugins/elements/gstfdsrc.h:
4672 * plugins/elements/gstqueue.c: (gst_queue_get_type):
4675 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4677 * docs/gst/Makefile.am:
4678 * docs/gst/gstreamer.types.in:
4682 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4688 * gst/gstregistry.h:
4689 * tests/benchmarks/complexity.c:
4690 * tests/benchmarks/mass-elements.c:
4691 * tests/check/Makefile.am:
4692 * tools/Makefile.am:
4693 * tools/gst-inspect.c:
4694 * tools/gst-xmlinspect.c:
4695 various fixes to make
4696 --disable-nls --disable-registry --disable-loadsave
4697 --disable-parse --disable-gst-debug
4698 work and get the core .so down to 360444 bytes after stripping
4700 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4705 * docs/random/thomasvs/TODO:
4706 * tests/Makefile.am:
4710 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4712 * win32/GStreamer.vcproj:
4715 * win32/Makefile.inspect:
4716 * win32/Makefile.launch:
4717 * win32/Makefile.register:
4719 * win32/gst-inspect.vcproj:
4720 * win32/gst-launch.vcproj:
4721 * win32/gst-register.vcproj:
4722 * win32/gstelements.vcproj:
4723 * win32/gstgetbits.def:
4724 * win32/gstgetbits.vcproj:
4725 * win32/gstreamer-dbg.def:
4726 * win32/gstreamer.def:
4727 * win32/libgstbase.def:
4728 * win32/libgstbase.vcproj:
4729 * win32/link_oldruntime.c:
4734 move even more stuff, win32/ is nice and clean now
4736 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4738 * libs/gst/control/.cvsignore:
4743 * win32/gstbytestream.def:
4744 * win32/gstbytestream.vcproj:
4745 * win32/gstconfig.h:
4746 * win32/gstenumtypes.c:
4747 * win32/gstenumtypes.h:
4748 * win32/gstoptimalscheduler.vcproj:
4749 * win32/gstversion.h:
4751 * win32/testsuite/bins.vcproj:
4752 * win32/testsuite/bytestream.vcproj:
4753 * win32/testsuite/caps.vcproj:
4754 * win32/testsuite/cleanup.vcproj:
4755 * win32/testsuite/clock.vcproj:
4756 * win32/testsuite/debug.vcproj:
4757 * win32/testsuite/dlopen.vcproj:
4758 * win32/testsuite/dynparams.vcproj:
4759 * win32/testsuite/elements.vcproj:
4760 * win32/testsuite/ghostpads.vcproj:
4761 * win32/testsuite/indexers.vcproj:
4762 * win32/testsuite/negotiation.vcproj:
4763 * win32/testsuite/parse.vcproj:
4764 * win32/testsuite/plugin.vcproj:
4765 * win32/testsuite/refcounting.vcproj:
4766 * win32/testsuite/schedulers.vcproj:
4767 * win32/testsuite/states.vcproj:
4768 * win32/testsuite/tags.vcproj:
4769 * win32/testsuite/threads.vcproj:
4770 remove old win32 stuff that isn't maintained and should be
4773 2005-11-30 Andy Wingo <wingo@pobox.com>
4775 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4776 loading the gst.interfaces python module bork.
4778 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4779 available since GLib 2.2. Fixes #318031.
4781 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
4785 * check/Makefile.am:
4786 * check/elements/.cvsignore:
4787 * check/elements/fakesrc.c:
4788 * check/elements/fdsrc.c:
4789 * check/elements/identity.c:
4790 * check/generic/.cvsignore:
4791 * check/generic/states.c:
4792 * check/gst-libs/.cvsignore:
4793 * check/gst-libs/controller.c:
4794 * check/gst-libs/gdp.c:
4795 * check/gst/.cvsignore:
4796 * check/gst/capslist.h:
4798 * check/gst/gstbin.c:
4799 * check/gst/gstbuffer.c:
4800 * check/gst/gstbus.c:
4801 * check/gst/gstcaps.c:
4802 * check/gst/gstelement.c:
4803 * check/gst/gstevent.c:
4804 * check/gst/gstghostpad.c:
4805 * check/gst/gstiterator.c:
4806 * check/gst/gstmessage.c:
4807 * check/gst/gstminiobject.c:
4808 * check/gst/gstobject.c:
4809 * check/gst/gstpad.c:
4810 * check/gst/gstpipeline.c:
4811 * check/gst/gstplugin.c:
4812 * check/gst/gstsegment.c:
4813 * check/gst/gststructure.c:
4814 * check/gst/gstsystemclock.c:
4815 * check/gst/gsttag.c:
4816 * check/gst/gstutils.c:
4817 * check/gst/gstvalue.c:
4818 * check/net/.cvsignore:
4819 * check/net/gstnetclientclock.c:
4820 * check/net/gstnettimeprovider.c:
4821 * check/pipelines/.cvsignore:
4822 * check/pipelines/cleanup.c:
4823 * check/pipelines/simple_launch_lines.c:
4824 * check/pipelines/stress.c:
4825 * check/states/.cvsignore:
4826 * check/states/sinks.c:
4828 * examples/Makefile.am:
4829 * examples/appreader/.cvsignore:
4830 * examples/appreader/Makefile.am:
4831 * examples/appreader/appreader.c:
4832 * examples/controller/.cvsignore:
4833 * examples/controller/Makefile.am:
4834 * examples/controller/audio-example.c:
4835 * examples/cutter/.cvsignore:
4836 * examples/cutter/Makefile.am:
4837 * examples/cutter/cutter.c:
4838 * examples/cutter/cutter.h:
4839 * examples/events/Makefile.am:
4840 * examples/events/seek.c:
4841 * examples/helloworld/.cvsignore:
4842 * examples/helloworld/Makefile.am:
4843 * examples/helloworld/helloworld.c:
4844 * examples/helloworld2/.cvsignore:
4845 * examples/helloworld2/Makefile.am:
4846 * examples/helloworld2/helloworld2.c:
4847 * examples/launch/.cvsignore:
4848 * examples/launch/Makefile.am:
4849 * examples/launch/mp3parselaunch.c:
4850 * examples/launch/mp3play:
4851 * examples/manual/.cvsignore:
4852 * examples/manual/Makefile.am:
4853 * examples/manual/extract.pl:
4854 * examples/metadata/Makefile.am:
4855 * examples/metadata/read-metadata.c:
4856 * examples/mixer/.cvsignore:
4857 * examples/mixer/Makefile.am:
4858 * examples/mixer/mixer.c:
4859 * examples/mixer/mixer.h:
4860 * examples/pingpong/.cvsignore:
4861 * examples/pingpong/Makefile.am:
4862 * examples/pingpong/pingpong.c:
4863 * examples/plugins/.cvsignore:
4864 * examples/plugins/Makefile.am:
4865 * examples/plugins/example.c:
4866 * examples/plugins/example.h:
4867 * examples/pwg/.cvsignore:
4868 * examples/pwg/Makefile.am:
4869 * examples/pwg/extract.pl:
4870 * examples/queue/.cvsignore:
4871 * examples/queue/Makefile.am:
4872 * examples/queue/queue.c:
4873 * examples/queue2/.cvsignore:
4874 * examples/queue2/Makefile.am:
4875 * examples/queue2/queue2.c:
4876 * examples/queue3/.cvsignore:
4877 * examples/queue3/Makefile.am:
4878 * examples/queue3/queue3.c:
4879 * examples/queue4/.cvsignore:
4880 * examples/queue4/Makefile.am:
4881 * examples/queue4/queue4.c:
4882 * examples/retag/.cvsignore:
4883 * examples/retag/Makefile.am:
4884 * examples/retag/retag.c:
4885 * examples/retag/transcode.c:
4886 * examples/thread/.cvsignore:
4887 * examples/thread/Makefile.am:
4888 * examples/thread/thread.c:
4889 * examples/typefind/.cvsignore:
4890 * examples/typefind/Makefile.am:
4891 * examples/typefind/typefind.c:
4892 * examples/xml/.cvsignore:
4893 * examples/xml/Makefile.am:
4894 * examples/xml/createxml.c:
4895 * examples/xml/runxml.c:
4896 * tests/Makefile.am:
4897 * tests/check/Makefile.am:
4898 * testsuite/.cvsignore:
4899 * testsuite/Makefile.am:
4901 * testsuite/caps/.cvsignore:
4902 * testsuite/caps/Makefile.am:
4903 * testsuite/caps/app_fixate.c:
4904 * testsuite/caps/audioscale.c:
4905 * testsuite/caps/caps.c:
4906 * testsuite/caps/caps.h:
4907 * testsuite/caps/caps_strings:
4908 * testsuite/caps/compatibility.c:
4909 * testsuite/caps/deserialize.c:
4910 * testsuite/caps/enumcaps.c:
4911 * testsuite/caps/eratosthenes.c:
4912 * testsuite/caps/filtercaps.c:
4913 * testsuite/caps/fixed.c:
4914 * testsuite/caps/fraction-convert.c:
4915 * testsuite/caps/fraction-multiply-and-zero.c:
4916 * testsuite/caps/intersect2.c:
4917 * testsuite/caps/intersection.c:
4918 * testsuite/caps/normalisation.c:
4919 * testsuite/caps/random.c:
4920 * testsuite/caps/renegotiate.c:
4921 * testsuite/caps/sets.c:
4922 * testsuite/caps/simplify.c:
4923 * testsuite/caps/string-conversions.c:
4924 * testsuite/caps/structure.c:
4925 * testsuite/caps/subtract.c:
4926 * testsuite/caps/union.c:
4927 * testsuite/debug/.cvsignore:
4928 * testsuite/debug/Makefile.am:
4929 * testsuite/debug/category.c:
4930 * testsuite/debug/commandline.c:
4931 * testsuite/debug/global.c:
4932 * testsuite/debug/output.c:
4933 * testsuite/debug/printf_extension.c:
4934 * testsuite/dlopen/.cvsignore:
4935 * testsuite/dlopen/Makefile.am:
4936 * testsuite/dlopen/dlopen_gst.c:
4937 * testsuite/dlopen/loadgst.c:
4938 * testsuite/elements/.cvsignore:
4939 * testsuite/elements/Makefile.am:
4940 * testsuite/elements/gst-inspect-check.in:
4941 * testsuite/elements/struct_i386.h:
4942 * testsuite/elements/struct_size.c:
4943 * testsuite/indexers/.cvsignore:
4944 * testsuite/indexers/Makefile.am:
4945 * testsuite/indexers/cache1.c:
4946 * testsuite/indexers/indexdump.c:
4947 * testsuite/parse/.cvsignore:
4948 * testsuite/parse/Makefile.am:
4949 * testsuite/parse/parse1.c:
4950 * testsuite/parse/parse2.c:
4951 * testsuite/plugin/.cvsignore:
4952 * testsuite/plugin/Makefile.am:
4953 * testsuite/plugin/README:
4954 * testsuite/plugin/dynamic.c:
4955 * testsuite/plugin/linked.c:
4956 * testsuite/plugin/loading.c:
4957 * testsuite/plugin/registry.c:
4958 * testsuite/plugin/static.c:
4959 * testsuite/plugin/static2.c:
4960 * testsuite/plugin/testplugin.c:
4961 * testsuite/plugin/testplugin2.c:
4962 * testsuite/plugin/testplugin2_s.c:
4963 * testsuite/plugin/testplugin_s.c:
4964 * testsuite/refcounting/.cvsignore:
4965 * testsuite/refcounting/Makefile.am:
4966 * testsuite/refcounting/bin.c:
4967 * testsuite/refcounting/element.c:
4968 * testsuite/refcounting/element_pad.c:
4969 * testsuite/refcounting/mainloop.c:
4970 * testsuite/refcounting/mem.c:
4971 * testsuite/refcounting/mem.h:
4972 * testsuite/refcounting/object.c:
4973 * testsuite/refcounting/pad.c:
4974 * testsuite/refcounting/sched.c:
4975 * testsuite/refcounting/thread.c:
4976 * testsuite/states/.cvsignore:
4977 * testsuite/states/Makefile.am:
4978 * testsuite/states/bin.c:
4979 * testsuite/states/locked.c:
4980 * testsuite/states/parent.c:
4981 * testsuite/threads/.cvsignore:
4982 * testsuite/threads/159566.c:
4983 * testsuite/threads/159852.c:
4984 * testsuite/threads/Makefile.am:
4985 * testsuite/threads/queue.c:
4986 * testsuite/threads/signals.c:
4987 * testsuite/threads/staticrec.c:
4988 * testsuite/threads/thread.c:
4989 * testsuite/threads/threadb.c:
4990 * testsuite/threads/threadc.c:
4991 * testsuite/threads/threadd.c:
4992 * testsuite/threads/threade.c:
4993 * testsuite/threads/threadf.c:
4994 * testsuite/threads/threadg.c:
4995 * testsuite/threads/threadh.c:
4996 * testsuite/threads/threadi.c:
4997 move all of these under tests
4999 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5002 * tests/Makefile.am:
5005 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5007 * docs/gst/gstreamer-sections.txt:
5008 * tests/sched/.cvsignore:
5009 * tests/sched/Makefile.am:
5010 * tests/sched/cases/(fs-fs).xml:
5011 * tests/sched/cases/(fs-i-fs).xml:
5012 * tests/sched/cases/(fs-i-i-fs).xml:
5013 * tests/sched/cases/(fs-i-q[i-fs]).xml:
5014 * tests/sched/dynamic-pipeline.c:
5015 * tests/sched/interrupt1.c:
5016 * tests/sched/interrupt2.c:
5017 * tests/sched/interrupt3.c:
5018 * tests/sched/runtestcases:
5019 * tests/sched/runxml.c:
5020 * tests/sched/sched-stress.c:
5021 * tests/sched/sort.c:
5022 * tests/sched/testcases:
5023 * tests/sched/testcases1.tc:
5024 * tests/seeking/.cvsignore:
5025 * tests/seeking/Makefile.am:
5026 * tests/seeking/seeking1.c:
5027 * tests/threadstate/.cvsignore:
5028 * tests/threadstate/Makefile.am:
5029 * tests/threadstate/test1.c:
5030 * tests/threadstate/test2.c:
5031 * tests/threadstate/threadstate1.c:
5032 * tests/threadstate/threadstate2.c:
5033 * tests/threadstate/threadstate3.c:
5034 * tests/threadstate/threadstate4.c:
5035 * tests/threadstate/threadstate5.c:
5036 remove obsolete tests
5038 * tests/bench-complexity.scm:
5039 * tests/bench-mass_elements.scm:
5040 * tests/complexity.c:
5041 * tests/complexity.gnuplot:
5042 * tests/instantiate/.cvsignore:
5043 * tests/instantiate/Makefile.am:
5044 * tests/instantiate/caps.c:
5045 * tests/mass_elements.c:
5046 * tests/network-clock-utils.scm:
5047 * tests/network-clock.scm:
5049 First pass at cleaning up tests/ dir before moving the rest
5050 Combined with CVS surgery
5052 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5055 queue has moved, update
5057 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5059 * docs/gst/gstreamer-sections.txt:
5060 remove double entries from the docs
5061 * gst/gst_private.h:
5062 * gst/gstinfo.c: (_gst_debug_init):
5063 remove the THREAD debug category
5067 * docs/gst/gstreamer.types:
5068 * plugins/elements/gstqueue.c: (gst_queue_get_type),
5069 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5070 completely move queue and fix up debugging categories
5072 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5074 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5075 make initialization portable, using LL is not
5077 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5079 * win32/common/gstconfig.h:
5082 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5084 * win32/common/libgstreamer.def:
5085 rename symbols; sort base section
5087 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5089 * gst/gstclock.c: (do_linear_regression):
5090 remove crack non-portable handrolled DEBUG macro
5092 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5094 * docs/random/release:
5096 * win32/common/gstenumtypes.c: (register_gst_object_flags),
5097 (gst_object_flags_get_type), (register_gst_bin_flags),
5098 (gst_bin_flags_get_type), (register_gst_buffer_flag),
5099 (gst_buffer_flag_get_type), (register_gst_bus_flags),
5100 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5101 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5102 (gst_caps_flags_get_type), (register_gst_clock_return),
5103 (gst_clock_return_get_type), (register_gst_clock_entry_type),
5104 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5105 (gst_clock_flags_get_type), (register_gst_state),
5106 (gst_state_get_type), (register_gst_state_change_return),
5107 (gst_state_change_return_get_type), (register_gst_state_change),
5108 (gst_state_change_get_type), (register_gst_element_flags),
5109 (gst_element_flags_get_type), (register_gst_core_error),
5110 (gst_core_error_get_type), (register_gst_library_error),
5111 (gst_library_error_get_type), (register_gst_resource_error),
5112 (gst_resource_error_get_type), (register_gst_stream_error),
5113 (gst_stream_error_get_type), (register_gst_event_type_flags),
5114 (gst_event_type_flags_get_type), (register_gst_event_type),
5115 (gst_event_type_get_type), (register_gst_seek_type),
5116 (gst_seek_type_get_type), (register_gst_seek_flags),
5117 (gst_seek_flags_get_type), (register_gst_format),
5118 (gst_format_get_type), (register_gst_index_certainty),
5119 (gst_index_certainty_get_type), (register_gst_index_entry_type),
5120 (gst_index_entry_type_get_type),
5121 (register_gst_index_lookup_method),
5122 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5123 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5124 (gst_index_resolver_method_get_type), (register_gst_index_flags),
5125 (gst_index_flags_get_type), (register_gst_debug_level),
5126 (gst_debug_level_get_type), (register_gst_debug_color_flags),
5127 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5128 (gst_iterator_result_get_type), (register_gst_iterator_item),
5129 (gst_iterator_item_get_type), (register_gst_message_type),
5130 (gst_message_type_get_type), (register_gst_mini_object_flags),
5131 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5132 (gst_pad_link_return_get_type), (register_gst_flow_return),
5133 (gst_flow_return_get_type), (register_gst_activate_mode),
5134 (gst_activate_mode_get_type), (register_gst_pad_direction),
5135 (gst_pad_direction_get_type), (register_gst_pad_flags),
5136 (gst_pad_flags_get_type), (register_gst_pad_presence),
5137 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5138 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5139 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5140 (gst_plugin_error_get_type), (register_gst_plugin_flags),
5141 (gst_plugin_flags_get_type), (register_gst_rank),
5142 (gst_rank_get_type), (register_gst_query_type),
5143 (gst_query_type_get_type), (register_gst_tag_merge_mode),
5144 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5145 (gst_tag_flag_get_type), (register_gst_task_state),
5146 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5147 (gst_alloc_trace_flags_get_type),
5148 (register_gst_type_find_probability),
5149 (gst_type_find_probability_get_type), (register_gst_uri_type),
5150 (gst_uri_type_get_type), (register_gst_parse_error),
5151 (gst_parse_error_get_type):
5152 * win32/common/gstenumtypes.h:
5153 * win32/common/gstversion.h:
5154 update visual studio generated files
5156 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5158 * win32/vs6/libgstbase.dsp:
5159 * win32/vs6/libgstelements.dsp:
5160 update project files for new locations
5162 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5167 reinstate and update
5172 * docs/random/LICENSE:
5175 2005-11-30 Edward Hervey <edward@fluendo.com>
5177 * gst/gsttypefind.c: (gst_type_find_register):
5178 * gst/gsttypefind.h:
5179 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5180 (gst_type_find_factory_dispose):
5181 * gst/gsttypefindfactory.h:
5182 Fix memory leak in GstTypeFindFactory.
5184 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5187 * plugins/elements/Makefile.am:
5188 * plugins/elements/gstelements.c:
5189 * plugins/elements/gstqueue.c:
5190 move queue from core to the elements plugin
5192 2005-11-29 Andy Wingo <wingo@pobox.com>
5194 * libs/gst/base/gstbasetransform.h:
5195 * libs/gst/base/gstbasesrc.h:
5196 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5198 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5199 of pointers by which to pad very extensible base classes (like the
5200 ones in libs/gst/base).
5202 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5204 * docs/gst/gstreamer-docs.sgml:
5205 * docs/gst/gstreamer-sections.txt:
5206 * docs/libs/gstreamer-libs-docs.sgml:
5207 * docs/libs/gstreamer-libs-sections.txt:
5208 moving documentation from core to lib
5210 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5212 * check/Makefile.am:
5214 * docs/gst/Makefile.am:
5216 * gst/base/.cvsignore:
5217 * gst/base/Makefile.am:
5219 * gst/base/gstadapter.c:
5220 * gst/base/gstadapter.h:
5221 * gst/base/gstbasesink.c:
5222 * gst/base/gstbasesink.h:
5223 * gst/base/gstbasesrc.c:
5224 * gst/base/gstbasesrc.h:
5225 * gst/base/gstbasetransform.c:
5226 * gst/base/gstbasetransform.h:
5227 * gst/base/gstcollectpads.c:
5228 * gst/base/gstcollectpads.h:
5229 * gst/base/gstpushsrc.c:
5230 * gst/base/gstpushsrc.h:
5231 * gst/base/gsttypefindhelper.c:
5232 * gst/base/gsttypefindhelper.h:
5233 * gst/check/Makefile.am:
5234 * gst/check/gstcheck.c:
5235 * gst/check/gstcheck.h:
5236 * gst/net/Makefile.am:
5238 * gst/net/gstnetclientclock.c:
5239 * gst/net/gstnetclientclock.h:
5240 * gst/net/gstnettimepacket.c:
5241 * gst/net/gstnettimepacket.h:
5242 * gst/net/gstnettimeprovider.c:
5243 * gst/net/gstnettimeprovider.h:
5244 * libs/gst/Makefile.am:
5245 * libs/gst/base/Makefile.am:
5246 * libs/gst/base/gstbasetransform.c:
5247 * libs/gst/check/Makefile.am:
5248 * plugins/elements/Makefile.am:
5250 CVS surgery + support to move base, check, and net out of gst
5253 2005-11-29 Andy Wingo <wingo@pobox.com>
5255 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5257 * gst/gststructure.h (struct _GstStructure): Only one pointer of
5260 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5262 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5264 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5266 * gst/gstobject.h: (struct _GstObject): Only one pointer of
5267 padding; reduces object size by about 30%. We don't expect
5268 anything else to go into gstobject.
5270 * gst/gstminiobject.h (struct _GstMiniObject)
5271 (struct _GstMiniObjectClass): Only one pointer of padding; the
5272 payload is only a pointer and two ints anyway. For the class there
5273 are only two methods as well.
5275 * gst/gstelement.h (struct _GstElementClass): Removed
5276 the state_changed signal callback, it is not used.
5278 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5280 * docs/gst/gstreamer.types:
5281 fix includes, though they are a little dinky
5283 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5285 * check/Makefile.am:
5286 look in the right place for elements, a lot more chance of
5289 remove indexers and elements subdirs
5290 * plugins/Makefile.am:
5291 make indexers conditional
5293 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5297 * plugins/elements/Makefile.am:
5298 * plugins/elements/gstcapsfilter.c:
5299 * plugins/elements/gstfilesink.c:
5300 * plugins/elements/gstfilesrc.c:
5301 * plugins/elements/gstidentity.c:
5302 * plugins/indexers/Makefile.am:
5303 do CVS surgery and related build fixery to move elements
5304 and indexers in a new gstreamer/plugins directory, out of the
5307 2005-11-29 Andy Wingo <wingo@pobox.com>
5309 * check/Makefile.am:
5310 * pkgconfig/gstreamer-net-uninstalled.pc.in:
5311 * pkgconfig/gstreamer-net.pc.in:
5312 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5315 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5317 * tools/Makefile.am:
5318 * tools/gst-complete.1.in:
5319 * tools/gst-complete.c:
5320 * tools/gst-compprep.1.in:
5321 * tools/gst-compprep.c:
5322 removing -compprep and -complete
5324 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5326 * gst/gstevent.c: (gst_event_new_new_segment),
5327 (gst_event_parse_new_segment):
5329 fix #320529 - clean up new_segment API and structure.
5330 Let's hope everyone was using the methods, and not the structure.
5332 2005-11-29 Edward Hervey <edward@fluendo.com>
5334 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5335 (gst_base_sink_event), (gst_base_sink_do_sync),
5336 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5337 Properly handle non GST_FORMAT_TIME segment
5338 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5339 Properly handle non GST_FORMAT_TIME segment
5341 This function is valid if the accumulator is 0 and the format
5342 is different from the requested format.
5344 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
5346 * docs/gst/gstreamer-sections.txt:
5347 Add gst_query_new_seeking and gst_query_parse_seeking to the
5350 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
5352 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5353 Treat a pad alloc with new caps the same as if we were not
5354 negotiated, in order to allow a changing upstream output
5355 to produce a new format of data.
5357 2005-11-29 Edward Hervey <edward@fluendo.com>
5359 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5360 (gst_base_transform_event), (gst_base_transform_eventfunc):
5361 The event virtual method is now properly implemented, with a default
5363 Sub classes should call the parent_class event method. They should
5364 return FALSE if they had a problem handling the given event, or don't
5365 want GstBaseTransform to send that even downstream
5366 * gst/elements/gstidentity.c: (gst_identity_class_init),
5367 (gst_identity_init), (gst_identity_event),
5368 (gst_identity_transform_ip), (gst_identity_set_property),
5369 (gst_identity_get_property):
5370 * gst/elements/gstidentity.h:
5371 Added the single-segment boolean property.
5372 If set to TRUE, it will output a single segment of data, starting from
5373 0, will eat up all incoming newsegment, and modify the timestamp of the
5376 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
5378 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5379 Don't ref NULL target pad (#322751). Improve docs.
5381 2005-11-29 Michael Smith <msmith@fluendo.com>
5383 * gst/gstregistryxml.c: (load_plugin):
5384 Don't crash if we failed to load a feature from a plugin.
5386 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5388 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5390 use more check API and less GLib API
5392 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5395 don't run checks if we don't have check
5397 remove the registry when running make torture
5398 * docs/gst/gstreamer-sections.txt:
5399 remove second multiply
5400 * gst/gstqueue.c: (gst_queue_loop):
5401 fix a compile warning when disabling debug
5403 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
5406 Hey! Let's print the pad name if the pointer != NULL instead
5407 of when it == NULL :-)
5409 2005-11-28 Wim Taymans <wim@fluendo.com>
5411 * check/gst/gstutils.c: (GST_START_TEST):
5412 Updated check, add some scaling accuracy checking code.
5414 * gst/gstutils.c: (gst_util_div128_64),
5415 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5416 (gst_util_uint64_scale_int):
5417 Fix 6 times faster division code. Optimize for common
5418 1/1 and less common X/1 cases.
5420 2005-11-28 Wim Taymans <wim@fluendo.com>
5422 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5425 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5426 (do_linear_regression), (gst_clock_add_observation):
5428 Release lock when the clock cannot be slaved.
5429 Catch the case where the regression returned an invalid denominator.
5431 * gst/gstutils.c: (gst_util_div128_64_iterate),
5432 (gst_util_div128_64), (gst_util_uint64_scale_int64),
5433 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5434 Add protentially more performant non-iterative 128/64 divide function
5435 that unfortunatly does not work yet.
5436 Shortcut the trivial 0/X = 0 case.
5437 Remove the warnings on overflow.
5439 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5441 * gst/gstplugin.c: (gst_plugin_register_func):
5442 everything causing a plugin not to load should be at least a WARNING
5444 2005-11-28 Stefan Kost <ensonic@users.sf.net>
5446 * docs/random/ensonic/dparams.txt:
5447 some TODOs for the next dev cycle
5448 * libs/gst/controller/gstcontroller.c:
5449 (gst_controlled_property_set_interpolation_mode),
5450 (gst_controlled_property_new):
5451 * libs/gst/controller/gstcontroller.h:
5452 use base type to assign acccessor functions
5454 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
5456 * check/Makefile.am:
5457 Oops, that should have been top_srcdir
5459 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
5461 * check/Makefile.am:
5462 * check/elements/fdsrc.c: (GST_START_TEST):
5463 Use a cmdline define to specify the location of a file to use for
5464 testing, to avoid breaking distcheck.
5466 2005-11-28 Andy Wingo <wingo@pobox.com>
5468 * gst/gstpad.c (fixate_value): Use array functions for arrays.
5470 2005-11-28 Edward Hervey <edward@fluendo.com>
5472 * tools/gst-launch.c: (main):
5473 Clarify the output strings, makes it easier to translate.
5476 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
5479 don't try and build net if we don't even have <sys/socket.h>
5481 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
5483 * check/Makefile.am:
5484 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5485 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5486 Add tests for fdsrc seekability
5488 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5489 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5490 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5491 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5492 * gst/elements/gstfdsrc.h:
5493 fdsrc should not be a 'live' source.
5494 Implement seeking on seekable fd's.
5496 * gst/gstquery.c: (gst_query_new_seeking),
5497 (gst_query_parse_seeking):
5499 Implement SEEKING query functions:
5500 *_new_seeking and *_parse_seeking
5502 2005-11-27 Stefan Kost <ensonic@users.sf.net>
5504 * gst/gstelement.c: (gst_element_dispose):
5507 * gst/gstiterator.c:
5508 * gst/gststructure.c:
5511 * libs/gst/controller/gstcontroller.c:
5512 (gst_controlled_property_set_interpolation_mode):
5513 * libs/gst/controller/gstcontroller.h:
5514 * libs/gst/controller/gstinterpolation.c:
5515 (interpolate_none_get_enum_value_array):
5516 support controlling enums
5518 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
5521 Improve documentation for gst_value_union().
5524 Change return value for union, intersect and subtract functions
5525 from gint to gboolean.
5527 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
5529 * gst/gstvalue.c: (gst_value_serialize_any_list),
5530 (gst_value_transform_any_list_string),
5531 (gst_value_deserialize_list), (gst_value_deserialize_array),
5532 (gst_value_set_int_range), (gst_value_deserialize_int_range),
5533 (gst_value_set_double_range), (gst_value_deserialize_double_range),
5534 (gst_value_set_fraction_range_full),
5535 (gst_value_deserialize_fraction_range),
5536 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5537 (gst_value_deserialize_boolean),
5538 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5539 (gst_value_serialize_float), (gst_value_deserialize_float),
5540 (gst_string_wrap), (gst_value_deserialize_string),
5541 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5542 (gst_value_union_int_range_int_range),
5543 (gst_value_intersect_int_range_int_range),
5544 (gst_value_intersect_double_range_double_range),
5545 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5546 (gst_value_subtract_int_range_int_range),
5547 (gst_value_subtract_double_double_range),
5548 (gst_value_subtract_double_range_double_range),
5549 (gst_value_deserialize_fraction):
5551 Use gint, gdouble and gchar in our API instead of int, double and
5552 char (and make usage in gstvalue.c more consistent).
5554 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
5556 * check/Makefile.am:
5557 * libs/gst/controller/Makefile.am:
5558 * libs/gst/dataprotocol/Makefile.am:
5559 fix up Makefile.am and remove GST_ENABLE_NEW
5561 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
5565 * gst/base/Makefile.am:
5566 * gst/check/Makefile.am:
5567 * gst/elements/Makefile.am:
5568 * gst/net/Makefile.am:
5569 update LDFLAGS use some more
5571 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
5573 * common/m4/gst-doc.m4:
5576 2005-11-26 Edward Hervey <edward@fluendo.com>
5578 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5579 This shouldn't issue a g_warning since it returns NULL if it
5580 couldn't find the plugin, and all functions using this behave
5581 properly on a NULL return. Switching to a GST_WARNING.
5583 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
5585 * gst/gstbin.c: (gst_bin_handle_message_func):
5586 Don't leak clock messages.
5588 2005-11-25 Wim Taymans <wim@fluendo.com>
5590 * gst/gstutils.c: (gst_util_uint64_scale_int64),
5591 (gst_util_uint64_scale_int):
5592 Optimisations, remove unneeded vars.
5594 2005-11-25 Wim Taymans <wim@fluendo.com>
5596 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5597 Added more checks for the high precision uint64 cases.
5599 * gst/gstutils.c: (gst_util_uint64_scale_int64),
5600 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5601 Implement high precision (guint64 * guint64) / guint64.
5603 2005-11-24 Wim Taymans <wim@fluendo.com>
5605 * gst/base/gstbasesrc.c: (gst_base_src_query):
5606 Fix wrong percentage query.
5608 * gst/gstutils.c: (gst_util_uint64_scale),
5609 (gst_util_uint64_scale_int):
5610 Add some more common cases that can be handled
5611 efficiently to _scale.
5613 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
5615 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5616 (gst_mini_object_suite):
5617 don't use check calls from threads; check probably isn't
5618 threadsafe and using a lock to make it threadsafe would
5619 defeat the purpose of this check
5620 * gst/check/gstcheck.c:
5621 * gst/check/gstcheck.h:
5622 use GST_DEBUG some more
5624 2005-11-24 Wim Taymans <wim@fluendo.com>
5626 * gst/gstutils.c: (gst_util_uint64_scale),
5627 (gst_util_uint64_scale_int):
5628 Chain trivial case to _scale_int.
5630 2005-11-24 Wim Taymans <wim@fluendo.com>
5632 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5633 Added test for scaling.
5638 * gst/gstutils.c: (gst_util_uint64_scale_int):
5639 Implemented high precision scaling code.
5641 2005-11-24 Stefan Kost <ensonic@users.sf.net>
5644 do not crash on pad==NULL
5646 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
5648 Patch by: Stefan Kost
5650 * common/gtk-doc.mak:
5651 * docs/gst/Makefile.am:
5652 * docs/libs/Makefile.am:
5653 Fix distcheck issues for the libraries docs build
5656 2005-11-24 Michael Smith <msmith@fluendo.com>
5658 * docs/manual/basics-helloworld.xml:
5659 Fix bug #315027: memory leak in example code in docs.
5661 2005-11-24 Michael Smith <msmith@fluendo.com>
5663 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5664 Unlock the PREROLL_LOCK in a failure case.
5666 2005-11-24 Wim Taymans <wim@fluendo.com>
5668 * docs/gst/gstreamer-sections.txt:
5669 * gst/base/gstadapter.h:
5670 * gst/base/gstbasesink.h:
5671 * gst/base/gstbasesrc.h:
5672 * gst/base/gstbasetransform.h:
5673 * gst/base/gstpushsrc.h:
5674 * gst/elements/gstfakesink.h:
5675 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5676 * gst/elements/gstfakesrc.h:
5677 * gst/elements/gstfilesink.h:
5678 * gst/elements/gstfilesrc.h:
5681 * gst/gstbuffer.c: (_gst_buffer_copy):
5684 * gst/gstchildproxy.c:
5687 * gst/gstelementfactory.c:
5688 * gst/gstelementfactory.h:
5690 * gst/gstghostpad.h:
5692 * gst/gstinterface.h:
5693 * gst/gstminiobject.c:
5694 * gst/gstminiobject.h:
5697 * gst/gstpadtemplate.h:
5698 * gst/gstpipeline.h:
5699 * gst/gstpluginfeature.h:
5704 * gst/gsttagsetter.c:
5705 * gst/gsttagsetter.h:
5708 * gst/gsttypefind.h:
5711 * gst/net/gstnetclientclock.c:
5712 * gst/net/gstnetclientclock.h:
5713 * gst/net/gstnettimepacket.c:
5714 * gst/net/gstnettimeprovider.c:
5715 * gst/net/gstnettimeprovider.h:
5718 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
5720 * configure.ac: back to HEAD
5722 === release 0.9.6 ===
5724 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
5727 releasing 0.9.6, "Always On Time"
5729 2005-11-23 Wim Taymans <wim@fluendo.com>
5731 * docs/gst/gstreamer-sections.txt:
5732 * gst/glib-compat.c:
5733 * gst/gsttagsetter.c:
5735 * gst/net/gstnetclientclock.c:
5736 * gst/net/gstnettimepacket.h:
5739 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
5741 * docs/faq/using.xml:
5742 * docs/libs/tmpl/gstcontrol.sgml:
5743 * docs/manual/advanced-dparams.xml:
5744 * docs/manual/appendix-checklist.xml:
5745 * docs/manual/basics-elements.xml:
5746 * docs/pwg/other-source.xml:
5747 * docs/random/moving-plugins:
5749 * tools/gst-launch.1.in:
5750 remove mentions of sinesrc
5752 2005-11-23 Michael Smith <msmith@fluendo.com>
5754 * docs/gst/gstreamer-sections.txt:
5755 Update for new API and API changes.
5757 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5759 Documentation typo fix.
5760 * gst/net/gstnettimepacket.c:
5761 Documentation fixes for arguments.
5763 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
5765 * gst/gststructure.c: (gst_structure_get_fraction),
5766 (gst_structure_parse_value),
5767 (gst_structure_fixate_field_nearest_fraction):
5768 * gst/gststructure.h:
5769 * gst/gstutils.c: (gst_util_uint64_scale_int):
5771 * scripts/update-funcnames:
5773 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5774 Make gst_structure_fixate_field_nearest_fraction take a numerator
5775 and denominator argument instead of a GValue
5776 add gst_structure_get_fraction helper function.
5778 2005-11-23 Wim Taymans <wim@fluendo.com>
5780 * docs/design/part-TODO.txt:
5783 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5784 * gst/net/gstnetclientclock.h:
5785 Use parent fields for timeout and window_size.
5787 2005-11-23 Andy Wingo <wingo@pobox.com>
5789 * check/net/gstnetclientclock.c (test_functioning): Adjust to
5790 rate_num/rate_denom change.
5792 * gst/net/gstnetclientclock.c
5793 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5794 OBJECT_LOCK. Don't call add_observation with the lock.
5796 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5798 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5800 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5801 deal with rate as a fraction whose numerator and denominator are
5802 GstClockTime values.
5803 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5804 master; the other fields are protected by the SLAVE_LOCK.
5805 (do_linear_regression): Note that this must be called with the
5807 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5808 OBJECT_LOCK. Call set_calibration instead of touching the
5810 (gst_clock_set_property, gst_clock_get_property): Protect
5811 master/slave parameters with the SLAVE_LOCK.
5813 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5814 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5815 note that all of the instance variables that add_observation and
5816 the set_master functions use are protected by that lock and not
5818 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5820 * gst/gstclock.c (gst_clock_add_observation): No longer requires
5821 the caller to take the object lock.
5823 2005-11-23 Wim Taymans <wim@fluendo.com>
5825 * gst/gsterror.c: (_gst_core_errors_init):
5827 Add error for clock stuff.
5829 * gst/gstpipeline.c: (gst_pipeline_change_state),
5830 (gst_pipeline_set_clock):
5831 Post clock error when clock cannot be used in a pipeline.
5833 2005-11-23 Stefan Kost <ensonic@users.sf.net>
5835 * docs/gst/gstreamer-sections.txt:
5836 make two symbols from gstinfo private for the docs
5837 * gst/base/gstcollectpads.h:
5839 fix doc typos, update docs
5841 2005-11-22 Wim Taymans <wim@fluendo.com>
5843 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5844 (gst_base_sink_wait), (gst_base_sink_do_sync),
5845 (gst_base_sink_handle_event):
5846 * gst/base/gstbasesink.h:
5847 No need to store the clock, the parent element class already
5850 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5851 Updates for clock_set returning a gboolean
5853 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5854 (gst_clock_id_wait_async), (gst_clock_class_init),
5855 (gst_clock_init), (gst_clock_finalize),
5856 (gst_clock_get_internal_time), (gst_clock_get_time),
5857 (gst_clock_slave_callback), (gst_clock_set_master),
5858 (gst_clock_get_master), (do_linear_regression),
5859 (gst_clock_add_observation), (gst_clock_set_property),
5860 (gst_clock_get_property):
5862 Implement master/slave. When setting a clock as a slave, a
5863 periodic timeout is scheduled to sample master and slave times.
5864 Then the slave clock is recalibrated to match offset and rate
5865 of the master clock.
5866 Update logging a bit.
5867 Add flag so that a clock can state that is cannot be slaved to
5870 * gst/gstelement.c: (gst_element_set_clock):
5872 The set clock returns a gboolean for when an element cannot
5873 deal with the selected clock in the pipeline.
5875 * gst/gstpipeline.c: (gst_pipeline_change_state),
5876 (gst_pipeline_set_clock):
5877 * gst/gstpipeline.h:
5878 Handle the case where the selected clock cannot be set on
5881 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5882 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5883 (gst_net_client_clock_set_property),
5884 (gst_net_client_clock_get_property),
5885 (gst_net_client_clock_observe_times):
5886 * gst/net/gstnetclientclock.h:
5887 Use regression code in GstClock parent, remove duplicated
5890 2005-11-22 Michael Smith <msmith@fluendo.com>
5892 * gst/gstutils.c: (gst_util_clock_time_scale):
5894 * docs/gst/gstreamer-sections.txt:
5895 Rename method to have extra underscore.
5897 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
5899 * gst/elements/Makefile.am:
5900 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5901 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5902 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5903 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5904 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5905 * gst/elements/gstfakesrc.h:
5906 * gst/gstqueue.c: (queue_leaky_get_type):
5907 correctly fix GEnumValues so that nick is the short lowercase
5909 * tools/gst-inspect.c: (print_element_properties_info):
5910 also show the nick, since it's useful to use from parse_launch
5914 2005-11-22 Michael Smith <msmith@fluendo.com>
5916 * gst/gstutils.c: (gst_util_clocktime_scale):
5918 * docs/gst/gstreamer-sections.txt:
5919 Add util method for scaling a clocktime by a fraction. Useful
5920 implementation is left as an exercise for the reader.
5922 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
5924 * gst/gstvalue.c: (gst_value_collect_fraction_range):
5925 If needed, allocate storage in the destination value during
5928 2005-11-22 Edward Hervey <edward@fluendo.com>
5930 * docs/gst/gstreamer-sections.txt:
5935 * gst/gstutils.c: (gst_util_set_object_arg):
5936 * tools/gst-compprep.c: (main):
5937 * tools/gst-inspect.c: (print_element_properties_info):
5938 Removed GstURI, closes bug #321061
5940 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
5942 * check/gst/gststructure.c: (GST_START_TEST):
5943 * gst/gststructure.c: (gst_structure_parse_value):
5944 Oops, broke automatic string type parsing.
5945 Add a test to catch it in future.
5947 2005-11-22 Andy Wingo <wingo@pobox.com>
5949 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
5950 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5951 Actually rename the function implementations. Grr.
5953 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
5955 * check/gst/capslist.h:
5957 * check/gst/gststructure.c: (GST_START_TEST),
5958 (gst_structure_suite):
5959 Test automatic value type detection in gst_structure_from_string.
5960 * gst/gststructure.c: (gst_structure_parse_value):
5961 Add fraction as a type we try and guess automatically in
5962 caps/structure strings.
5964 2005-11-22 Andy Wingo <wingo@pobox.com>
5966 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5968 * gst/gsttagsetter.h:
5969 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5970 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5971 (gst_tag_setter_add_tag_valist)
5972 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5973 _add_values, _add_valist, and _add_valist_values. Since this is an
5974 interface the function suffixes should be more explicit so
5975 language binding don't end up with element.add_valist ->
5976 gst_tag_setter_add_valist, for example. Fixes #322069.
5978 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
5980 * check/gst/gstcaps.c: (GST_START_TEST):
5981 Extend caps string tests to check that a caps to string
5982 conversion is reversible and produces the same caps.
5984 * gst/gststructure.c: (gst_structure_value_get_generic_type):
5985 Output "fraction" as the generic type fraction range, so caps
5986 serialisation and deserialisation works.
5987 * check/gst/capslist.h:
5988 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5989 Support 'MIN' and 'MAX' for deserialising fractions.
5991 2005-11-22 Andy Wingo <wingo@pobox.com>
5993 * gst/gstevent.h (gst_event_new_new_segment)
5994 (gst_event_parse_new_segment, gst_event_new_buffer_size)
5995 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5996 Renamed from *_newsegment, *_buffersize, *_notarget.
5998 * scripts/update-funcnames: New script, performs the changes
6001 2005-11-22 Wim Taymans <wim@fluendo.com>
6003 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6004 Make sure the GstFlowReturn is returned.
6006 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6007 (gst_bus_add_signal_watch):
6009 add gst_bus_add_signal_watch_full.
6011 * gst/gstplugin.c: (gst_plugin_load_file):
6012 Small style cleanup.
6014 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6016 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6017 Block the fakesrc srcpad when we send an event, to avoid
6018 contention on the stream_lock causing random test failures.
6020 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6022 * check/gst/gstvalue.c: (GST_START_TEST):
6023 * gst/gstvalue.c: (gst_value_fraction_subtract):
6026 2005-11-22 Stefan Kost <ensonic@users.sf.net>
6029 include "gstchildproxy.h"
6030 * gst/gstchildproxy.h:
6031 * libs/gst/controller/gstcontroller.h:
6032 use G_GNUC_NULL_TERMINATED
6034 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6036 * check/gst/capslist.h:
6037 * check/gst/gstcaps.c: (GST_START_TEST):
6038 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6039 * gst/gststructure.c: (gst_structure_parse_range),
6040 (gst_structure_fixate_field_nearest_fraction):
6041 * gst/gststructure.h:
6042 * gst/gstvalue.c: (gst_value_init_fraction_range),
6043 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6044 (gst_value_collect_fraction_range),
6045 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6046 (gst_value_set_fraction_range_full),
6047 (gst_value_get_fraction_range_min),
6048 (gst_value_get_fraction_range_max),
6049 (gst_value_serialize_fraction_range),
6050 (gst_value_transform_fraction_range_string),
6051 (gst_value_compare_fraction_range),
6052 (gst_value_deserialize_fraction_range),
6053 (gst_value_intersect_fraction_fraction_range),
6054 (gst_value_intersect_fraction_range_fraction_range),
6055 (gst_value_subtract_fraction_fraction_range),
6056 (gst_value_subtract_fraction_range_fraction),
6057 (gst_value_subtract_fraction_range_fraction_range),
6058 (gst_value_collect_fraction), (gst_value_fraction_multiply),
6059 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6060 (gst_value_transform_string_fraction), (_gst_value_initialize):
6062 Implement fraction ranges and extend GstFraction to support
6063 arithmetic subtraction, as well as deserialization from integer
6064 strings such as "100"
6065 Add a testsuite as for int and double range set operations
6067 2005-11-21 Andy Wingo <wingo@pobox.com>
6071 * gst/gststructure.h: Add glib-compat.h.
6073 2005-11-21 Wim Taymans <wim@fluendo.com>
6075 * gst/gstbin.c: (gst_bin_change_state_func):
6078 2005-11-21 Wim Taymans <wim@fluendo.com>
6081 And add a nice define too.
6083 2005-11-21 Wim Taymans <wim@fluendo.com>
6085 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6086 (gst_segment_new), (gst_segment_free), (gst_segment_init),
6087 (gst_segment_set_duration), (gst_segment_set_last_stop),
6088 (gst_segment_set_seek), (gst_segment_set_newsegment),
6089 (gst_segment_to_stream_time), (gst_segment_to_running_time),
6092 Make binding friendly.
6094 2005-11-21 Andy Wingo <wingo@pobox.com>
6096 * gst/gsttagsetter.h:
6098 * gst/gststructure.h:
6100 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6103 * gst/gsterror.c (_gst_core_errors_init):
6104 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6107 * gst/Makefile.am (gst_headers): Add glib-compat.h.
6108 (noinst_HEADERS): noinst the -private.
6110 2005-11-21 Michael Smith <msmith@fluendo.com>
6113 * gst/gstregistry.h:
6114 Remove unimplemented declarations for which we can see no sensible
6117 2005-11-21 Andy Wingo <wingo@pobox.com>
6119 * gst/gst.h: Include glib-compat.h.
6121 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6123 * gst/glib-compat.c: Include the public and the private header.
6125 * gst/glib-compat-private.h: Copied here from glib-compat.h.
6129 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6131 * check/gst/gstevent.c (create_custom_events): Check that
6132 FLUSH_STOP is serialized.
6134 * check/elements/identity.c (event_func):
6135 * check/elements/fakesrc.c (event_func): No stream lock, the core
6138 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6139 stream lock taking, yay.
6141 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6142 ensure that core takes the stream lock.
6144 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6147 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6148 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6149 it already. For the flush start we do take it though so we get the
6150 right preroll state change messages.
6152 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6153 the stream lock here, the core does it for us.
6155 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6156 GST_STREAM_GET_LOCK.
6157 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
6158 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
6159 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6160 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6161 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
6162 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6164 * gst/gstpad.c: Update for stream lock name change.
6166 * gst/base/gstbasesink.c: Update for preroll lock name change.
6168 2005-11-21 Wim Taymans <wim@fluendo.com>
6170 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6171 (gst_clock_get_master):
6173 * gst/gstsystemclock.c: (gst_system_clock_init):
6174 Convert Clock flags to object flags.
6175 Added methods to manage master/slave clocks.
6177 2005-11-21 Wim Taymans <wim@fluendo.com>
6179 * check/gst/gstsegment.c: (GST_START_TEST):
6180 * docs/design/part-TODO.txt:
6181 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6182 (gst_base_sink_event), (gst_base_sink_do_sync),
6183 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6184 (gst_base_sink_query), (gst_base_sink_change_state):
6185 * gst/base/gstbasesink.h:
6186 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6187 (gst_base_src_default_newsegment),
6188 (gst_base_src_configure_segment), (gst_base_src_do_seek),
6189 (gst_base_src_get_range), (gst_base_src_loop),
6190 (gst_base_src_change_state):
6191 * gst/base/gstbasesrc.h:
6192 * gst/base/gstbasetransform.c:
6193 (gst_base_transform_prepare_output_buf),
6194 (gst_base_transform_event), (gst_base_transform_change_state):
6195 * gst/base/gstbasetransform.h:
6196 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6197 (gst_collect_pads_event):
6198 * gst/base/gstcollectpads.h:
6199 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6200 (gst_fake_src_create):
6201 * gst/elements/gstfakesrc.h:
6202 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6203 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6204 (gst_segment_set_last_stop), (gst_segment_set_seek),
6205 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6206 (gst_segment_to_running_time), (gst_segment_clip):
6208 More segment updates, replace code in plugins with segment
6211 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6213 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6214 Don't ignore sscanf results
6216 2005-11-21 Andy Wingo <wingo@pobox.com>
6218 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6221 * *.c: Ran scripts/update-macros. Oh yes.
6223 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6224 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6227 * scripts/update-macros: New script. Run it on your files to
6228 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6231 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6233 * docs/gst/Makefile.am:
6234 * docs/gst/gstreamer-docs.sgml:
6235 * docs/gst/gstreamer-sections.txt:
6236 * docs/gst/gstreamer.types:
6238 more docs fixes, add new api to the docs
6240 2005-11-21 Andy Wingo <wingo@pobox.com>
6242 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6243 state_broadcast call.
6245 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6247 2005-11-21 Julien MOUTTE <julien@moutte.net>
6249 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6250 function calls for arrays.
6252 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6254 * docs/random/ensonic/media-device-daemon.txt:
6255 wild idea, can this be done?
6256 * docs/gst/gstreamer-sections.txt:
6261 * gst/gstpluginfeature.c:
6265 doc fixes and additions
6267 2005-11-21 Andy Wingo <wingo@pobox.com>
6269 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
6270 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
6271 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
6272 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6273 private to the basesrc implementation.
6275 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6276 behalf of event function if necessary. It should no longer be
6277 necessary to take the stream lock in pad's event functions. Fixes
6280 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6281 * docs/gst/gstreamer-sections.txt:
6282 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6283 (gst_structure_fixate_field_nearest_double),
6284 (gst_structure_fixate_field_boolean):
6285 * gst/gststructure.h:
6286 * win32/common/libgstreamer.def:
6287 * win32/gstreamer.def:
6289 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6292 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6294 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6295 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6296 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6297 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6298 (gst_fdsrc_uri_handler_init):
6299 * gst/elements/gstfdsrc.h:
6300 Port fd:// URI handler from 0.8 to fdsrc
6302 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6304 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6305 (gst_value_serialize_fourcc):
6307 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6308 consistent with our other format defines (#320324).
6310 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6312 * gst/gstvalue.c: (gst_value_is_fixed):
6313 Revert previous commit. Value lists are by definition
6314 not fixed, as they are a list of possible values.
6316 2005-11-21 Andy Wingo <wingo@pobox.com>
6318 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6319 during the stable series if we need it. Fixes #319178.
6321 * gst/gstevent.c (gst_event_new_filler): Removed.
6323 * check/gst/gstevent.c: Update comment about filler events.
6325 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6327 * gst/gstvalue.c: (gst_value_is_fixed):
6328 Should handle both value arrays and value lists.
6330 2005-11-21 Andy Wingo <wingo@pobox.com>
6332 patch by: Alessandro Dessina <alessandro nnva org>
6334 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6335 functions to access arrays. Fixes #321962.
6337 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6339 * docs/gst/gstreamer.types:
6340 gst_collectpads_get_type => gst_collect_pads_get_type.
6342 * gst/base/gstbasetransform.c:
6343 Remove unused SIGNAL_HANDOFF enum.
6345 2005-11-21 Andy Wingo <wingo@pobox.com>
6347 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6348 the event type (upstream, downstream, serialized). Renamed
6349 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6350 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6351 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6353 * gst/gstevent.c: Update for new CUSTOM event names.
6355 * check/gst/gstevent.c: Update check for new CUSTOM event names.
6358 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6361 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6363 * docs/gst/gstreamer-sections.txt:
6364 * win32/common/libgstbase.def:
6365 * win32/libgstbase.def:
6366 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6367 (gst_collect_pads_class_init), (gst_collect_pads_init),
6368 (gst_collect_pads_finalize), (gst_collect_pads_new),
6369 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6370 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6371 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6372 (gst_collect_pads_start), (gst_collect_pads_stop),
6373 (gst_collect_pads_peek), (gst_collect_pads_pop),
6374 (gst_collect_pads_available), (gst_collect_pads_read),
6375 (gst_collect_pads_flush), (gst_collect_pads_event),
6376 (gst_collect_pads_chain):
6377 * gst/base/gstcollectpads.h:
6378 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6379 unimplemented functions as unimplemented. Add padding to
6380 GstCollectData. (#320766, #320423)
6382 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6385 Improve docs for DURATION message (usage of duration parameter)
6388 2005-11-20 Wim Taymans <wim@fluendo.com>
6390 * check/Makefile.am:
6391 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6395 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6396 (gst_segment_set_seek), (gst_segment_set_newsegment),
6397 (gst_segment_to_stream_time), (gst_segment_to_running_time),
6400 Added segment helper structure and methods. Not fully implemented
6402 Added segment check.
6404 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
6406 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6407 Add a deserialisation test for fractions
6408 * examples/metadata/read-metadata.c: (message_loop),
6409 (make_pipeline), (main):
6410 Fix up metadata reading sample.
6411 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6413 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6414 Don't try and fixate empty caps
6415 * gst/gst_private.h:
6416 Wrap in G_BEGIN_DECLS/G_END_DECLS
6417 * gst/gstvalue.c: (gst_value_collect_fraction),
6418 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6419 (gst_value_transform_string_fraction),
6420 (gst_value_compare_fraction):
6421 Add some extra guards to ensure that we don't end up
6422 with an invalid denominator of 0 in a gstfraction and
6423 that fractions always get reduced.
6425 2005-11-20 Wim Taymans <wim@fluendo.com>
6427 * docs/gst/gstreamer-sections.txt:
6438 2005-11-20 Wim Taymans <wim@fluendo.com>
6440 * docs/design/part-TODO.txt:
6442 Make a proper enum of the flag.
6444 2005-11-19 Wim Taymans <wim@fluendo.com>
6446 * docs/design/part-TODO.txt:
6447 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6448 (gst_format_to_quark), (gst_format_register):
6450 * gst/gstquery.c: (_gst_query_initialize),
6451 (gst_query_type_get_name), (gst_query_type_to_quark),
6452 (gst_query_type_register):
6454 Add type to quark and type to string conversions.
6456 2005-11-19 Andy Wingo <wingo@pobox.com>
6458 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6461 2005-11-19 Wim Taymans <wim@fluendo.com>
6463 * docs/design/part-TODO.txt:
6464 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6465 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6466 (gst_bin_handle_message_func):
6468 Make message handling overridable.
6470 2005-11-19 Andy Wingo <wingo@pobox.com>
6472 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6475 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6477 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6478 is a GstClockTime. Fixes #321710.
6480 * gst/gstclock.h (GstClock): Remove offset property. Add
6481 internal_calibration and external_calibration. Fix padding. Pad
6482 also by GstClockTime so we don't run into problems.
6484 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6485 (gst_clock_get_rate_offset): Remove.
6486 (gst_clock_set_time_adjust): Remove. Fixes #321712.
6489 * gst/gstutils.c (g_static_rec_cond_wait)
6490 (g_static_rec_cond_timed_wait): Removed, no longer needed.
6492 * gst/gstbin.c: Remove terrible continue_state prototype.
6494 * gst/gstelement.h (gst_element_continue_state): Make public.
6497 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6498 by continue_state. Fixes #319389.
6500 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6501 Really fixes #168438. However I don't see anywhere where the
6502 filter function is called... stupid GStreamer...
6504 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6505 don't have a dispose function, so it won't get called when the
6506 object is unreffed, but oh well!
6508 * gst/gstindex.c (gst_index_set_filter_full): New API function,
6509 allows a destroy function to be set so user_data can be freed.
6511 (gst_index_set_filter): Call gst_index_set_filter_full.
6513 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6515 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6516 string should produce an error, given the lack of a way to
6517 represent NULL strings. Fixes #165650.
6520 * gst/gstvalue.c (gst_value_array_append_value)
6521 (gst_value_array_prepend_value, gst_value_array_get_size)
6522 (gst_value_array_get_value): New API, copied from
6523 gst_value_list_*, only operates on arrays.
6524 (gst_value_list_append_value, gst_value_list_prepend_value)
6525 (gst_value_list_concat, gst_value_list_get_size)
6526 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6528 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6529 init_list, because it works on both.
6530 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6531 (gst_value_copy_list_or_array): Renamed from copy_list.
6532 (gst_value_free_list_or_array): Renamed from free_list.
6533 (gst_value_collect_list_or_array): Renamed from collect_list.
6534 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6535 (gst_value_list_or_array_peek_pointer): Renamed from
6537 (_gst_value_array_value_table, _gst_value_list_value_table):
6538 Update value table functions.
6539 (gst_value_compare_list_or_array): Renamed from compare_list.
6541 * gsttaglist.h: Whoops, foreach function returns void. Also fix
6545 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6546 GstTagList*. Fixes #143472.
6548 * gst/gststructure.h: Clarify what the foreach/map functions can
6549 or can't do to their arguments.
6551 2005-11-18 Wim Taymans <wim@fluendo.com>
6553 * gst/gstclock.c: (gst_clock_set_calibration),
6554 (gst_clock_get_calibration):
6556 Calibration can be set with internal time equal to current
6559 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
6565 2005-11-18 Andy Wingo <wingo@pobox.com>
6568 * pkgconfig/gstreamer-net.pc.in:
6569 * pkgconfig/gstreamer-net-uninstalled.pc.in:
6570 * pkgconfig/Makefile.am: Add net pkgconfig files.
6572 2005-11-18 Stefan Kost <ensonic@users.sf.net>
6575 * gst/gstghostpad.c:
6581 2005-11-18 Andy Wingo <wingo@pobox.com>
6583 * gst/net/gstnetclientclock.c: Turn off debugging.
6585 * check/net/gstnetclientclock.c (test_functioning): Assert that the
6586 times connverge somewhat. Can't make a real test.
6588 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6589 integer arithmetic. Return the minimum of the domain, which can be
6590 set as "internal" for gst_clock_set_calibration.
6591 (gst_net_client_clock_observe_times): Call _set_calibration.
6592 (gst_net_client_clock_new): Call _set_calibration instead of
6595 * check/net/gstnetclientclock.c (test_functioning): Use the right
6599 * gst/gstclock.c (gst_clock_get_calibration)
6600 (gst_clock_set_calibration): New functions, obsolete the ones I
6601 added yesterday. Doh. Precision issues mean we have to extrapolate
6602 from a point in the more recent past than 1970.
6603 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6605 (gst_clock_adjust_unlocked): Use the right calibration data.
6607 2005-11-18 Edward Hervey <edward@fluendo.com>
6609 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6610 Also reset the ->current_* values in READY->PAUSED
6612 2005-11-18 Andy Wingo <wingo@pobox.com>
6614 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6615 Whoops, check the right fd. Also add some debugging.
6616 (gst_net_client_clock_observe_times): Adjust for int64 offset.
6617 (do_linear_regression): Add a crapload of debugging. Subtract off
6618 the minimum values from the input series to discard unneeded bits.
6619 Use only int arithmetic. There is still double arithmetic when
6620 calculating the intercept that needs fixing. Return boolean to
6621 indicate success; FALSE would mean the domain or range is too
6622 great. Still needs fixes.
6624 2005-11-18 Wim Taymans <wim@fluendo.com>
6626 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6627 For the current position in stream time, we need to subtract
6630 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6631 Release lock before calling the callback function of async
6634 2005-11-18 Andy Wingo <wingo@pobox.com>
6636 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6637 Port goes all the way to MAXUINT16.
6639 * gst/net/gstnettimeprovider.c: Make the port range the same as
6640 for the kernel: 0 assigns, otherwise ports are less than
6643 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6646 * check/net/gstnetclientclock.c (test_functioning): Add the start
6649 2005-11-18 Wim Taymans <wim@fluendo.com>
6651 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6652 (gst_bin_remove_func), (bin_bus_handler):
6654 Removing a clock provider from a bin, triggers a clock lost message
6655 so that a new clock will be selected.
6656 Adding a clock to a bin triggers a clock provider message.
6657 Make sure we reselect a clock when we received a clock lost message.
6658 Keep a reference to the element that provided the clock.
6660 2005-11-18 Andy Wingo <wingo@pobox.com>
6662 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6663 the clock initially so it produces values around the base time.
6664 (gst_net_client_clock_class_init): Typo fix.
6665 (gst_net_client_clock_thread): Add note on when the socket gets
6668 2005-11-17 Wim Taymans <wim@fluendo.com>
6670 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6671 Free remote and local time arrays.
6673 2005-11-17 Wim Taymans <wim@fluendo.com>
6675 * gst/net/gstnetclientclock.c: (do_linear_regression),
6676 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6677 Fix compilation, uninitialized vars and a forgotten continue.
6679 2005-11-17 Andy Wingo <wingo@pobox.com>
6681 * check/Makefile.am (check_PROGRAMS):
6682 * check/net/gstnetclientclock.c: Add a most minimal test for the
6683 net client clock. More to come later.
6686 * gst/net/Makefile.am: Add netclientclock.
6688 * gst/net/gstnetclientclock.h:
6689 * gst/net/gstnetclientclock.c: New files, implement an untested
6690 GstClock that takes its time from a network time provider.
6691 Implements the algorithm in network-clock.scm.
6693 * tests/network-clock.scm (*window-size*): Rename from
6695 * tests/network-clock.scm (network-time):
6696 * tests/network-clock-utils.scm (q-push): Update callers.
6698 2005-11-17 Wim Taymans <wim@fluendo.com>
6700 * gst/gstbin.c: (gst_bin_provide_clock_func),
6701 (gst_bin_sort_iterator_new):
6702 And unref the child too..
6704 2005-11-17 Wim Taymans <wim@fluendo.com>
6706 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6707 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6708 Refactor the sort iterator so it can be used while holding the
6710 Make clock selection select a clock closest to the source.
6712 2005-11-17 Michael Smith <msmith@fluendo.com>
6714 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6715 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6717 Anonymous structs are a gcc (and some other compilers) extension, so
6718 don't use them. Since this is only for ABI-compatibility, and our
6719 API/ABI freeze is over in a few days, this whole thing will only
6720 last a few days, so don't bother trying to think up a meaningful
6721 name for the struct.
6723 2005-11-17 Andy Wingo <wingo@pobox.com>
6725 * gst/gstclock.h (GstClock): Add rate and offset properties,
6726 preserving ABI stability. Add rate/offset accessors. Will file bug
6727 for the freeze break.
6729 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6730 and offset, trying to keep precision and avoiding
6732 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6733 functions. Make gst_clock_set_time_adjust obsolete.
6734 (gst_clock_set_time_adjust): Note that this function is obsolete.
6737 * gst/base/gstbasetransform.h: Make the ABI-stability hack
6738 greppable by using GST_PADDING-1+1.
6740 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
6742 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6744 * gst/gstmessage.c: (gst_message_parse_clock_lost):
6745 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6747 * gst/gstpadtemplate.h:
6748 * gst/gstpluginfeature.h:
6749 Don't use c++ style comments in headers (#321638).
6751 2005-11-16 Andy Wingo <wingo@pobox.com>
6753 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6756 * check/net/gstnettimeprovider.c: Check to see that the time
6757 provider actually provides times. Works, yo!
6759 2005-11-16 Wim Taymans <wim@fluendo.com>
6761 * check/Makefile.am:
6764 * check/elements/fakesrc.c: (GST_START_TEST):
6765 Set element to NULL before disposing it.
6767 2005-11-16 Andy Wingo <wingo@pobox.com>
6769 * gst/net/Makefile.am:
6771 * gst/net/gstnettimeprovider.c:
6772 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6773 provider, include it from gstnet.h, and add it to the build.
6775 * gst/net/gstnettimepacket.h:
6776 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6777 sending and receiving.
6779 2005-11-16 Wim Taymans <wim@fluendo.com>
6781 * check/Makefile.am:
6782 Enable valgrind check.
6784 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6785 (gst_fake_src_alloc_buffer):
6788 2005-11-16 Wim Taymans <wim@fluendo.com>
6790 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6791 Call parent finalize too.
6793 2005-11-16 Wim Taymans <wim@fluendo.com>
6795 * check/Makefile.am:
6796 Enable valgrind check that should work fine now.
6798 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6799 * gst/gstqueue.c: (gst_queue_init):
6800 Fix memleaks in pad allocation.
6802 2005-11-16 Andy Wingo <wingo@pobox.com>
6804 * gst/net/Makefile.am:
6805 * gst/net/gstnet.h: New part of core to hold network elements and
6806 objects. Put in core because it exposes API that applications want
6807 to use. The library is named libgstnet-tempname right now because
6808 of the existing libgstnet in gst-plugins-base. Solution is
6809 probably to rename the one in plugins-base; will file a bug for
6812 * gst/net/gstnettimeprovider.c:
6813 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6814 get_time call over the network.
6817 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6819 * check/Makefile.am:
6820 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6821 get additions shortly.
6823 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
6825 * gst/gstpad.c: (gst_pad_new_from_static_template):
6827 add gst_pad_new_from_static_template functions
6828 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6829 (gst_check_setup_sink_pad):
6830 * gst/elements/gsttee.c: (gst_tee_init):
6833 2005-11-16 Wim Taymans <wim@fluendo.com>
6835 * gst/gstpad.c: (gst_pad_pause_task):
6836 Removed warning, it's not really an error either.
6838 2005-11-16 Wim Taymans <wim@fluendo.com>
6840 * gst/base/gstbasetransform.c:
6841 (gst_base_transform_prepare_output_buf),
6842 (gst_base_transform_event):
6843 Check if the caps are NULL, this can happen if the element
6844 is shutting down and the pad caps are set to NULL.
6846 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
6848 * gst/elements/gsttee.c: (gst_tee_init):
6849 fix pad template leak in tee
6851 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
6853 * gst/glib-compat.c: (g_value_dup_gst_object):
6854 * gst/glib-compat.h:
6855 * gst/gstpad.c: (gst_pad_set_property):
6856 use gst_object_ref when setting the pad template; this will
6857 trigger the pad template leaks on GLib 2.6 and the slaves
6859 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
6861 * gst/glib-compat.c: (gst_flags_get_first_value):
6862 * gst/glib-compat.h:
6863 * gst/gstregistryxml.c:
6864 remove functions copied from GLib 2.6
6866 2005-11-16 Michael Smith <msmith@fluendo.com>
6869 Don't link against VALGRIND_LIBS. That was always the wrong thing to
6870 do, but only breaks with newer valgrind versions. We're not a
6871 valgrind tool, we have no link-time dependencies on libcoregrind.
6873 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
6875 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6880 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
6882 * gst/base/gstbasesrc.c: (gst_base_src_init):
6883 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6884 * gst/gstqueue.c: (gst_queue_init):
6885 * gst/gstregistryxml.c: (load_feature):
6886 Revert all these unrefs, they don't even pass make check !
6888 2005-11-15 Johan Dahlin <johan@gnome.org>
6890 * gst/base/gstbasesrc.c: (gst_base_src_init):
6891 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6892 * gst/gstqueue.c: (gst_queue_init):
6893 Free pad templates, fixes a couple of leaks.
6895 2005-11-15 Daniel Fischer <dan at f3c dot com>
6897 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6899 * gst/gstpad.c: (gst_pad_get_property):
6900 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6901 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6904 2005-11-15 Wim Taymans <wim@fluendo.com>
6909 2005-11-15 Andy Wingo <wingo@pobox.com>
6911 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6913 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6914 using GST_CLOCK_TIME_NONE to disable base time management.
6915 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6916 time if it was NONE before.
6917 (gst_pipeline_change_state): Only munge the base time if
6918 stream_time != GST_CLOCK_TIME_NONE.
6920 * check/gst/gstpipeline.c (test_base_time): Punt around the
6921 problem of the probe not being called, because that's not the
6922 issue I'm looking at. Add a check that setting stream_time to NONE
6923 disables base time management.
6925 2005-11-15 Wim Taymans <wim@fluendo.com>
6927 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6928 segment_stop == -1 at startup.
6930 * gst/base/gstbasetransform.c: (gst_base_transform_event),
6931 (gst_base_transform_change_state):
6932 Init segment values at start.
6934 2005-11-15 Wim Taymans <wim@fluendo.com>
6936 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6937 0 segment values are 0 in any format.
6939 * gst/base/gstbasetransform.c: (gst_base_transform_event):
6940 * gst/base/gstbasetransform.h:
6941 Parse newsegment correctly in basetransform
6943 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6944 Sync to clock using updated segment values.
6946 2005-11-15 Andy Wingo <wingo@pobox.com>
6948 * check/gst/gstpipeline.c (test_base_time): Add check that the
6949 base time and stream time are reset correctly.
6951 2005-11-15 Wim Taymans <wim@fluendo.com>
6953 * docs/design/part-TODO.txt:
6954 Some more TODO items.
6956 2005-11-15 Andy Wingo <wingo@pobox.com>
6958 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6959 error if the user selected "no clock" as the clocking method.
6961 * check/gst/gstpipeline.c (test_base_time): New test for buffer
6962 timestamps with live capture.
6964 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6965 is 0 but we are a live source, timestamp the buffers using the
6968 2005-11-14 Stefan Kost <ensonic@users.sf.net>
6970 * docs/gst/gstreamer-sections.txt:
6972 * gst/gstghostpad.c:
6977 2005-11-14 Wim Taymans <wim@fluendo.com>
6980 add suppressions from Wim's Debian machine
6982 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
6985 add suppressions from Andy's AMD64 Ubuntu machine
6987 2005-11-14 Andy Wingo <wingo@pobox.com>
6989 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6990 STATE_LOCK not necessary. Fixes #311489.
6992 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6995 * gst/gstindex.c (gst_index_add_object): Note in the docs that
6996 this function is not implemented.
6998 2005-11-14 Julien MOUTTE <julien@moutte.net>
7000 * gst/base/gstbasetransform.c:
7001 (gst_base_transform_prepare_output_buf):
7002 Ref the source pad caps while we need them.
7005 2005-11-11 Wim Taymans <wim@fluendo.com>
7007 * docs/gst/gstreamer-sections.txt:
7008 Added some docs for GstCollectData.
7010 * gst/base/gstadapter.c:
7011 Some small code example fix.
7013 * gst/base/gstcollectpads.c:
7014 * gst/base/gstcollectpads.h:
7017 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7019 * configure.ac: back to HEAD
7021 === release 0.9.5 ===
7023 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7026 releasing 0.9.5, "Bike Lunch Day"
7028 2005-11-11 Wim Taymans <wim@fluendo.com>
7030 * gst/gstbuffer.c: (_gst_buffer_copy):
7033 * gst/gstcaps.c: (gst_caps_is_equal):
7035 Make _is_equal fast in the trivial cases.
7037 * gst/gstminiobject.c:
7038 * gst/gstminiobject.h:
7039 More docs. Spifify .h file.
7044 2005-11-11 Wim Taymans <wim@fluendo.com>
7046 * gst/base/gstbasetransform.c:
7047 (gst_base_transform_prepare_output_buf),
7048 (gst_base_transform_handle_buffer):
7050 If we're processing a buffer and need to allocate an output
7051 buffer, we cannot accept a format change. If we did get a
7052 format change, we have to alloc a buffer ourselves of the
7055 2005-11-11 Wim Taymans <wim@fluendo.com>
7057 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7058 While checking the flag for reentrancy in the gstcaps function
7059 is nice to detect recursive invocations, it also makes it
7060 impossible to call getcaps from multiple threads, which must be
7061 possible. So, checking for recursive calls has to go.
7063 2005-11-11 Michael Smith <msmith@fluendo.com>
7065 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7066 Don't sync on buffers that fall partially outside our current
7067 segment. Prevents an assertion failure/abort playing some files.
7069 2005-11-10 Andy Wingo <wingo@pobox.com>
7071 * check/gst/gstbin.c (test_message_state_changed_children): Style
7074 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7075 gst_bus_poll with the signal watch. Ensures that poll and a signal
7076 watch see the same messages.
7078 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7079 a poll and a watch at the same time get the same messages.
7081 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7083 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7084 * gst/gstcaps.c: (gst_caps_intersect):
7085 Don't call gst_caps_do_simplify - it doesn't respect order of caps
7086 and it's not needed.
7088 2005-11-10 Wim Taymans <wim@fluendo.com>
7090 * docs/design/part-TODO.txt:
7093 2005-11-10 Wim Taymans <wim@fluendo.com>
7095 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7096 * gst/base/gstbasesrc.c: (gst_base_src_wait),
7097 (gst_base_src_do_sync), (gst_base_src_get_range):
7098 Implement clock sync in base class.
7100 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7102 patch by: Tim-Philipp Müller <tim at centricular dot net>
7104 * gst/gststructure.c: (gst_structure_parse_field),
7105 (gst_structure_from_string):
7106 Forward-port a 0.8 patch to handle escaped spaces in structure string,
7107 so that gst_parse_launch() can deal with spaces in filtered link
7108 caps (fixes #164479)
7109 * check/gst/capslist.h:
7110 * check/gst/gststructure.c: (GST_START_TEST):
7111 add unit tests for this change
7113 2005-11-10 Wim Taymans <wim@fluendo.com>
7115 * docs/gst/gstreamer-sections.txt:
7118 Fix docs, move some STATE macros to private.
7120 2005-11-10 Wim Taymans <wim@fluendo.com>
7122 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7123 Added check for bug #317341
7127 Some more spiffifying.
7129 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7130 Call peer linkfunction if we are a source pad. Totally fixes
7134 Update docs, source pads should call the peer linkfunction
7135 so they can atomically perform the pad link.
7137 2005-11-09 Wim Taymans <wim@fluendo.com>
7141 Uber-spiffy-spiffify some more.
7143 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
7145 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7146 * gst/elements/gstfilesink.c: (gst_file_sink_init):
7147 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7148 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7149 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7150 * gst/gstpad.c: (gst_pad_init):
7151 Use GST_DEBUG_FUNCPTR() more extensively.
7153 2005-11-09 Wim Taymans <wim@fluendo.com>
7155 * gst/gstobject.c: (gst_object_class_init):
7157 Documentation fixes.
7159 2005-11-09 Edward Hervey <edward@fluendo.com>
7161 * gst/gsttypefindfactory.c:
7164 2005-11-09 Edward Hervey <edward@fluendo.com>
7166 * gst/base/gsttypefindhelper.c:
7167 * gst/gsttypefind.c:
7168 * gst/gsttypefind.h:
7171 2005-11-09 Wim Taymans <wim@fluendo.com>
7173 * gst/gstiterator.c:
7180 2005-11-09 Wim Taymans <wim@fluendo.com>
7186 2005-11-09 Wim Taymans <wim@fluendo.com>
7188 * docs/gst/gstreamer-sections.txt:
7189 Moved the message async delivery private lock and cond
7190 to the private section.
7196 2005-11-09 Edward Hervey <edward@fluendo.com>
7198 * docs/gst/gstreamer-sections.txt:
7201 Document GstURIHandler
7203 2005-11-09 Wim Taymans <wim@fluendo.com>
7205 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7206 (gst_iterator_find_custom):
7207 * gst/gstiterator.h:
7210 2005-11-09 Wim Taymans <wim@fluendo.com>
7213 Document another field.
7215 * gst/gststructure.c:
7216 * gst/gststructure.h:
7219 2005-11-09 Wim Taymans <wim@fluendo.com>
7224 2005-11-09 Wim Taymans <wim@fluendo.com>
7226 * docs/gst/gstreamer-sections.txt:
7227 Added some new macros.
7234 2005-11-09 Wim Taymans <wim@fluendo.com>
7236 * docs/design/part-TODO.txt:
7237 Some more items for the TODO
7243 2005-11-09 Andy Wingo <wingo@pobox.com>
7245 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7246 to work on something else now tho...
7248 * gst/base/gstadapter.c: More adapter docs.
7250 * gst/elements/gstfilesink.c (gst_file_sink_start)
7251 (gst_file_sink_stop): New functions, replace the state change
7253 (gst_file_sink_class_init): Hook up the start and stop functions.
7254 (gst_file_sink_base_init): Don't set the state change handler any
7255 more. It was a bit ugly too, being set from here...
7256 (gst_file_sink_get_property, gst_file_sink_set_property):
7258 (gst_file_sink_set_location): More robust check that doesn't call
7261 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
7263 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7264 Hold STREAM_LOCK while pushing newsegment or tag events as well.
7266 2005-11-08 Wim Taymans <wim@fluendo.com>
7268 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7269 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7270 (gst_base_sink_chain), (gst_base_sink_change_state):
7271 * gst/base/gstbasesink.h:
7272 * gst/base/gstbasesrc.h:
7275 Avoid excessive typechecking in macros.
7277 * gst/gstminiobject.c: (gst_mini_object_get_type),
7278 (gst_mini_object_init), (gst_mini_object_new),
7279 (gst_mini_object_free):
7280 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7281 (gst_object_finalize):
7282 Remove cruft code, optimize alloc_trace.
7284 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
7286 * docs/faq/gst-uninstalled:
7287 fix up PS1 for systems that try to reset it
7289 2005-11-07 Wim Taymans <wim@fluendo.com>
7291 * gst/base/gstbasesrc.c: (gst_base_src_init),
7292 (gst_base_src_get_range):
7293 Set the segment_end to -1 initially. Fixed typefind.
7295 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
7297 * gst/base/gstadapter.c:
7298 Debug category should be 'adapter', not 'GstAdapter'.
7300 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7301 (gst_collectpads_class_init), (gst_collectpads_init),
7302 (gst_collectpads_peek), (gst_collectpads_pop),
7303 (gst_collectpads_event), (gst_collectpads_chain):
7304 Add debug category and some debugging output. Use boilerplate
7305 macros. Remove some extraneous words from docs.
7307 2005-11-05 Andy Wingo <wingo@pobox.com>
7309 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7312 2005-11-04 Stefan Kost <ensonic@users.sf.net>
7314 * docs/gst/gstreamer-sections.txt:
7317 * gst/gstminiobject.h:
7322 2005-11-04 Wim Taymans <wim@fluendo.com>
7324 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7325 Small update to stop at the configured segment_end
7328 2005-11-04 Stefan Kost <ensonic@users.sf.net>
7330 * gst/gstregistry.c:
7331 * gst/gstregistry.h:
7334 2005-11-04 Edward Hervey <edward@fluendo.com>
7336 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7337 Check if we are doing a segment seek and have arrived at the
7338 end of that segment.
7340 2005-11-04 Wim Taymans <wim@fluendo.com>
7342 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7343 Don't leak a mutex unlock in case of an error.
7348 2005-11-04 Wim Taymans <wim@fluendo.com>
7350 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7352 Get the context to wake up only once.
7354 2005-11-03 Wim Taymans <wim@fluendo.com>
7356 * check/states/sinks.c: (GST_START_TEST):
7357 Uncomment fixed check.
7359 * docs/design/part-TODO.txt:
7362 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7363 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7364 (gst_base_sink_get_position):
7365 If we are going to PLAYING, post the right pending state
7366 when we post the intermediate paused message.
7368 * gst/gstelement.c: (gst_element_continue_state),
7369 (gst_element_set_state_func), (gst_element_change_state):
7370 Don't post state changes that were between the same state
7373 2005-11-03 Stefan Kost <ensonic@users.sf.net>
7375 * docs/gst/gstreamer-sections.txt:
7378 * gst/gstminiobject.h:
7381 more docs and doc style fixes
7383 2005-11-03 Stefan Kost <ensonic@users.sf.net>
7385 * docs/gst/gstreamer-sections.txt:
7387 * gst/gstminiobject.c:
7390 2005-11-03 Andy Wingo <wingo@pobox.com>
7392 * check/states/sinks.c (test_livesrc_sink): Add checks that the
7393 state-changed messages actually have the right order and the right
7396 2005-11-03 Wim Taymans <wim@fluendo.com>
7398 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7399 Added some more checks. Specifically the case where NO_PREROLL
7400 elements are in the pipeline.
7402 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7403 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7404 (gst_base_sink_get_position):
7405 Post READY->PAUSED state change messages too.
7406 Fix bug where VOID was posted as pending state...
7408 * gst/gstbin.c: (gst_bin_recalc_state):
7409 use _element_continue_state() to continue the state change.
7411 * gst/gstelement.c: (gst_element_continue_state),
7412 (gst_element_commit_state), (gst_element_set_state_func),
7413 (gst_element_change_state), (gst_element_change_state_func):
7414 Lots of state change cleanups, assign the STATE_RETURN in
7415 a new continue_state() function that also propagates the
7416 last return value from a state change to the app.
7417 Update some debug statements with proper category.
7419 2005-11-03 Wim Taymans <wim@fluendo.com>
7421 * docs/design/part-events.txt:
7422 * docs/design/part-gstpipeline.txt:
7423 * docs/design/part-messages.txt:
7424 * docs/design/part-overview.txt:
7425 * docs/design/part-seeking.txt:
7426 * docs/design/part-states.txt:
7427 * docs/design/part-trickmodes.txt:
7428 * docs/manual/advanced-position.xml:
7432 People think !! is ugly, this looks better.
7434 * gst/gstpad.c: (gst_pad_set_blocked_async):
7435 Remove !! since it's fixed elsewhere now.
7437 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
7439 * gst/gstminiobject.h:
7441 Add !! to _FLAG_IS_SET macros to make the result boolean.
7443 2005-11-03 Edward Hervey <edward@fluendo.com>
7445 * gst/gstpad.c: (gst_pad_set_blocked_async):
7446 comparing a flag and a gboolean rarely returns coherent results...
7447 Added two characters (!!) to make that work correctly.
7449 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
7451 * gst/gstbus.c: (gst_bus_class_init):
7454 * gst/gstqueue.c: (gst_queue_loop):
7455 Don't assume a miniobject that isn't a buffer is an
7456 event (it could be that there is a refcounting
7457 problem somewhere and the pointer is stale and
7458 refers to an already destroyed miniobject).
7460 2005-11-03 Julien MOUTTE <julien@moutte.net>
7462 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7464 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
7466 * docs/manual/advanced-position.xml:
7467 Update seek example and explanations to current 0.9 API.
7469 * gst/elements/gsttypefindelement.c:
7470 (gst_type_find_element_activate):
7471 Remove FIXME comment now that the found caps
7474 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
7476 * gst/gstregistryxml.c: (load_feature):
7477 Add another GST_STR_NULL instance
7479 2005-11-02 Edward Hervey <edward@fluendo.com>
7481 * gst/gstpad.c: (handle_pad_block):
7482 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7484 2005-11-02 Wim Taymans <wim@fluendo.com>
7489 * gst/gstelement.c: (gst_element_commit_state):
7490 Remove unused value.
7492 * gst/gstiterator.c:
7493 Mention that the returned element is reffed in the docs.
7495 2005-11-02 Wim Taymans <wim@fluendo.com>
7497 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7498 (gst_pad_push), (gst_pad_push_event):
7499 Unlock blocked pads when they are flushed.
7501 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
7504 * docs/gst/gstreamer-sections.txt:
7507 * gst/gstregistry.c: (gst_registry_scan_path_level):
7508 fix for a nasty little missed situation where an installed plug-in
7509 which was in the cache did not get overridden by an uninstalled one
7510 which was earlier in the plugin path because the newly created plugin
7511 for the uninstalled one (not in the registry) didn't get its
7512 ->registered set to TRUE
7514 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
7516 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7517 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7518 (gst_collectpads_is_active), (gst_collectpads_collect),
7519 (gst_collectpads_collect_range), (gst_collectpads_start),
7520 (gst_collectpads_stop), (gst_collectpads_peek),
7521 (gst_collectpads_pop), (gst_collectpads_available),
7522 (gst_collectpads_read), (gst_collectpads_flush):
7523 Guard public API with assertions.
7526 Fix docs for gst_pad_set_link_function().
7528 2005-11-02 Johan Dahlin <johan@gnome.org>
7530 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
7531 Unref found_caps after we used it.
7533 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
7535 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7536 Don't try to ref NULL.
7538 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
7540 * win32/common/config.h.in:
7541 provide a GST_FUNCTION that just gives a string for now
7543 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
7545 * win32/common/gstenumtypes.c: (register_gst_object_flags),
7546 (gst_object_flags_get_type), (register_gst_bin_flags),
7547 (gst_bin_flags_get_type), (register_gst_buffer_flag),
7548 (gst_buffer_flag_get_type), (register_gst_bus_flags),
7549 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7550 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7551 (gst_clock_return_get_type), (register_gst_clock_entry_type),
7552 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7553 (gst_clock_flags_get_type), (register_gst_state),
7554 (gst_state_get_type), (register_gst_state_change_return),
7555 (gst_state_change_return_get_type), (register_gst_state_change),
7556 (gst_state_change_get_type), (register_gst_element_flags),
7557 (gst_element_flags_get_type), (register_gst_core_error),
7558 (gst_core_error_get_type), (register_gst_library_error),
7559 (gst_library_error_get_type), (register_gst_resource_error),
7560 (gst_resource_error_get_type), (register_gst_stream_error),
7561 (gst_stream_error_get_type), (register_gst_event_type),
7562 (gst_event_type_get_type), (register_gst_seek_type),
7563 (gst_seek_type_get_type), (register_gst_seek_flags),
7564 (gst_seek_flags_get_type), (register_gst_format),
7565 (gst_format_get_type), (register_gst_index_certainty),
7566 (gst_index_certainty_get_type), (register_gst_index_entry_type),
7567 (gst_index_entry_type_get_type),
7568 (register_gst_index_lookup_method),
7569 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7570 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7571 (gst_index_resolver_method_get_type), (register_gst_index_flags),
7572 (gst_index_flags_get_type), (register_gst_debug_level),
7573 (gst_debug_level_get_type), (register_gst_debug_color_flags),
7574 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7575 (gst_iterator_result_get_type), (register_gst_iterator_item),
7576 (gst_iterator_item_get_type), (register_gst_message_type),
7577 (gst_message_type_get_type), (register_gst_mini_object_flags),
7578 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7579 (gst_pad_link_return_get_type), (register_gst_flow_return),
7580 (gst_flow_return_get_type), (register_gst_activate_mode),
7581 (gst_activate_mode_get_type), (register_gst_pad_direction),
7582 (gst_pad_direction_get_type), (register_gst_pad_flags),
7583 (gst_pad_flags_get_type), (register_gst_pad_presence),
7584 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7585 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7586 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7587 (gst_plugin_error_get_type), (register_gst_plugin_flags),
7588 (gst_plugin_flags_get_type), (register_gst_rank),
7589 (gst_rank_get_type), (register_gst_query_type),
7590 (gst_query_type_get_type), (register_gst_tag_merge_mode),
7591 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7592 (gst_tag_flag_get_type), (register_gst_task_state),
7593 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7594 (gst_alloc_trace_flags_get_type),
7595 (register_gst_type_find_probability),
7596 (gst_type_find_probability_get_type), (register_gst_uri_type),
7597 (gst_uri_type_get_type), (register_gst_parse_error),
7598 (gst_parse_error_get_type):
7599 * win32/common/gstversion.h:
7602 2005-11-01 Luca Ognibene <luogni@tin.it>
7605 fix docs. popt is dead, long live GOption.
7607 2005-10-31 Wim Taymans <wim@fluendo.com>
7612 2005-10-31 Andy Wingo <wingo@pobox.com>
7616 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7618 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7619 need to serialize property notifications on GLib 2.8. GLib 2.6 has
7620 the possibility of deadlocks here if code calling notify() or
7621 set() has a lock that can be taken in another notify handler (ABBA
7622 with class lock and e.g. python GIL state lock).
7624 2005-10-28 Julien MOUTTE <julien@moutte.net>
7626 * gst/gstbus.c: Doc updates.
7628 2005-10-28 Wim Taymans <wim@fluendo.com>
7630 * docs/design/part-TODO.txt:
7631 * gst/gstiterator.c:
7632 * gst/gstsystemclock.c:
7633 * gst/gstsystemclock.h:
7636 2005-10-28 Edward Hervey <edward@fluendo.com>
7638 * docs/gst/gstreamer-docs.sgml:
7639 * docs/gst/gstreamer-sections.txt:
7640 the GstURIType documentation page is private, it only defines GstURIType
7641 which should be defined in the GstURIHandler page
7643 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
7645 * gst/gstbin.c: (gst_bin_class_init):
7648 Documentation updates.
7650 2005-10-28 Wim Taymans <wim@fluendo.com>
7652 * docs/gst/gstreamer-sections.txt:
7655 Documented the clocks.
7657 2005-10-28 Stefan Kost <ensonic@users.sf.net>
7659 * docs/gst/gstreamer-sections.txt:
7660 move some macros to private sections
7661 * gst/gstminiobject.c:
7662 * gst/gstminiobject.h:
7663 add descriptions provided by ds and some more
7665 mark macro as to be removed
7667 2005-10-28 Wim Taymans <wim@fluendo.com>
7669 * docs/design/part-TODO.txt:
7670 Add an item to TODO.
7672 * gst/gstiterator.c: (gst_iterator_fold),
7673 (gst_iterator_find_custom):
7674 * gst/gstiterator.h:
7677 2005-10-28 Wim Taymans <wim@fluendo.com>
7679 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7680 (gst_base_transform_init):
7683 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7684 An EOS event marks the queue as completely filled.
7686 2005-10-27 Wim Taymans <wim@fluendo.com>
7688 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7689 (gst_base_sink_do_sync), (gst_base_sink_get_position):
7690 Some more debugging.
7692 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7693 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7694 (gst_base_transform_event), (gst_base_transform_getrange),
7695 (gst_base_transform_chain):
7696 * gst/base/gstbasetransform.h:
7698 Protect transform and concurrent buffer alloc with a new lock.
7699 Try not to break ABI/API.
7701 2005-10-27 Wim Taymans <wim@fluendo.com>
7703 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7704 (gst_base_src_init), (gst_base_src_query),
7705 (gst_base_src_default_newsegment),
7706 (gst_base_src_configure_segment), (gst_base_src_do_seek),
7707 (gst_base_src_send_event), (gst_base_src_event_handler),
7708 (gst_base_src_pad_get_range), (gst_base_src_loop),
7709 (gst_base_src_unlock), (gst_base_src_default_negotiate),
7710 (gst_base_src_start), (gst_base_src_deactivate),
7711 (gst_base_src_activate_push), (gst_base_src_change_state):
7712 Move some stuff around and cleanup things.
7714 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
7716 * gst/base/gstbasesrc.c: (gst_base_src_query):
7717 Add missing break statements.
7719 2005-10-27 Wim Taymans <wim@fluendo.com>
7721 * check/gst/gstbin.c: (GST_START_TEST):
7722 An extra refcount is taken in basesrc.
7724 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7725 (gst_base_src_get_range), (gst_base_src_pad_get_range),
7726 (gst_base_src_loop):
7727 Small cleanups, check for flushing after being unlocked from the
7728 LIVE_LOCK. take refcounts correctly (not yet everywhere).
7729 Don't send out EOS when going to READY.
7731 2005-10-27 Wim Taymans <wim@fluendo.com>
7733 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7734 (gst_base_sink_get_position):
7737 * gst/gstbin.c: (message_check), (bin_replace_message),
7738 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7739 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7740 (bin_query_duration_init), (bin_query_duration_fold),
7741 (bin_query_duration_done), (bin_query_generic_fold),
7743 * tools/gst-launch.c: (main):
7746 2005-10-26 Stefan Kost <ensonic@users.sf.net>
7748 * examples/controller/audio-example.c: (main):
7749 * examples/queue/queue.c: (event_loop):
7750 * gst/base/gstbasetransform.h:
7751 * gst/gstelement.c: (gst_element_send_event):
7753 * gst/gstpad.c: (gst_pad_send_event):
7756 changing log priority in error situations
7758 2005-10-25 Wim Taymans <wim@fluendo.com>
7760 * gst/gstbin.c: (message_check), (bin_replace_message),
7761 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7762 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7763 (bin_query_duration_init), (bin_query_duration_fold),
7764 (bin_query_duration_done), (bin_query_generic_fold),
7766 Some doc and debug updates.
7767 Cache previously requested query DURATION for speed. invalidate
7768 cached duration if element posts a DURATION message.
7770 2005-10-25 Wim Taymans <wim@fluendo.com>
7772 * docs/design/part-TODO.txt:
7775 * gst/gstbin.c: (message_check), (bin_replace_message),
7776 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7777 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7778 (bin_query_duration_init), (bin_query_duration_fold),
7779 (bin_query_duration_done), (bin_query_generic_fold),
7781 Handle SEGMENT_START/DONE messages correctly.
7782 More evolved query algorithm that handles duration queries
7785 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7786 (gst_element_get_state_func), (gst_element_abort_state),
7787 (gst_element_commit_state), (gst_element_lost_state):
7788 Some more debugging.
7793 2005-10-25 Wim Taymans <wim@fluendo.com>
7795 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7796 Don't use invalid stream_time.
7798 * gst/gstevent.c: (gst_event_new_newsegment):
7799 stream_time in newsegment cannot be undefined.
7801 2005-10-24 Wim Taymans <wim@fluendo.com>
7806 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7808 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7810 2005-10-24 Stefan Kost <ensonic@users.sf.net>
7812 * docs/libs/tmpl/gstdparam.sgml:
7813 * docs/libs/tmpl/gstdplinint.sgml:
7814 * docs/libs/tmpl/gstdpman.sgml:
7815 * docs/libs/tmpl/gstdpsmooth.sgml:
7816 * docs/libs/tmpl/gstunitconvert.sgml:
7819 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
7824 === release 0.9.4 ===
7826 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
7829 releasing 0.9.4, "Tyrannosaurus Rex"
7831 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
7833 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7834 (gst_file_sink_get_current_offset):
7835 Use fseeko() and ftello() if available. When falling back on
7836 lseek() to get the current offset, fflush() first to make sure
7837 everything is up-to-date and we get the right offset.
7839 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
7841 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7842 * gst/base/gstbasesrc.c: (gst_base_src_loop):
7843 * gst/gsterror.c: (_gst_stream_errors_init):
7845 * gst/gstqueue.c: (gst_queue_loop):
7847 remove prematurely added error category and clean up the instances
7849 2005-10-21 Wim Taymans <wim@fluendo.com>
7851 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7852 (gst_base_sink_get_position), (gst_base_sink_query),
7853 (gst_base_sink_change_state):
7854 Simply set the right flag when going to playing, that's all
7855 we need to do instead of calling a function inside the object
7856 lock (that could take the lock as well and deadlock)
7858 2005-10-21 Wim Taymans <wim@fluendo.com>
7860 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7861 (gst_base_src_loop):
7862 Don't warn, the peer element knows what to do best when
7863 the seek failed, it might try something else.
7865 2005-10-21 Wim Taymans <wim@fluendo.com>
7867 * gst/base/gstbasesrc.c: (gst_base_src_init),
7868 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7871 2005-10-21 Wim Taymans <wim@fluendo.com>
7873 * docs/design/part-segments.txt:
7876 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7877 Correctly set caps, even on the subbufer.
7879 2005-10-21 Wim Taymans <wim@fluendo.com>
7881 * docs/gst/gstreamer-docs.sgml:
7882 * docs/gst/gstreamer-sections.txt:
7889 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7893 And 2% more doc coverage.
7895 2005-10-21 Andy Wingo <wingo@pobox.com>
7897 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7900 2005-10-20 Wim Taymans <wim@fluendo.com>
7902 * gst/gsterror.c: (gst_error_get_message):
7905 * gst/gststructure.c:
7910 2005-10-20 Wim Taymans <wim@fluendo.com>
7915 Another 1% more coverage.
7917 2005-10-20 Wim Taymans <wim@fluendo.com>
7919 * docs/gst/gstreamer-sections.txt:
7920 * gst/gstelement.c: (gst_element_get_state_func),
7921 (gst_element_abort_state), (gst_element_commit_state),
7922 (gst_element_lost_state):
7924 * gst/gstquery.c: (gst_query_set_position),
7925 (gst_query_parse_position), (gst_query_set_duration),
7926 (gst_query_parse_duration), (gst_query_new_convert):
7928 Yay! 1% more docs coverage.
7930 2005-10-20 Wim Taymans <wim@fluendo.com>
7933 * gst/gstquery.c: (gst_query_set_position),
7934 (gst_query_parse_position), (gst_query_set_duration),
7935 (gst_query_parse_duration), (gst_query_new_convert):
7937 * gst/gstutils.c: (gst_element_query_convert):
7939 Docs and consistency fixes.
7941 2005-10-20 Wim Taymans <wim@fluendo.com>
7947 2005-10-20 Wim Taymans <wim@fluendo.com>
7949 * gst/gstbin.c: (message_check), (bin_replace_message),
7950 (bin_remove_messages), (is_eos), (gst_bin_add_func),
7951 (update_degree), (gst_bin_sort_iterator_next),
7952 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7953 Reworked the message handling a bit, cache the messages instead of
7954 only the senders. alows us to do more in the future.
7956 2005-10-20 Wim Taymans <wim@fluendo.com>
7958 * docs/design/part-TODO.txt:
7961 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7962 (gst_base_sink_query):
7963 Don't use clock time to report position when in EOS.
7965 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
7967 * tools/gst-inspect.c: (print_interfaces),
7968 (print_element_properties_info), (print_element_info):
7969 Fix interface output with gst-inspect -a; don't print
7970 newlines after double/float properties.
7972 2005-10-20 Wim Taymans <wim@fluendo.com>
7974 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7975 (gst_base_sink_query):
7976 Speed up current position calculation.
7978 * gst/base/gstbasesrc.c: (gst_base_src_query),
7979 (gst_base_src_default_newsegment):
7980 Correctly set stream position in newsegment.
7982 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7983 (update_degree), (gst_bin_sort_iterator_next),
7984 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7985 * gst/gstmessage.c: (gst_message_new_custom):
7986 Clean up debugging info
7988 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7989 (gst_queue_loop), (gst_queue_handle_src_query):
7992 2005-10-19 Wim Taymans <wim@fluendo.com>
7994 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7995 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7996 Fix query handling again.
7998 2005-10-19 Wim Taymans <wim@fluendo.com>
8000 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8001 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8002 * gst/base/gstbasesrc.c: (gst_base_src_query):
8003 * gst/elements/gstfilesink.c: (gst_file_sink_query):
8004 * gst/elements/gsttypefindelement.c:
8005 (gst_type_find_handle_src_query), (find_element_get_length),
8006 (gst_type_find_element_activate):
8009 * gst/gstquery.c: (gst_query_new_position),
8010 (gst_query_set_position), (gst_query_parse_position),
8011 (gst_query_new_duration), (gst_query_set_duration),
8012 (gst_query_parse_duration), (gst_query_set_segment),
8013 (gst_query_parse_segment):
8015 Bundling query position/duration is not a good idea since duration
8016 does not change much and we don't want to recalculate it for every
8017 position query, so they are separated again..
8018 Base value in segment query is not needed.
8020 * gst/gstqueue.c: (gst_queue_handle_src_query):
8021 * gst/gstutils.c: (gst_element_query_position),
8022 (gst_element_query_duration), (gst_pad_query_position),
8023 (gst_pad_query_duration):
8025 Updates for query API change.
8026 Added some docs here and there.
8028 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
8030 * check/gst/gstbin.c: (GST_START_TEST):
8031 * check/gst/gstghostpad.c: (GST_START_TEST):
8032 * check/pipelines/cleanup.c: (GST_START_TEST):
8033 wait on thread to die so we can check refcount correctly
8035 2005-10-18 Wim Taymans <wim@fluendo.com>
8037 * check/pipelines/stress.c: (GST_START_TEST):
8038 Make check a little more time consuming.
8040 2005-10-18 Wim Taymans <wim@fluendo.com>
8042 * check/Makefile.am:
8043 * check/pipelines/stress.c: (GST_START_TEST),
8044 (simple_launch_lines_suite), (main):
8045 Small state change torture test.
8047 * docs/design/part-states.txt:
8048 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8049 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8050 (gst_base_sink_change_state):
8051 Never take state lock from streaming thread, clean up ugly
8052 hacks. Unfortunatly core does not yet support nice ways to
8055 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8057 Start state recalc if a STATE_DIRTY message is posted, but only
8058 on the toplevel bin.
8060 * gst/gstelement.c: (gst_element_sync_state_with_parent),
8061 (gst_element_get_state_func), (gst_element_abort_state),
8062 (gst_element_commit_state), (gst_element_lost_state),
8063 (gst_element_set_state_func), (gst_element_change_state):
8065 State variables are now protected with the LOCK, the state
8066 lock is only used to serialize _set_state().
8068 2005-10-18 Wim Taymans <wim@fluendo.com>
8070 * check/gst/gstbin.c: (GST_START_TEST):
8071 * check/gst/gstmessage.c: (GST_START_TEST):
8072 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8073 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8075 * gst/gstelement.c: (gst_element_abort_state),
8076 (gst_element_commit_state), (gst_element_lost_state):
8077 * gst/gstmessage.c: (gst_message_new_state_changed),
8078 (gst_message_new_state_dirty), (gst_message_new_segment_start),
8079 (gst_message_new_segment_done), (gst_message_new_duration),
8080 (gst_message_parse_state_changed),
8081 (gst_message_parse_segment_start),
8082 (gst_message_parse_segment_done), (gst_message_parse_duration):
8084 * tools/gst-launch.c: (event_loop):
8085 Seriously, this is better than a previous commit as we only need
8086 to notify the fact that an element changed state in a streaming
8087 thread, marking the state of the parents dirty, hence the
8088 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8091 2005-10-18 Wim Taymans <wim@fluendo.com>
8093 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8094 (gst_bin_recalc_func):
8095 * gst/gstelement.c: (gst_element_set_clock),
8096 (gst_element_abort_state), (gst_element_lost_state):
8097 Cleanups, prepare for state change fixes.
8099 2005-10-18 Wim Taymans <wim@fluendo.com>
8102 * gst/gstelement.c: (gst_element_class_init),
8103 (gst_element_set_state), (gst_element_set_state_func):
8105 Pending ABI changes.
8106 GThreadPool in GstBinClass to monitor async state changes.
8107 state_cookie in GstElement to detect concurrent gst/set state.
8108 set_state is now virtual too in case a very complicated element
8109 has to be constructed.
8111 2005-10-18 Wim Taymans <wim@fluendo.com>
8113 * check/gst/gstbin.c: (GST_START_TEST):
8114 * check/gst/gstmessage.c: (GST_START_TEST):
8115 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8116 * gst/gstbin.c: (bin_bus_handler):
8117 * gst/gstelement.c: (gst_element_commit_state),
8118 (gst_element_lost_state):
8119 * gst/gstmessage.c: (gst_message_new_state_changed),
8120 (gst_message_new_segment_start), (gst_message_new_segment_done),
8121 (gst_message_new_duration), (gst_message_parse_state_changed),
8122 (gst_message_parse_segment_start),
8123 (gst_message_parse_segment_done), (gst_message_parse_duration):
8125 * tools/gst-launch.c: (event_loop):
8126 Make messages future proof.
8127 state-change gets a flag if it was a message comming from the
8129 segment-start/stop can also be specified in other formats.
8130 A message to notify an app that a pipeline changed playback
8132 Also fix a GstMessage leak in -launch
8134 2005-10-18 Andy Wingo <wingo@pobox.com>
8136 * gst/gstelement.c (gst_element_dispose): More helpful message.
8138 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8140 reviewed by: <delete if not using a buddy>
8142 * common/gtk-doc.mak:
8144 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8146 * gst/gstregistry.c: (gst_registry_scan_path_level):
8147 unref a plug-in we get that was already initialized
8149 2005-10-18 Stefan Kost <ensonic@users.sf.net>
8151 * docs/gst/gstreamer-sections.txt:
8152 * docs/libs/gstreamer-libs-sections.txt:
8157 2005-10-17 Andy Wingo <wingo@pobox.com>
8159 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8162 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8164 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8166 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8167 (gst_element_get_state_func): Better debug message.
8168 (gst_element_commit_state): s/INFO/DEBUG/.
8169 (gst_element_lost_state, gst_element_change_state):
8171 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8172 (gst_message_new_custom): s/INFO/LOG/.
8174 2005-10-17 Michael Smith <msmith@fluendo.com>
8176 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8177 Check if end time is valid using end time, not start time.
8179 2005-10-17 Stefan Kost <ensonic@users.sf.net>
8181 * check/gst-libs/controller.c: (GST_START_TEST),
8182 (gst_controller_suite):
8183 * libs/gst/controller/gstcontroller.c:
8184 (gst_controlled_property_set_interpolation_mode):
8185 * libs/gst/controller/gstcontroller.h:
8186 * libs/gst/controller/gstinterpolation.c:
8187 * testsuite/controller/.cvsignore:
8188 * testsuite/controller/Makefile.am:
8189 * testsuite/controller/interpolator.c:
8190 merge controller testsuites
8192 remove mem-chunk from docs
8194 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8196 * gst/gstmemchunk.c:
8197 * gst/gstmemchunk.h:
8198 * gst/gsttrashstack.c:
8199 * gst/gsttrashstack.h:
8200 out. get out. you're fired. to the Attic !
8202 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8204 * gst/gstcaps.c: (gst_caps_intersect):
8205 fix signedness issues in a (hopefully) correct way
8206 * gst/gstelement.c: (gst_element_pads_activate):
8208 * gst/gstobject.c: (gst_object_set_parent):
8211 2005-10-17 Julien MOUTTE <julien@moutte.net>
8213 * gst/gstvalue.h: Fix prototypes.
8215 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8217 * docs/gst/gstreamer-sections.txt:
8218 * gst/gst.c: (gst_version_string):
8220 * gst/gstversion.h.in:
8221 * win32/common/libgstreamer.def:
8222 add gst_version_string ()
8224 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8228 * gst/gst.c: (init_post):
8229 * win32/common/config.h.in:
8231 * gst/gstcaps.c: (gst_caps_intersect):
8232 use gint64, the range could be bigger than a guint
8234 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8237 document potential problem in 2038
8239 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8241 * gst/gstcaps.c: (gst_caps_intersect):
8242 Fix guint j diving under 0
8244 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8247 * win32/common/config.h:
8248 * win32/common/config.h.in:
8249 check for process.h, declares getpid() on Windows
8251 include process.h if we have it
8252 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8253 * gst/gstmemchunk.h:
8254 fix signedness issues
8255 * win32/common/libgstreamer.def:
8258 2005-10-16 Julien MOUTTE <julien@moutte.net>
8260 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8261 fix. Because of unsigned ints, caps intersection was going nuts and
8262 trying to access structures with G_MAXUINT index. That fixes
8263 videotestsrc ! ffmpegcolorspace ! fakesink
8264 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8267 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8270 use the gettext macro
8271 * gst/elements/gstelements.c:
8273 * gst/indexers/gstindexers.c:
8274 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8275 * win32/common/config.h:
8277 * win32/common/config.h.in:
8278 add the template to generate config.h
8279 * win32/common/gstenumtypes.c:
8280 * win32/common/gstversion.h:
8283 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8285 * gst/gst.c: (gst_version):
8286 * gst/gstversion.h.in:
8289 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8292 Oops, add missing closing bracket.
8294 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8297 use common m4's for argument checking
8299 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8301 * docs/gst/gstreamer-sections.txt:
8303 Add GST_EVENT_TYPE_NAME() macro.
8305 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8308 * gst/gstpluginfeature.c:
8310 privatize more symbols
8312 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8315 add srcdir, builddir includes to GST_ALL_CFLAGS, since
8316 everything that uses GStreamer API should have the includes
8318 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8320 * docs/gst/gstreamer-sections.txt:
8321 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8323 give each value a _get_type, removes the DATA exports
8325 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8329 remove _gst_registry_auto_load, not used anymore
8330 * gst/gstbin.c: (gst_bin_get_type):
8332 * gst/gstelement.c: (gst_element_get_type):
8334 * gst/gstobject.c: (gst_object_get_type):
8336 * gst/gstpad.c: (gst_pad_get_type):
8338 make _get_type functions similar, fixes data export from library
8340 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8343 correctly make conditionals
8344 * gst/elements/Makefile.am:
8345 * gst/elements/gstelements.c:
8346 fix typo causing fdsrc not to build
8348 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8350 * testsuite/Makefile.am:
8351 * testsuite/bytestream/.cvsignore:
8352 * testsuite/bytestream/Makefile.am:
8353 * testsuite/bytestream/filepadsink.c:
8354 * testsuite/bytestream/gstbstest.c:
8355 * testsuite/bytestream/test1.c:
8356 * testsuite/bytestream/testfile1:
8357 * testsuite/caps/normalisation.c:
8358 * testsuite/caps/random.c: (main):
8359 * testsuite/cleanup/.cvsignore:
8360 * testsuite/cleanup/Makefile.am:
8361 * testsuite/cleanup/cleanup1.c:
8362 * testsuite/cleanup/cleanup2.c:
8363 * testsuite/cleanup/cleanup3.c:
8364 * testsuite/cleanup/cleanup4.c:
8365 * testsuite/cleanup/cleanup5.c:
8366 * testsuite/controller/interpolator.c:
8367 * testsuite/debug/printf_extension.c: (main):
8368 * testsuite/elements/tee.c:
8369 * testsuite/negotiation/.cvsignore:
8370 * testsuite/negotiation/Makefile.am:
8371 * testsuite/negotiation/pad_link.c:
8372 * testsuite/pad/Makefile.am:
8373 * testsuite/pad/chainnopull.c:
8374 * testsuite/pad/getnopush.c:
8375 * testsuite/pad/link.c:
8376 * testsuite/refcounting/sched.c: (create_pipeline):
8377 * testsuite/registry/Makefile.am:
8378 * testsuite/registry/gst-print-formats.c:
8379 * testsuite/schedulers/.cvsignore:
8380 * testsuite/schedulers/142183-2.c:
8381 * testsuite/schedulers/142183.c:
8382 * testsuite/schedulers/143777-2.c:
8383 * testsuite/schedulers/143777.c:
8384 * testsuite/schedulers/147713.c:
8385 * testsuite/schedulers/147819.c:
8386 * testsuite/schedulers/147894-2.c:
8387 * testsuite/schedulers/147894.c:
8388 * testsuite/schedulers/Makefile.am:
8389 * testsuite/schedulers/group_link.c:
8390 * testsuite/schedulers/queue_link.c:
8391 * testsuite/schedulers/relink.c:
8392 * testsuite/schedulers/unlink.c:
8393 * testsuite/schedulers/unref.c:
8394 * testsuite/schedulers/useless_iteration.c:
8395 * testsuite/states/bin.c:
8396 clean out/remove some stuff from the testsuite directories
8398 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8401 check for some headers
8402 * gst/elements/Makefile.am:
8403 * gst/elements/gstelements.c:
8404 don't compile fdsrc without sys/socket.h
8405 * gst/indexers/Makefile.am:
8406 * gst/indexers/gstindexers.c: (plugin_init):
8407 don't compile fileindex without mmap
8409 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8416 * check/Makefile.am:
8417 * docs/gst/Makefile.am:
8418 * examples/helloworld/Makefile.am:
8420 * gst/base/Makefile.am:
8421 * gst/check/Makefile.am:
8422 * gst/elements/Makefile.am:
8423 * gst/indexers/Makefile.am:
8424 * gst/parse/Makefile.am:
8425 * libs/gst/controller/Makefile.am:
8426 * libs/gst/dataprotocol/Makefile.am:
8427 * examples/helloworld/helloworld.c: (event_loop):
8428 compile fixes, though it's not being compiled currently
8430 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
8432 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8433 Add some simple tests for the new taglist date API.
8435 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
8437 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8438 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8439 Beautify 'last-message' output: print 'none' for buffer timestamps
8440 and durations if none is set; improve alignment with next messages.
8442 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
8444 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8445 * gst/gstpluginfeature.h:
8446 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8447 * gst/gstregistry.h:
8448 * docs/gst/gstreamer-sections.txt:
8449 Add new API to check plugin feature version requirements.
8451 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8452 Some basic tests for the above.
8454 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8456 * gst/gststructure.c: (gst_structure_to_string):
8457 guard against NULL printf - happens when for example
8458 a message structure with GstClock gets serialized
8460 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
8462 * gst/base/gstcollectpads.c: (gst_collectpads_event):
8463 Fix presumable copy'n'pasto.
8465 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8467 * gst/elements/gstfakesrc.h:
8468 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8469 * gst/elements/gsttypefindelement.c:
8471 * gst/elements/gstfilesink.c: (gst_file_sink_render):
8472 I wonder if this could actually write +2GB files before
8474 2005-10-13 Andy Wingo <wingo@pobox.com>
8476 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8477 Fix Timmeke Waymans bug.
8478 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8479 string of the proper length to gst_caps_from_string. There's a
8480 potential for, before this fix, that this could cause someone
8481 connecting over the network to cause a segfault if the payload is
8484 2005-10-13 Stefan Kost <ensonic@users.sf.net>
8486 * docs/design/draft-push-pull.txt:
8487 * docs/design/part-overview.txt:
8488 * docs/random/TODO-pre-0.9:
8489 * docs/random/old/ChangeLog.gstreamer:
8490 * gst/base/gstpushsrc.c:
8494 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8496 * gst/glib-compat.c: (gst_flags_get_first_value):
8497 * gst/glib-compat.h:
8498 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8499 (gst_value_compare_double), (gst_value_serialize_flags):
8500 GLib 2.6 g_flags_get_first_value has a bug that triggers an
8503 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8505 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8506 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8508 * tools/gst-launch.c: (event_loop):
8509 print out clock nicely
8511 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
8513 * docs/gst/gstreamer-sections.txt:
8515 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8516 (gst_tag_list_get_date_index):
8517 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8518 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8520 2005-10-13 Julien MOUTTE <julien@moutte.net>
8522 * gst/base/gstcollectpads.c: (gst_collectpads_event),
8523 (gst_collectpads_chain):
8524 * gst/base/gstcollectpads.h: Handle newsegment and store informations
8527 2005-10-13 Stefan Kost <ensonic@users.sf.net>
8529 * docs/gst/gstreamer-sections.txt:
8532 * tools/gst-inspect.c: (main):
8533 * tools/gst-launch.c: (main):
8534 * tools/gst-run.c: (main):
8535 * tools/gst-xmlinspect.c: (main):
8536 fix GOption context leaks
8539 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
8543 * win32/common/config.h:
8545 * win32/vs6/grammar.dsp:
8546 * win32/vs6/libgstelements.dsp:
8547 * win32/vs6/libgstreamer.dsp:
8550 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
8552 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8553 * gst/base/gstbasesrc.c: (gst_base_src_query):
8554 fix more guint64<->gdouble conversions
8556 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
8559 add win32-update target
8560 * win32/common/gstconfig.h:
8561 * win32/common/gstenumtypes.c:
8562 * win32/common/gstenumtypes.h:
8563 * win32/common/gstversion.h:
8564 add files that visual studio can't generate
8566 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
8569 add a win32-update target
8572 2005-10-12 Wim Taymans <wim@fluendo.com>
8574 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8575 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8576 * gst/gstelement.c: (gst_element_commit_state),
8577 (gst_element_set_state):
8578 Protect flags with proper lock.
8579 unref provided cached clock in dispose.
8581 2005-10-12 Stefan Kost <ensonic@users.sf.net>
8584 * gst/gstminiobject.h:
8586 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8587 removed unused flags from miniobject
8590 2005-10-12 Wim Taymans <wim@fluendo.com>
8592 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8593 (gst_file_sink_event), (gst_file_sink_render):
8594 Flush before seeking.
8596 2005-10-12 Andy Wingo <wingo@pobox.com>
8598 * gst/gst.c (gst_init_check): Ignore unknown options, as has
8599 always been the case.
8601 2005-10-12 Stefan Kost <ensonic@users.sf.net>
8603 * check/gst/gstbin.c: (GST_START_TEST):
8604 * docs/gst/gstreamer-sections.txt:
8605 * gst/base/gstbasesink.c: (gst_base_sink_init):
8606 * gst/base/gstbasesrc.c: (gst_base_src_init),
8607 (gst_base_src_get_range), (gst_base_src_check_get_range),
8608 (gst_base_src_start), (gst_base_src_stop):
8609 * gst/base/gstbasesrc.h:
8610 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8611 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8612 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8616 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8618 * gst/gstelement.c: (gst_element_is_locked_state),
8619 (gst_element_set_locked_state), (gst_element_commit_state),
8620 (gst_element_set_state):
8622 * gst/gstindex.c: (gst_index_init):
8624 * gst/gstminiobject.h:
8625 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8626 (gst_object_set_parent):
8628 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8629 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8631 * gst/gstpadtemplate.h:
8632 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8633 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8634 * gst/gstpipeline.h:
8635 * gst/indexers/gstfileindex.c: (gst_file_index_load),
8636 (gst_file_index_commit):
8637 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8638 * testsuite/pad/link.c: (gst_test_src_init),
8639 (gst_test_filter_init), (gst_test_sink_init):
8640 * testsuite/states/locked.c: (main):
8641 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8642 moved bitshift from macro to enum definition
8644 2005-10-12 Wim Taymans <wim@fluendo.com>
8646 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8647 * gst/elements/gstfilesink.c: (gst_file_sink_event),
8648 (gst_file_sink_render):
8649 Some more debugging info.
8651 2005-10-12 Wim Taymans <wim@fluendo.com>
8653 * docs/design/part-states.txt:
8654 * tools/gst-launch.c: (main):
8656 Revert non-intentional change.
8658 2005-10-12 Wim Taymans <wim@fluendo.com>
8660 * check/gst/gstbin.c: (GST_START_TEST):
8661 * check/gst/gstelement.c: (GST_START_TEST):
8662 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8663 * check/gst/gstghostpad.c: (GST_START_TEST):
8664 * check/gst/gstpipeline.c: (GST_START_TEST):
8665 * check/pipelines/simple_launch_lines.c: (run_pipeline):
8666 * check/states/sinks.c: (GST_START_TEST):
8667 * gst/elements/gsttypefindelement.c: (stop_typefinding):
8668 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8669 (gst_bin_remove_func), (gst_bin_get_state_func),
8670 (gst_bin_recalc_state), (gst_bin_change_state_func),
8672 * gst/gstelement.c: (gst_element_get_state_func),
8673 (gst_element_get_state), (gst_element_abort_state),
8674 (gst_element_commit_state), (gst_element_set_state),
8675 (gst_element_change_state), (gst_element_change_state_func):
8677 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8678 (gst_pipeline_provide_clock_func):
8679 * gst/gstutils.c: (gst_element_link_pads_filtered):
8680 * tools/gst-launch.c: (main):
8681 * tools/gst-typefind.c: (main):
8682 Use GstClockTime in _get_state() instead of GTimeVal.
8683 Remove old code in gstutils.c
8685 2005-10-12 Andy Wingo <wingo@pobox.com>
8687 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8690 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8691 there is no task. Shouldn't affect any code, as nothing in our
8692 plugins checks this return value.
8693 (gst_pad_stop_task): Also take the stream lock if the pad has no
8696 2005-10-12 Wim Taymans <wim@fluendo.com>
8698 * gst/gstpad.c: (pre_activate), (post_activate),
8699 (gst_pad_activate_pull), (gst_pad_activate_push):
8700 Cleanup activation code. Reset old state if
8703 2005-10-12 Wim Taymans <wim@fluendo.com>
8705 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8706 (gst_base_sink_change_state):
8707 No need to prerol after receiving EOS.
8709 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8710 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8711 * gst/elements/gstidentity.c: (gst_identity_event):
8712 Print events more verbosely.
8714 2005-10-12 Wim Taymans <wim@fluendo.com>
8716 * check/Makefile.am:
8717 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8718 * check/states/sinks2.c:
8719 Moved sinks2 testcode in sinks check.
8721 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8722 (gst_bin_remove_func), (gst_bin_recalc_state),
8723 (gst_bin_change_state_func), (bin_bus_handler):
8724 Fix potential race condition when _get_state() iterated over an
8725 ASYNC element right before it posted a state completion.
8728 Do proper cast here.
8730 * gst/gstevent.c: (gst_event_new_newsegment),
8731 (gst_event_parse_newsegment):
8732 A playback rate of 0.0 is not allowed.
8734 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8736 * win32/common/config.h:
8737 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8738 (_trewinddir), (_ttelldir), (_tseekdir):
8739 * win32/common/dirent.h:
8740 * win32/common/gtchar.h:
8741 * win32/common/libgstbase.def:
8742 * win32/common/libgstreamer.def:
8743 * win32/vs6/grammar.dsp:
8744 * win32/vs6/gst_inspect.dsp:
8745 * win32/vs6/gst_launch.dsp:
8746 * win32/vs6/gstreamer.dsw:
8747 * win32/vs6/libgstbase.dsp:
8748 * win32/vs6/libgstelements.dsp:
8749 * win32/vs6/libgstreamer.dsp:
8750 Visual Studio 6 project files, and a new common directory.
8753 2005-10-11 Wim Taymans <wim@fluendo.com>
8755 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8756 (gst_base_sink_do_sync), (gst_base_sink_query),
8757 (gst_base_sink_change_state):
8758 * gst/base/gstbasesink.h:
8759 Correctly parse newsegment info.
8761 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8763 * gst/gst.c: (init_post):
8764 split plugin paths correctly
8766 2005-10-11 Wim Taymans <wim@fluendo.com>
8768 * check/gst/gstevent.c: (GST_START_TEST):
8769 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8770 (gst_base_sink_change_state):
8771 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8772 * gst/base/gstbasetransform.c: (gst_base_transform_event):
8773 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8774 * gst/gstevent.c: (gst_event_new_newsegment),
8775 (gst_event_parse_newsegment):
8777 Added extra flag to newsegment for future API freeze.
8778 Updated check and base elements.
8780 2005-10-11 Julien MOUTTE <julien@moutte.net>
8782 * gst/base/gstcollectpads.c: (gst_collectpads_init),
8783 (gst_collectpads_add_pad), (gst_collectpads_pop),
8784 (gst_collectpads_event), (gst_collectpads_chain):
8785 * gst/base/gstcollectpads.h: Handle EOS correctly.
8787 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8789 * tools/gst-launch.c: (main):
8790 more null protecting
8792 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8794 * gst/gst-i18n-lib.h:
8795 check for ENABLE_NLS, not GETTEXT_PACKAGE
8796 * gst/gstregistry.c: (gst_registry_add_plugin),
8797 (gst_registry_scan_path_level),
8798 (_gst_registry_remove_cache_plugins):
8799 protect possibly NULL strings
8800 * gst/parse/types.h:
8801 config.h already included before
8802 * tools/gst-inspect.c: (main):
8803 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8804 check for ENABLE_NLS, not GETTEXT_PACKAGE
8805 * tools/gst-launch.c: (main):
8806 check for ENABLE_NLS, not GETTEXT_PACKAGE
8808 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8811 if we don't have glib, fail before testing 2.8
8812 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8813 fix a leak, should fix plugins-base testsuite
8815 2005-10-11 Andy Wingo <wingo@pobox.com>
8817 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8818 take the mode we're going to as an arg. Go head and set the mode
8819 and flushing flags now, so that if the activate function starts a
8820 thread all the flags will be in the right state.
8821 (post_activate): Renamed also. Just handle making sure streaming
8822 finishes for the deactivation case, and setting the deactivated
8824 (gst_pad_set_active): Complain loudly if deactivation fails.
8825 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8826 (gst_pad_activate_push): Adapt to pre/post_activate changes,
8827 remove the terrible hack.
8829 2005-10-11 Wim Taymans <wim@fluendo.com>
8831 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8832 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8833 (gst_bin_recalc_state), (gst_bin_change_state_func),
8834 (gst_bin_dispose), (bin_bus_handler):
8836 Prepare to make current EOS message queue more generic.
8839 * gst/gstevent.c: (gst_event_new_newsegment),
8840 (gst_event_parse_newsegment):
8842 Rename base to stream_time.
8847 2005-10-11 Wim Taymans <wim@fluendo.com>
8849 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8850 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8851 (gst_bin_change_state_func), (bin_bus_handler):
8853 Work on proper clock selection.
8855 2005-10-11 Edward Hervey <edward@fluendo.com>
8857 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
8858 * libs/gst/controller/gstcontroller.h:
8859 Added GList* version of _remove_properties() in order to be able to wrap
8862 2005-10-11 Wim Taymans <wim@fluendo.com>
8864 * docs/design/part-states.txt:
8867 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8868 (gst_bin_change_state_func), (bin_bus_handler):
8869 Doc updates. Don't distribute the same clock over and over again.
8875 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8876 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8877 (gst_pad_send_event):
8879 Make probe emission threadsafe again.
8880 Register quarks and move _get_name() from utils.
8883 * gst/gstpipeline.c: (gst_pipeline_class_init),
8884 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8885 Only redistribute the clock of it changed.
8887 * gst/gstsystemclock.h:
8892 Moved the _flow_get_name() to GstPad.
8894 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8896 * check/gst-libs/gdp.c: (GST_START_TEST):
8897 * check/gst/gstcaps.c: (GST_START_TEST):
8898 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8899 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8900 (gst_dp_packet_from_caps):
8901 fix more valgrind warnings before turning up the heat
8903 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
8905 * gst/parse/grammar.y:
8906 some cleanup before the hacking
8908 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
8910 * gst/base/gstbasesrc.c: (gst_base_src_query):
8912 * gst/gstutils.c: (gst_guint64_to_gdouble),
8913 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8915 externalize, basesrc uses it
8916 obviously the implementation needs testing
8918 2005-10-10 Wim Taymans <wim@fluendo.com>
8920 * tests/sched/Makefile.am:
8921 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8922 (make_pipeline3), (make_pipeline4), (print_elem), (main):
8924 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
8926 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8927 apparently converting from guint64 to double is not implemented
8930 2005-10-10 Wim Taymans <wim@fluendo.com>
8932 * check/Makefile.am:
8933 * check/generic/states.c: (GST_START_TEST):
8934 * check/gst/gstbin.c: (GST_START_TEST):
8935 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8936 * check/states/sinks.c: (GST_START_TEST):
8937 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8939 Check fixes, use API as stated in design docs, remove hacks.
8941 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8942 (gst_base_sink_change_state):
8943 Catch stopping our task while we're shutting down.
8945 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8946 (gst_bin_remove_func), (gst_bin_get_state_func),
8947 (gst_bin_recalc_state), (gst_bin_change_state_func),
8950 * gst/gstelement.c: (gst_element_init),
8951 (gst_element_get_state_func), (gst_element_abort_state),
8952 (gst_element_commit_state), (gst_element_lost_state),
8953 (gst_element_set_state), (gst_element_change_state),
8954 (gst_element_change_state_func):
8956 New state change algorithm (see #318116)
8958 * gst/gstpipeline.c: (gst_pipeline_class_init),
8959 (gst_pipeline_init), (gst_pipeline_set_property),
8960 (gst_pipeline_get_property), (do_pipeline_seek),
8961 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8962 * gst/gstpipeline.h:
8963 Remove crude state change hacks.
8968 * tools/gst-launch.c: (main):
8969 Fixes for state change. Needs some more work to fully use the
8972 2005-10-10 Andy Wingo <wingo@pobox.com>
8974 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8976 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8977 this flag, but it's not even in GLib 2.6. Odd. Hack around the
8980 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
8982 * gst/gstiterator.c: (gst_iterator_new):
8983 Fix my previous commit: GTypes passed to gst_iterator_new()
8984 can be fundamental types.
8986 2005-10-10 Wim Taymans <wim@fluendo.com>
8988 * gst/gstelement.c: (gst_element_iterate_pad_list),
8989 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8990 (gst_element_iterate_sink_pads):
8991 Use src/sink pads lists for the respective iterators instead
8994 2005-10-10 Andy Wingo <wingo@pobox.com>
8996 Merged in popt removal + GOption addition patch from Ronald, bug
8999 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9000 GstElement macros around, remove popt-related symbols, add goption
9003 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9005 * docs/gst/Makefile.am:
9006 * docs/libs/Makefile.am: No POPT_CFLAGS.
9008 * examples/manual/Makefile.am:
9009 * docs/manual/basics-init.xml: Doc updates with an example.
9011 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9012 (gst_init), (parse_one_option), (parse_goption_arg):
9013 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9014 bit of hand merging and debugging to get the GOption stuff working
9017 * tests/Makefile.am:
9018 * tools/Makefile.am:
9019 * tools/gst-inspect.c: (main):
9020 * tools/gst-launch.c: (main):
9021 * tools/gst-run.c: (main):
9022 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9024 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9026 * gst/gstiterator.c: (gst_iterator_new):
9027 Add assertions to make sure passed GType is likely to really
9028 be a GType (as the compiler won't catch it if the size and
9029 GType arguments get mixed up, see #318447).
9031 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
9033 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9035 * gst/gstbin.c: (gst_bin_iterate_sorted):
9036 Pass GType and size arguments to gst_iterator_new() in the right
9037 order (maybe we should make _new() take the GType as first argument
9038 just like _new_list()?) (#318447).
9041 2005-10-10 Wim Taymans <wim@fluendo.com>
9043 * gst/gstelement.c: (gst_element_finalize):
9044 And free the GStaticRecMutex too
9046 2005-10-10 Andy Wingo <wingo@pobox.com>
9048 * gst/gstelement.c (gst_element_init, gst_element_finalize):
9049 Allocate and free the mutex properly.
9051 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9053 (GstElement): The state_lock is now recursive. Rebuild your
9054 plugins, suckers. Old macros adapted.
9056 * docs/gst/gstreamer-sections.txt: Doc updates.
9059 * gst/gstutils.c (g_static_rec_cond_timed_wait)
9060 (g_static_rec_cond_wait): Ported from state changes patch, while
9061 we wait on bug #317802 to be solved in a well-distributed GLib.
9063 * gst/gstelement.c (gst_element_change_state_func): Renamed from
9064 gst_element_change_state, variable name changes.
9065 (gst_element_change_state): Split out of gst_element_set_state in
9066 preparation for the state change merge. Doesn't pay attention to
9067 the 'transition' argument.
9068 (gst_element_set_state): Updates, hopefully purely cosmetic.
9069 (gst_element_sync_state_with_parent): MT-safety. Ported from the
9071 (gst_element_get_state_func): Renamed from get_state, cosmetic
9074 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9076 * gst/elements/gstelements.c:
9077 * win32/GStreamer.vcproj:
9079 * win32/dirent.c: (_tseekdir):
9080 * win32/gst-inspect.vcproj:
9081 * win32/gst-launch.vcproj:
9082 * win32/gstconfig.h:
9083 * win32/gstelements.vcproj:
9084 * win32/gstenumtypes.c: (gst_object_flags_get_type):
9085 * win32/gstreamer.def:
9087 updates for the win32 build (patch from Sebastien Moutte)
9089 2005-10-10 Andy Wingo <wingo@pobox.com>
9091 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9092 gst_bin_get_state, cleaned up (but no logic changes).
9093 (bin_element_is_sink): Comment updates.
9094 (sink_iterator_filter): Remove needless cast.
9095 (gst_bin_iterate_sinks): Doc update.
9096 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9097 cleaned up (but no logic changes).
9099 * check/states/sinks.c (test_src_sink): Cleanups from the state
9101 (test_livesrc_sink): Sync on the state.
9103 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9104 the state change patch.
9106 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9109 * check/gst/gstbin.c: Merge in some style fixes and additional
9110 checks from Wim's state change patch.
9112 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9114 * gst/base/gsttypefindhelper.c: (helper_find_peek),
9115 (gst_type_find_helper):
9116 Check whether we have the requested data already in our list of
9117 cached buffers before pulling a new buffer; also make the buffer
9118 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9120 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9125 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9126 don't use long long, it's not portable. Replacing with
9127 gint64 seems to work; let's hope no skeletons fall out of the closet.
9129 2005-10-10 Andy Wingo <wingo@pobox.com>
9131 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9133 2005-10-09 Stefan Kost <ensonic@users.sf.net>
9135 * docs/gst/gstreamer-sections.txt:
9140 * gst/gstmessage.c: (gst_message_parse_state_changed):
9143 more docs, fix compilation
9145 2005-10-09 Philippe Khalaf <burger@speedy.org>
9147 Fixed a few forgotten variables on previous commit
9149 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
9151 * gst/base/gsttypefindhelper.c: (helper_find_peek):
9152 Fix evil typefind crasher: getrange() might return a short
9153 buffer at the end of a file, but gst_type_find_peek() must
9154 either return the full data as requested or NULL, but
9155 never a short buffer.
9157 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
9159 * gst/gstmessage.c: (gst_message_new_state_changed),
9160 (gst_message_parse_state_changed):
9162 don't use "new", it's a C++ keyword
9164 2005-10-08 Wim Taymans <wim@fluendo.com>
9166 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9167 * gst/gstelement.c: (gst_element_post_message):
9168 * gst/gstpipeline.c: (gst_pipeline_change_state):
9169 Small docs and debug updates.
9171 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9173 * docs/gst/gstreamer-sections.txt:
9174 * gst/gstelementfactory.c:
9179 2005-10-08 Wim Taymans <wim@fluendo.com>
9181 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9182 (gst_bin_dispose), (bin_bus_handler):
9183 Fix typos, add comments.
9184 Clear EOS list when going to PAUSED from any direction and do it
9185 in a threadsafe way.
9186 Get base time in a threadsafe way too.
9187 Fix confusing debug in the change_state function.
9188 Various other small cleanups.
9190 * gst/gstelement.c: (gst_element_post_message):
9191 Fix very verbose bus posting code.
9193 * gst/gstpipeline.c: (gst_pipeline_class_init),
9194 (gst_pipeline_set_property), (gst_pipeline_get_property),
9195 (gst_pipeline_change_state):
9196 Small ARG_ -> PROP_ cleanup
9198 2005-10-08 Wim Taymans <wim@fluendo.com>
9200 * gst/gstbin.c: (is_eos), (bin_bus_handler):
9201 Do a less CPU demanding EOS check because we can.
9203 2005-10-08 Wim Taymans <wim@fluendo.com>
9205 * libs/gst/dataprotocol/dataprotocol.c:
9206 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9207 (gst_dp_packet_from_event):
9208 * libs/gst/dataprotocol/dataprotocol.h:
9209 * libs/gst/dataprotocol/dp-private.h:
9210 It's about time we bump the version number.
9211 Since event types don't fit in the guint8 anymore describing
9212 the payload type, make payload type 16 bits wide.
9214 2005-10-08 Wim Taymans <wim@fluendo.com>
9216 * docs/design/part-TODO.txt:
9217 * docs/design/part-clocks.txt:
9218 * docs/design/part-events.txt:
9219 * docs/design/part-gstbin.txt:
9220 * docs/design/part-gstelement.txt:
9221 * docs/design/part-gstpipeline.txt:
9222 * docs/design/part-live-source.txt:
9223 * docs/design/part-messages.txt:
9224 * docs/design/part-overview.txt:
9225 * docs/design/part-states.txt:
9228 2005-10-08 Wim Taymans <wim@fluendo.com>
9232 Fix event quark registration.
9233 Add some space between events so we can insert them in the
9236 2005-10-08 Wim Taymans <wim@fluendo.com>
9238 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9239 (gst_base_sink_handle_buffer):
9246 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9247 (gst_queue_set_property), (gst_queue_get_property):
9249 Remove old unused properties.
9251 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9252 * docs/gst/gstreamer-sections.txt:
9255 * gst/gstminiobject.c:
9256 * gst/gstminiobject.h:
9260 lots of new docs and doc fixes
9262 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9264 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9266 * gst/gstregistry.c: (gst_registry_lookup_locked),
9267 (gst_registry_scan_path_level):
9268 * gst/gstregistryxml.c: (load_plugin):
9269 Only ever load one plugin for a given plugin basename.
9270 This ensures correct overriding of GST_PLUGIN_PATH over
9271 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9272 system installed plugins.
9274 2005-10-08 Wim Taymans <wim@fluendo.com>
9276 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9277 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9278 Prepare for doing QOS.
9280 2005-10-08 Wim Taymans <wim@fluendo.com>
9282 * check/gst/gstbin.c: (GST_START_TEST):
9283 * check/pipelines/cleanup.c: (GST_START_TEST):
9284 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9285 Allow new clock message too.
9287 2005-10-08 Wim Taymans <wim@fluendo.com>
9289 * gst/gstmessage.c: (gst_message_new_error),
9290 (gst_message_new_warning), (gst_message_new_tag),
9291 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9292 (gst_message_new_clock_lost), (gst_message_new_new_clock),
9293 (gst_message_new_segment_start), (gst_message_new_segment_done),
9294 (gst_message_parse_state_changed),
9295 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9296 (gst_message_parse_new_clock):
9298 Also carry the clock in question.
9300 2005-10-08 Wim Taymans <wim@fluendo.com>
9302 * gst/gstmessage.c: (gst_message_new_custom),
9303 (gst_message_new_eos), (gst_message_new_error),
9304 (gst_message_new_warning), (gst_message_new_tag),
9305 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9306 (gst_message_new_new_clock), (gst_message_new_segment_start),
9307 (gst_message_new_segment_done), (gst_message_parse_state_changed),
9308 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9311 Added clock related messages.
9313 * gst/gstpipeline.c: (gst_pipeline_change_state):
9314 Post message when the clock changed.
9316 * tools/gst-launch.c: (event_loop):
9319 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
9321 * tools/gst-inspect.c: (print_element_properties_info):
9322 Can't pass NULL strings to g_print() on windows.
9324 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9327 * docs/gst/Makefile.am:
9328 * docs/gst/gstreamer-docs.sgml:
9329 * docs/gst/running.xml:
9330 * docs/version.entities.in:
9331 add a chapter on running GStreamer.
9332 document GST_DEBUG and GST_PLUGIN* env vars
9334 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9339 remove PLUGINS_BUILDDIR stuff
9340 * gst/gst.c: (init_post):
9341 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9343 remove, it was condescending and not needed
9345 2005-10-08 Wim Taymans <wim@fluendo.com>
9347 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9348 (gst_base_sink_handle_object), (gst_base_sink_event),
9349 (gst_base_sink_wait), (gst_base_sink_handle_event),
9350 (gst_base_sink_change_state):
9351 * gst/base/gstbasesink.h:
9352 Repost EOS message while going to PLAYING if still EOS.
9353 Make sure that when receiving a FLUSH_START we don't attempt
9354 to sync on the clock anymore.
9356 2005-10-08 Wim Taymans <wim@fluendo.com>
9358 * tools/gst-launch.c: (event_loop):
9359 Better message printout.
9361 2005-10-08 Wim Taymans <wim@fluendo.com>
9363 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9364 (gst_bin_child_proxy_get_children_count):
9365 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9366 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9367 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9368 (gst_child_proxy_set_valist):
9369 * gst/parse/grammar.y:
9370 Make ChildProxy threadsafe and fix mem leaks.
9372 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9374 * gst/gst.c: (init_post):
9375 debug the GST_PLUGIN_ env vars
9377 2005-10-08 Wim Taymans <wim@fluendo.com>
9379 * check/gst/gstbin.c: (GST_START_TEST):
9380 * check/gst/gstmessage.c: (GST_START_TEST):
9381 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9382 * gst/gstelement.c: (gst_element_commit_state),
9383 (gst_element_lost_state):
9384 * gst/gstmessage.c: (gst_message_new_state_changed),
9385 (gst_message_parse_state_changed):
9387 * tools/gst-launch.c: (event_loop):
9388 Added extra field to STATE_CHANGE message with the pending
9389 state, which will be different from the new state soon.
9391 2005-10-08 Wim Taymans <wim@fluendo.com>
9393 * gst/gstbus.c: (gst_bus_pop):
9395 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9396 Small cleanups and doc updates.
9398 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9400 * gst/gst.c: (init_pre):
9401 * gst/gstbin.c: (gst_bin_add_func):
9402 log distributing clocks and base time
9403 * gst/gstregistry.c: (gst_registry_add_plugin),
9404 (gst_registry_scan_path_level), (gst_registry_scan_path):
9405 clean up the debugging output a little
9406 * gst/gstutils.c: (gst_element_state_get_name):
9407 warn about a memleak (I've actually seen this be used, though
9408 it was probably a bug)
9410 2005-10-07 Wim Taymans <wim@fluendo.com>
9412 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9413 (gst_base_src_init), (gst_base_src_default_newsegment),
9414 (gst_base_src_newsegment), (gst_base_src_do_seek),
9415 (gst_base_src_loop), (gst_base_src_start):
9416 * gst/base/gstbasesrc.h:
9417 Make the newsegment event customizable by subclasses.
9419 2005-10-07 Wim Taymans <wim@fluendo.com>
9421 * gst/gstevent.c: (gst_event_new_buffersize),
9422 (gst_event_parse_buffersize):
9424 New event for future idea.
9426 2005-10-07 Andy Wingo <wingo@pobox.com>
9428 * gst/gstelement.c (gst_element_post_message): Doc update.
9430 * docs/gst/gstreamer-sections.txt: Update.
9432 * gst/gstmessage.c (gst_message_new_application): Made into a
9433 function like honest API calls.
9434 (gst_message_new_element): New message type.
9436 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9438 * check/elements/fakesrc.c (test_no_preroll): New check, checks
9439 that setting a live fakesrc to PAUSED returns NO_PREROLL both
9442 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9443 NO_PREROLL from gst_element_change_state to fall through.
9445 2005-10-07 Wim Taymans <wim@fluendo.com>
9447 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9448 (gst_ghost_pad_do_activate_push):
9449 Activating a ghostpad with no internal pad in push mode
9452 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
9455 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9456 Fixes compilation on Windows.
9458 2005-10-07 Michael Smith <msmith@fluendo.com>
9460 * tools/gst-inspect.c:
9461 Print out feature and plugin count at the end when printing out
9464 2005-10-04 Michael Smith <msmith@fluendo.com>
9466 * gst/gsterror.c: (_gst_stream_errors_init):
9467 Add another error string used in a few existing plugins.
9470 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9471 * tools/gst-inspect.c: (print_element_info):
9472 When a feature disappears from a plugin (and the feature exists in
9473 the cached registry file), things went horribly wrong. This isn't a
9474 complete fix, we should actually be removing the 'missing' features
9475 from the features list when we load the actual plugin. That's not
9478 2005-10-04 Johan Dahlin <johan@gnome.org>
9480 * check/gst/gstiterator.c: (GST_START_TEST):
9481 * gst/gstbin.c: (gst_bin_iterate_elements),
9482 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9483 * gst/gstelement.c: (gst_element_iterate_pads):
9484 * gst/gstformat.c: (gst_format_iterate_definitions):
9485 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9486 (gst_iterator_new_list), (gst_iterator_filter):
9487 * gst/gstiterator.h:
9488 * gst/gstquery.c: (gst_query_type_iterate_definitions):
9489 Add a GType to GstIterator, update callsites and tests.
9491 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9493 * gst/gstpad.c: (gst_pad_event_default_dispatch):
9494 give events a chance to be handled by event probes when the pad
9497 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9499 * gst/gstevent.c: (gst_event_type_get_name),
9500 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9502 add string representations for event types
9504 2005-10-06 Wim Taymans <wim@fluendo.com>
9506 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9507 Don't use NULL pointers.
9509 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9511 * gst/gst_private.h:
9515 * gst/gstpluginfeature.c:
9516 widen the debug category in output to fit the biggest one we have
9517 add a bus category and use it
9518 play with the colors
9519 fix up some categories
9521 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
9523 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9524 add push activation of sink ghost pads.
9525 Andye, please verify
9527 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
9529 * gst/gstutils.c: (gst_element_link_pads):
9530 fix a bug in the case where neither element has a pad
9531 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9532 add a test for that case
9534 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
9536 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9537 emit have-data before checking for peers. This allows
9538 for probe handlers to connect elements. This helps autopluggers.
9539 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9541 add six checks, linked/unlinked with no/true/false probe
9543 2005-10-04 Wim Taymans <wim@fluendo.com>
9545 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9546 (gst_fake_sink_event), (gst_fake_sink_preroll),
9547 (gst_fake_sink_render), (gst_fake_sink_change_state):
9548 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9549 (gst_fake_src_get_property), (gst_fake_src_create),
9550 (gst_fake_src_stop):
9551 * gst/elements/gstidentity.c: (gst_identity_stop):
9552 Protect last_message with lock.
9554 2005-10-04 Edward Hervey <edward@fluendo.com>
9557 Added precision in the comments for GST_FORMAT_DEFAULT
9559 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
9561 * tools/gst-launch.c: (main):
9562 Don't try to run erroneous pipelines.
9564 2005-10-04 Julien MOUTTE <julien@moutte.net>
9566 * gst/gstbus.c: We don't need this header.
9568 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
9573 === release 0.9.3 ===
9575 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
9579 Releasing 0.9.3, "Unregistered"
9581 2005-10-03 Andy Wingo <wingo@pobox.com>
9583 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9584 whereby calling a pad's activatepush() function can start a thread
9585 that starts to push or pull before the pad gets the FLUSHING flag
9586 unset. Hack around it by holding the stream lock until the flag is
9587 set. Need to replace this with a proper solution. Together with
9588 the ghost pad fixes, this fixes mp3 playing/tagreading.
9590 * docs/design/part-gstghostpad.txt: Add a note about activation of
9591 proxy pads outside of ghost pads.
9593 * gst/gstghostpad.c: Implement the ghost pad activation design.
9595 2005-10-02 Andy Wingo <wingo@pobox.com>
9597 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9598 It is volatile, after all.
9600 * docs/design/part-gstghostpad.txt: Flesh out activation with
9603 * gst/base/gstbasesrc.c (gst_base_src_init): Use
9606 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
9609 Fix (unused) AM_CONDITIONAL tests.
9611 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
9613 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9615 * gst/gstutils.c: (gst_pad_query_convert):
9616 Add assertion that makes sure src_val is >=0, just like
9617 gst_query_new_convert() has. (#315895)
9619 2005-09-30 Edward Hervey <edward@fluendo.com>
9621 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9622 Let's not iterate pads we're not interested in, it avoids getting
9623 sky-high refcounts on sinkpad.
9625 2005-09-30 Wim Taymans <wim@fluendo.com>
9627 * gst/gstelement.c: (gst_element_set_state),
9628 (gst_element_change_state):
9629 Small tweak, element in ASYNC remains ASYNC.
9631 2005-09-30 Wim Taymans <wim@fluendo.com>
9633 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9634 Only error is an error.
9636 * gst/gstbin.c: (gst_bin_change_state):
9639 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9640 Also call pad_block in pad alloc.
9642 * gst/gstutils.c: (gst_flow_get_name):
9645 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
9647 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9648 (gst_base_src_get_range):
9649 Fix documentation typos. Add some more debug info.
9651 2005-09-29 David Schleef <ds@schleef.org>
9653 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9654 more end-user friendly.
9655 * tools/gst-inspect.c: (main): Check if command-line argument is
9656 a file and attempt to load that file as a plugin.
9658 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
9660 * check/gst/gstbin.c:
9661 * check/states/sinks.c:
9662 fix tests for the new warning
9663 * check/gst/gstpipeline.c:
9664 add a test for pipeline and bus interaction
9666 elements should be NULL if they get disposed; add a warning if not
9668 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
9671 for 2.6 refcounting, make debug log more correct by printing
9672 the actual refcounts at the time of swap (Wim)
9674 2005-09-29 Andy Wingo <wingo@pobox.com>
9676 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9677 removes signal watches previously added via
9678 gst_bus_add_signal_watch.
9679 (gst_bus_add_signal_watch): Don't return the source id, just store
9680 it on the bus if there wasn't an id already.
9682 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9683 add_signal_watch and remove_signal_watch.
9685 2005-09-29 Edward Hervey <edward@fluendo.com>
9687 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9688 Better if we actually iterate the list :)
9690 2005-09-29 Wim Taymans <wim@fluendo.com>
9692 * check/gst/gstbin.c: (GST_START_TEST):
9693 Change for new bus API.
9695 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9696 (send_messages), (GST_START_TEST), (gstbus_suite):
9697 Change for new bus signal API.
9699 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9700 (gst_bus_source_prepare), (gst_bus_source_check),
9701 (gst_bus_create_watch), (gst_bus_add_watch_full),
9702 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9703 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9705 Remove support for multiple GSources operating on different
9706 message types as it is too complex and unneeded when using
9708 Added support for receiving signals from the bus.
9710 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
9712 * docs/libs/tmpl/gstdataprotocol.sgml:
9713 * docs/manual/advanced-dataaccess.xml:
9714 * gst/elements/gstcapsfilter.c:
9716 rename filter-caps to caps property
9718 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
9720 * gst/gstvalue.c: (gst_value_deserialize_fraction):
9721 More robust fraction string parsing.
9723 * docs/pwg/appendix-porting.xml:
9724 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9726 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
9728 * gst/gstcaps.c: (gst_caps_do_simplify):
9729 Thou shalt not free a structure and then continue using it
9730 in the next loop iteration.
9732 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9734 Add test case for caps simplification.
9736 2005-09-29 Wim Taymans <wim@fluendo.com>
9738 * check/gst/gstbin.c: (GST_START_TEST):
9741 2005-09-29 Wim Taymans <wim@fluendo.com>
9743 * check/gst/gstbin.c: (GST_START_TEST):
9746 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9747 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9748 (find_element), (gst_bin_sort_iterator_next),
9749 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9750 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9751 (gst_bin_change_state), (gst_bin_dispose):
9752 A bin does not have a bus, it gets the bus from the parent.
9754 * gst/gstelement.c: (gst_element_requires_clock),
9755 (gst_element_provides_clock), (gst_element_is_indexable),
9756 (gst_element_is_locked_state), (gst_element_change_state),
9757 (gst_element_set_bus_func):
9760 * gst/gstpipeline.c: (gst_pipeline_class_init),
9761 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9762 The pipeline provides a bus.
9764 2005-09-28 Johan Dahlin <johan@gnome.org>
9766 * gst/gstmessage.c (gst_message_parse_state_changed): Use
9767 gst_structure_get_enum instead of gst_structure_get_int
9769 * gst/gststructure.c (gst_structure_get_enum): Impl.
9771 * gst/gststructure.h (gst_structure_get_enum): Add
9773 * docs/gst/gstreamer-sections.txt: Ditto
9775 * gst/gstmessage.c (gst_message_new_state_changed): Use
9776 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9777 which does introspection.
9778 Reviewed by Christian Schaller
9780 2005-09-28 Stefan Kost <ensonic@users.sf.net>
9782 * gst/gstinfo.c: (gst_debug_log_default):
9783 don't do dummy g_strdup()s
9784 * libs/gst/controller/gstcontroller.c:
9785 (on_object_controlled_property_changed),
9786 (gst_controlled_property_new), (gst_controller_new_valist),
9787 (gst_controller_new_list),
9788 (gst_controller_remove_properties_valist), (gst_controller_set),
9789 (gst_controller_get), (gst_controller_sync_values),
9790 (gst_controller_get_value_array), (_gst_controller_class_init),
9791 (gst_controller_get_type):
9792 * libs/gst/controller/gstcontroller.h:
9793 * libs/gst/controller/gstinterpolation.c:
9794 (gst_controlled_property_find_timed_value_node):
9795 convert // to /**/ comments
9797 2005-09-28 Wim Taymans <wim@fluendo.com>
9799 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9800 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9801 (gst_bus_sync_signal_handler):
9803 Added async-message and sync-message signals to the bus.
9804 Added helper BusFunc to emit signals for all posted messages.
9806 * gst/gstmessage.c: (gst_message_type_get_name),
9807 (gst_message_type_to_quark), (gst_message_get_type):
9809 Register quarks for message names.
9811 2005-09-28 Stefan Kost <ensonic@users.sf.net>
9813 * docs/libs/gstreamer-libs-sections.txt:
9814 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9815 (gst_controller_new_list):
9816 * libs/gst/controller/gstcontroller.h:
9817 added another constructor for language bindings
9819 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
9821 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9825 * gst/gstinfo.c: (_gst_debug_init):
9826 slightly more readable color for refcount debugging
9828 2005-09-28 Wim Taymans <wim@fluendo.com>
9830 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9831 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9832 (find_element), (gst_bin_sort_iterator_next),
9833 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9834 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9835 (gst_bin_change_state), (gst_bin_dispose):
9836 Small doc fixes. get_clock -> provide_clock.
9838 * gst/gstelement.c: (gst_element_class_init),
9839 (gst_element_provides_clock), (gst_element_provide_clock),
9840 (gst_element_get_clock), (gst_element_commit_state),
9841 (gst_element_lost_state):
9843 Make get/set_clock() symetric. Add provide_clock vmethod since
9844 that is actually what this function does.
9846 * gst/gstpipeline.c: (gst_pipeline_class_init),
9847 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9848 (gst_pipeline_get_clock):
9849 get_clock -> provide_clock.
9851 2005-09-28 Andy Wingo <wingo@pobox.com>
9853 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9854 lieu of real docs...
9856 * gst/elements/gstfdsrc.c: Cleaned up a bit.
9858 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
9860 * gst/elements/gstcapsfilter.c:
9861 * gst/elements/gstfakesink.c:
9862 * gst/elements/gstfakesrc.c:
9863 * gst/elements/gstfdsink.c:
9864 * gst/elements/gstfdsrc.c:
9865 * gst/elements/gstfilesink.c:
9866 * gst/elements/gstfilesrc.c:
9867 * gst/elements/gstidentity.c:
9868 * gst/elements/gsttee.c:
9869 * gst/elements/gsttypefindelement.c:
9870 Make element details static.
9872 2005-09-28 Wim Taymans <wim@fluendo.com>
9874 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9875 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9876 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9877 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9878 (gst_bin_change_state), (gst_bin_dispose):
9879 Some documentation updates.
9880 Clean up dispose handlers.
9882 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9883 * gst/gstpad.c: (gst_pad_dispose):
9884 Clean up dispose handler.
9886 * gst/gstpipeline.c: (gst_pipeline_change_state):
9887 Removed spurious UNLOCK.
9889 2005-09-27 Stefan Kost <ensonic@users.sf.net>
9891 * docs/gst/gstreamer-sections.txt:
9892 * gst/base/gstbasesrc.h:
9897 * gst/gstpipeline.c:
9898 * gst/gstpipeline.h:
9901 added two new functions to the docs
9902 documents all undocumented GstXXXFlags
9903 completed some incomplete docs
9905 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
9907 * gst/gstbin.c: (gst_bin_dispose):
9908 * gst/gstelement.c: (gst_element_dispose):
9909 remove now useless and leaky resurrection code in dispose
9910 * gst/base/gstbasesrc.c: (gst_base_src_init):
9911 * gst/gstelementfactory.c: (gst_element_factory_create):
9912 * gst/gstobject.c: (gst_object_set_parent):
9915 2005-09-27 Wim Taymans <wim@fluendo.com>
9917 * docs/design/part-TODO.txt:
9920 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9921 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9922 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9923 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9924 (gst_bin_change_state):
9926 Remove element variable, we keep element info in the iterator now.
9928 2005-09-27 Andy Wingo <wingo@pobox.com>
9930 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9933 2005-09-27 Wim Taymans <wim@fluendo.com>
9935 * check/gst/gstbin.c: (GST_START_TEST):
9936 Enable check that works now.
9938 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9939 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9940 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9941 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9942 (gst_bin_change_state):
9944 Redid the state change algorithm using a topological sort algo.
9945 Handles all cases correctly.
9946 Exposed iterator for state change order.
9949 Temp storage for state changes. Need to get rid of this soon.
9951 2005-09-27 Wim Taymans <wim@fluendo.com>
9953 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9954 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9955 (link_fold_func), (gst_pad_proxy_setcaps):
9956 Leak fixes, the fold functions need to unref the passed object and
9957 _get_parent_*() returns ref to parent.
9959 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
9961 * check/gst/gstbuffer.c: (test_make_writable):
9962 Plug leak in test case and fix 'make check-valgrind'
9964 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
9966 * gst/gstbuffer.c: (gst_subbuffer_init):
9967 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9968 works correctly in all circumstances (we could have just copied
9969 the parent buffer's readonly flag, but conceptually it seems
9970 cleaner to mark all subbuffers as read-only). (based on patch
9971 by Alessandro Decina, #314710).
9973 * check/gst/gstbuffer.c: (create_read_only_buffer),
9974 (test_make_writable), (test_subbuffer_make_writable),
9976 Add some tests for gst_buffer_make_writable().
9978 2005-09-27 Wim Taymans <wim@fluendo.com>
9980 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9981 use gst_object_has_ancestor().
9983 * gst/gstobject.c: (gst_object_has_ancestor):
9985 gst_object_has_ancestor() copied from gstbin.c as it is a
9988 * tests/instantiate/create.c: (create_all_elements):
9989 * tests/lat.c: (handoff_src), (handoff_sink):
9990 * tests/sched/runxml.c: (main):
9991 * tests/seeking/seeking1.c: (main):
9992 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9994 Fix compilation of some tests.
9996 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
9999 Remove comment. GST_TYPE_G_ERROR is here to stay,
10000 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10001 (#316961, #300610).
10003 2005-09-26 Wim Taymans <wim@fluendo.com>
10005 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10006 Added check that shows error in state change order.
10008 2005-09-26 Wim Taymans <wim@fluendo.com>
10010 * gst/gstbin.c: (gst_bin_change_state):
10011 Make state change function use 3 queues again, we were
10012 adding elements in the wrong order.
10014 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10017 * gst/gstpad.c: (gst_pad_dispose):
10018 Added some debug info first.
10020 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
10022 * docs/design/draft-push-pull.txt:
10023 * docs/design/part-events.txt:
10024 * docs/design/part-overview.txt:
10025 * docs/design/part-scheduling.txt:
10026 Replace all _pull_region() with _pull_range()
10028 2005-09-26 Andy Wingo <wingo@pobox.com>
10030 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10032 * check/gst-libs/controller.c: Update for controller api change.
10035 * tests/Makefile.am:
10036 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10037 over by GLib bug 118439.
10039 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10040 routines to a function.
10042 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10044 * libs/gst/controller/gsthelper.c:
10045 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10046 (gst_object_sync_values): Renamed from sink_values. Ugh.
10048 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10050 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10051 Renamed from controller_key, as it is exported.
10053 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10055 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
10060 * gst/gstpadtemplate.h:
10063 * gst/gstqueryutils.c:
10064 * gst/gstqueryutils.h:
10065 remove queryutils headers after moving the two used functions
10066 to gstquery. also fixes build problem for gstsiddec
10068 2005-09-26 Michael Smith <msmith@fluendo.com>
10070 * tools/gst-launch.1.in:
10071 Correct documentation in manpage of debug syntax
10073 2005-09-26 Wim Taymans <wim@fluendo.com>
10075 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10076 (gst_base_src_is_seekable), (gst_base_src_change_state):
10077 Some more debugging info.
10079 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10081 * docs/gst/gstreamer-sections.txt:
10082 * gst/base/gstbasetransform.h:
10086 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10088 * docs/gst/.cvsignore:
10089 * docs/gst/tmpl/.cvsignore:
10090 * docs/gst/tmpl/gstpipeline.sgml:
10091 * docs/gst/tmpl/gstplugin.sgml:
10092 * gst/gstpipeline.c:
10095 inlined the last two docs files
10096 removed the tmpl directory from cvs (no more conflicts here!)
10098 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10100 * docs/gst/gstreamer-sections.txt:
10101 * docs/gst/tmpl/.cvsignore:
10102 * docs/gst/tmpl/gstpad.sgml:
10103 * docs/gst/tmpl/gstpadtemplate.sgml:
10105 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10106 (gst_pad_finalize), (gst_pad_set_pad_template):
10108 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10109 (gst_pad_template_class_init), (gst_pad_template_init),
10110 (gst_pad_template_dispose), (name_is_valid),
10111 (gst_static_pad_template_get), (gst_pad_template_new),
10112 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10113 (gst_pad_template_pad_created):
10114 * gst/gstpadtemplate.h:
10115 inlined two more docs
10116 factored gstpadtemplate out of gstpad
10118 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
10120 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10121 (test_children_state_change_order_semi_sink):
10122 Fix test case: we can't rely on a fixed state change order when
10123 going from READY => PAUSED because the sink might commit its
10124 new state first when the first buffer created by the source
10125 reaches the sink before the source has finished its change state.
10126 (Test case still fails at times, see #316856, comment 5 onwards)
10128 2005-09-24 Wim Taymans <wim@fluendo.com>
10130 * docs/design/part-events.txt:
10131 * docs/design/part-gstbus.txt:
10132 * docs/design/part-gstpipeline.txt:
10133 * docs/design/part-messages.txt:
10134 * docs/design/part-overview.txt:
10135 * docs/design/part-segments.txt:
10139 * gst/gstelement.c:
10142 * gst/gstiterator.c:
10143 Various documentation updates.
10145 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
10148 Well, that's embarassing. Luckily we weren't using
10149 GST_CLOCK_DIFF anywhere.
10151 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10153 * common/gtk-doc.mak:
10154 don't fail on building XML, FC4 slave shows a bunch of doc
10155 missing bits that I don't get
10157 * gst/gstpipeline.c:
10158 * gst/gststructure.c:
10161 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10163 * docs/design/part-gstbin.txt:
10164 * docs/design/part-gstbus.txt:
10166 Add blurb about how the bus goes into flushing mode and
10167 drops all messages when its bin goes from READY into NULL
10170 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10172 * docs/gst/gstreamer-sections.txt:
10173 * gst/gststructure.c: (gst_structure_get_clock_time):
10174 * gst/gststructure.h:
10175 add a method to get a GstClockTime out of a structure
10177 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10179 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10180 (test_children_state_change_order_semi_sink), (gst_bin_suite):
10181 Added test to check state change order in bins (can still be made
10182 to fail here under heavy disk load; bails out with 'Push on pad
10183 fakesink:sink0, but it was not activated in push mode').
10185 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10186 Fix state change order when there is only a semi sink (#316856)
10188 * gst/gstbus.c: (gst_bus_class_init):
10189 Use _class_peek_parent(), not _class_ref(); fix docs to say
10190 'default main context' instead of 'mainloop' where that is
10193 * gst/gstelement.c: (gst_element_commit_state),
10194 (gst_element_set_state):
10195 Fix typos in debug messages
10197 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10200 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10201 * gst/gstpluginfeature.c:
10203 various doc updates
10204 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10205 change an assert into an error until it gets fixed properly
10207 2005-09-23 Stefan Kost <ensonic@users.sf.net>
10209 * docs/gst/gstreamer-sections.txt:
10210 * docs/gst/tmpl/.cvsignore:
10211 * docs/gst/tmpl/gstelement.sgml:
10212 * docs/gst/tmpl/gstinfo.sgml:
10213 * docs/gst/tmpl/gstobject.sgml:
10214 * gst/gstelement.c:
10215 * gst/gstelement.h:
10218 * gst/gstobject.c: (gst_object_class_init):
10220 inlined 3 more biiiig doc files and added some missing docs on the fly
10222 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10224 * check/gst/.cvsignore:
10225 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10226 * gst/gstregistryxml.c: (load_plugin),
10227 (gst_registry_xml_save_plugin):
10228 put back source in registry. add checks for find_plugin.
10229 * testsuite/states/bin.c: (assert_state), (empty_bin),
10230 (test_adding_one_element), (main):
10231 * testsuite/states/locked.c: (main):
10232 some compile/run fixes
10234 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
10236 * check/gst/gstvalue.c: (GST_START_TEST):
10237 fix leaks in the test itself
10239 2005-09-22 Wim Taymans <wim@fluendo.com>
10241 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10242 (gst_base_sink_send_event), (gst_base_sink_peer_query),
10243 (gst_base_sink_query):
10244 Prepare for more accurate position reporting and query
10247 * gst/gstelement.c: (gst_element_send_event),
10248 (gst_element_set_state):
10251 2005-09-22 Wim Taymans <wim@fluendo.com>
10253 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10254 (gst_query_parse_segment):
10256 More documentation.
10257 Add segment query for future use.
10259 2005-09-22 Wim Taymans <wim@fluendo.com>
10261 * gst/gstbin.c: (gst_bin_add_func):
10262 Some more debug info.
10264 * gst/gstelement.c: (gst_element_send_event):
10265 Simplify send_event
10267 * gst/gstelement.h:
10268 Don't know how flags got broken.
10273 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10275 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10276 Add simplistic test suite for GST_TYPE_DATE serialisation and
10279 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10281 * docs/gst/gstreamer-sections.txt:
10282 * gst/gststructure.c: (gst_structure_set_valist),
10283 (gst_structure_get_date):
10284 * gst/gststructure.h:
10285 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10286 (gst_date_copy), (gst_value_compare_date),
10287 (gst_value_serialize_date), (gst_value_deserialize_date),
10288 (gst_value_transform_date_string),
10289 (gst_value_transform_string_date), (_gst_value_initialize):
10291 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10292 bunch of utility functions along with a hack that checks that
10293 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10294 is required. Part of the grand scheme in #170777.
10296 2005-09-22 Andy Wingo <wingo@pobox.com>
10298 * gst/gstconfig.h.in: Psych out gtk-doc.
10300 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10302 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10304 * tools/gst-inspect.c (print_element_list): Plug some
10305 inconsequential leaks.
10307 * gst/gstregistry.c (gst_registry_get_default): Doc.
10309 * check/gst/gstplugin.c:
10310 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10311 * gst/gstelementfactory.c (gst_element_factory_create):
10312 * gst/gstindexfactory.c (gst_index_factory_create): Update for
10315 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10316 (gst_plugin_feature_load): Doc, don't eat refs.
10318 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10319 (gst_plugin_list_free): Doc.
10320 (gst_plugin_load_file): Doc updates.
10322 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10323 accessors returning refcounted objects, return a ref.
10325 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10326 accessor for caps. IDEMPOTENCE. Oh yes.
10328 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
10330 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10332 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10333 (_gst_debug_register_funcptr):
10334 Add mutex to serialise access to the hash table with
10335 the function pointer => function name string mapping;
10336 make that hash table static scope (#316809).
10338 * gst/registries/.cvsignore:
10339 Remove left-over file.
10341 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
10343 * docs/pwg/appendix-porting.xml:
10344 And something about newsegment events and caps-on-buffers to
10345 the porting guide (feel free to improve).
10347 2005-09-21 Andy Wingo <wingo@pobox.com>
10349 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10350 data and event probes on the same pad.
10351 (test_buffer_probe_once): Test that removing probes from within
10352 the probe functions works.
10354 2005-09-21 Andy Wingo <wingo@pobox.com>
10356 * check/gst/gstutils.c: New file.
10357 (test_buffer_probe_n_times): A simple buffer probe test. More to
10360 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10361 have-data::buffer, not have-data.
10362 (gst_pad_add_event_probe): Likewise for have-data::event.
10363 (gst_pad_add_data_probe): More docs. The part about 'resolving the
10364 peer' isn't quite right yet though.
10365 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
10366 (gst_pad_remove_data_probe): Change to take the guint handler_id
10367 as their arg, not the function+data, which is more glib-like.
10369 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10370 the signal emission to indicate if the data is a buffer or an
10372 (gst_pad_get_type): Initialize buffer and event quarks.
10373 (gst_pad_class_init): have-data is now a detailed signal, yes it
10376 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
10378 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10379 * gst/gstutils.c: (gst_util_set_value_from_string),
10380 (gst_util_set_object_arg):
10381 Don't put functional code in g_return_if_fail() or
10382 g_return_val_if_fail() statements, otherwise things will
10383 break when G_DISABLE_CHECKS is defined during compilation.
10385 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10387 * docs/gst/tmpl/.cvsignore:
10388 * docs/gst/tmpl/gstvalue.sgml:
10391 inlied another one and added some obvious docs
10393 2005-09-21 Wim Taymans <wim@fluendo.com>
10395 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10396 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10397 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10398 (gst_fdsrc_get_property), (gst_fdsrc_create):
10399 * gst/elements/gstfdsrc.h:
10400 Properly implement fdsrc. Removed signal and timeout,
10401 better implemented somewhere else.
10403 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10405 * docs/gst/tmpl/.cvsignore:
10406 * docs/gst/tmpl/gstimplementsinterface.sgml:
10407 * gst/gstinterface.c:
10410 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10412 * docs/gst/gstreamer-sections.txt:
10413 * docs/gst/tmpl/.cvsignore:
10414 * docs/gst/tmpl/gstenumtypes.sgml:
10415 remove obsolete doc file
10417 2005-09-21 David Schleef <ds@schleef.org>
10419 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10420 little beer, fix a little leak.
10422 2005-09-21 Stefan Kost <ensonic@users.sf.net>
10424 * docs/gst/gstreamer-docs.sgml:
10425 * docs/gst/gstreamer-sections.txt:
10426 * docs/gst/tmpl/.cvsignore:
10430 * gst/gstelement.h:
10431 * gst/gstindex.c: (gst_index_class_init):
10433 * gst/gstindexfactory.c: (gst_index_factory_get_type),
10434 (gst_index_factory_class_init), (gst_index_factory_init),
10435 (gst_index_factory_finalize), (gst_index_factory_new),
10436 (gst_index_factory_destroy), (gst_index_factory_find),
10437 (gst_index_factory_create), (gst_index_factory_make):
10438 * gst/gstindexfactory.h:
10439 * gst/gstpluginfeature.c:
10440 * gst/gstpluginfeature.h:
10441 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10442 more docs inlined, splitted gstindex.{c,h}
10444 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10446 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10449 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
10451 * gst/elements/gstfilesink.c: (gst_file_sink_init):
10452 Set sync to FALSE by default.
10454 2005-09-20 Wim Taymans <wim@fluendo.com>
10456 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10457 (gst_base_sink_init):
10458 Make sync property settable from subclass.
10460 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10461 (gst_fake_sink_change_state):
10462 Set sync to FALSE by default.
10464 2005-09-20 Wim Taymans <wim@fluendo.com>
10466 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10467 * tools/gst-launch.c: (main):
10468 The timeout handler should have lower priority than the source
10469 so we don't timeout before popping a message with 0 timeout.
10470 Dump error messages after failed state change.
10472 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
10474 * tools/gst-inspect.c: (print_element_properties_info):
10477 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10479 * check/gst/gstevent.c:
10480 * gst/elements/gstfakesink.c:
10481 * gst/elements/gstfakesink.h:
10482 remove the sync property from fakesink.
10483 has the side effect of setting sync TRUE
10484 for fakesink, which is a change. Anyone who knows how
10485 to fix this nicely in a GObject-y way, feel free.
10487 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10489 * docs/gst/gstreamer-docs.sgml:
10490 remove probe refsection
10492 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10494 * check/Makefile.am:
10495 disable valgrinding the controller test again
10496 * docs/gst/gstreamer-sections.txt:
10497 update for api-changes
10499 2005-09-20 Wim Taymans <wim@fluendo.com>
10501 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10502 (gst_base_sink_set_property), (gst_base_sink_get_property),
10503 (gst_base_sink_do_sync):
10504 * gst/base/gstbasesink.h:
10505 Added sync property to basesink to disable clock sync.
10507 2005-09-20 Andy Wingo <wingo@pobox.com>
10509 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10510 eating the caller's refcount.
10512 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
10513 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10516 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10517 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10518 of GLib 2.8 public, so we can know which refcount to check in
10521 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10522 (gst_object_init): Only set the gst refcount if we're going ahead
10523 with the refcount hack.
10525 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10527 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10528 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10529 more leaks plumbed, added more debug-logging
10533 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10535 * gst/gstmessage.c:
10536 remove include of gstmemchunk.h
10538 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10540 * gst/gstclock.c: (_gst_clock_id_free):
10541 Commit from the Political Party For More Atomic CVS Commits,
10542 so that people don't waste too much of their day fishing
10543 out obvious leaks out of massive commits.
10544 Oh, and fix a pretty damn obvious leak in the memchunk
10547 2005-09-20 Stefan Kost <ensonic@users.sf.net>
10549 * check/Makefile.am:
10550 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10551 plug mem-leak, re-add to valgrindable tests
10553 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
10556 unbreak the build for those who have chronic arthritis
10557 and typing "make check" is just too taxing on the hands
10559 2005-09-20 Andy Wingo <wingo@pobox.com>
10561 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10562 really want it out, you should fix plugins at the same time.
10564 2005-09-19 Stefan Kost <ensonic@users.sf.net>
10567 * docs/gst/gstreamer-sections.txt:
10569 added missing symbols to api docs
10570 disable ref-count hack if we have glib >= 2.8
10572 2005-09-19 David Schleef <ds@schleef.org>
10574 * docs/gst/Makefile.am: Ignore a few more internal headers
10575 * docs/gst/gstreamer-docs.sgml: Remove old sections
10576 * docs/gst/gstreamer-sections.txt: Remove old sections
10577 * docs/gst/tmpl/gstobject.sgml: update
10578 * docs/gst/tmpl/gstplugin.sgml: update
10579 * docs/gst/tmpl/gstpluginfeature.sgml: update
10580 * docs/random/ds/0.9-suggested-changes: update.
10581 * gst/Makefile.am: remove memchunk and trashstack, since they're
10583 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10584 * gst/gst.h: don't include some headers
10585 * gst/gstchildproxy.c: add gstmarshal.h
10586 * gst/gstclock.c: Don't use memchunks
10587 * gst/gstminiobject.c: Add some docs
10588 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10589 * gst/gstobject.h: same
10590 * gst/gstplugin.c: include gstmacros.h
10591 * gst/gstplugin.h: don't include gstmacros.h, since it's private
10592 * gst/gstquery.c: don't use memchunks
10593 * gst/gstregistry.c: rename gst_registry_deinit()
10594 * gst/gstregistry.h: same
10596 2005-09-19 David Schleef <ds@schleef.org>
10598 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10599 * docs/libs/gstreamer-libs-sections.txt:
10600 * docs/libs/tmpl/gstgetbits.sgml:
10601 * docs/libs/tmpl/gstputbits.sgml:
10603 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
10605 * win32/gstenumtypes.c:
10606 * win32/gstenumtypes.h:
10609 2005-09-19 Wim Taymans <wim@fluendo.com>
10611 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10612 Automatically PAUSE and RESUME a pipeline when a flushing seek
10615 2005-09-19 Andy Wingo <wingo@pobox.com>
10617 * gst/gstregistry.h: Spacing fixen.
10619 2005-09-19 Wim Taymans <wim@fluendo.com>
10621 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10622 Handle state change failure more correctly.
10624 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
10626 * check/Makefile.am:
10627 * check/pipelines/cleanup.c: (run_pipeline):
10628 * check/pipelines/simple_launch_lines.c: (run_pipeline),
10630 enable cleanup again after fixing the leak
10632 some more info on docs
10634 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
10636 * check/Makefile.am:
10637 re-enable tests now that leaks are plugged
10639 * check/gst/gstbin.c:
10640 * check/gst/gstpipeline.c:
10641 add some more tests while fixing leaks
10642 * common/check.mak:
10643 make sure binaries are uptodate when valgrinding/gdbing
10645 * gst/gstelementfactory.c:
10646 remove a ref too many, and add a FIXME for when we get
10647 round to disposing of classes
10649 fix the refcounting when loading a plugin from a file and
10650 the code pretends that the pointer is the same even though
10651 of course it can change
10652 * gst/gstpluginfeature.c:
10653 unref plugins marked cached (a bit confusing as a name)
10654 as the docs state should be done
10655 various doc additions to explain refcounting
10656 * gst/gstregistry.c:
10657 * gst/gstregistryxml.c:
10660 2005-09-19 Wim Taymans <wim@fluendo.com>
10662 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10663 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10664 (send_messages), (GST_START_TEST), (gstbus_suite):
10665 * check/gst/gstpipeline.c: (GST_START_TEST):
10666 * check/pipelines/cleanup.c: (run_pipeline):
10667 * check/pipelines/simple_launch_lines.c: (run_pipeline),
10669 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10670 (gst_bus_source_check), (gst_bus_source_dispatch),
10671 (gst_bus_create_watch), (gst_bus_add_watch_full),
10672 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10674 * tools/gst-launch.c: (event_loop):
10675 * tools/gst-md5sum.c: (event_loop):
10676 GstBusHandler -> GstBusFunc, return value has the same meaning as
10677 any other GSource (FALSE == remove source).
10678 _add_watch() and _add_watch_full() now take a MessageType mask to
10679 only handle specific types of messages.
10680 _poll() returns the GstMessage instead of the message type to avoid
10682 _have_pending() takes a MessageType mask now too.
10683 Added testsuite for multiple bus watches.
10684 Fix testsuites and applications for new bus API.
10686 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
10688 * check/Makefile.am:
10689 mark a bunch of the tests as to fix until we fix them
10691 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
10693 * common/check.mak:
10694 use GST_PLUGIN settings for valgrind tests as well, so we're
10695 valgrinding the correct thing
10696 * gst/gst.c: (init_post):
10699 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
10701 * gst/gst.c: (init_post), (gst_deinit):
10702 * gst/gstelementfactory.c: (gst_element_factory_class_init),
10703 (gst_element_factory_finalize), (gst_element_factory_cleanup):
10704 * gst/gstindex.c: (gst_index_factory_class_init),
10705 (gst_index_factory_finalize):
10706 * gst/gstobject.c: (gst_object_dispose):
10707 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10708 (gst_plugin_load_file), (gst_plugin_desc_free):
10709 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10710 (gst_plugin_feature_finalize):
10711 * gst/gstregistry.c: (gst_registry_class_init),
10712 (gst_registry_init), (gst_registry_finalize),
10713 (gst_registry_get_default), (gst_registry_deinit):
10714 * gst/gstregistry.h:
10715 * gst/gstregistryxml.c: (load_feature), (load_plugin):
10716 various cleanups and memleak plugging. make valgrind is happy now.
10718 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
10720 * common/check.mak:
10721 add a check-valgrind target
10723 2005-09-18 David Schleef <ds@schleef.org>
10725 * tools/gst-inspect.c: Revert the GOption code.
10727 2005-09-17 David Schleef <ds@schleef.org>
10729 * check/Makefile.am: Fix environment variables.
10730 * check/gst/gstplugin.c: Fix for API changes.
10731 * tools/gst-inspect.c: Fix for API changes.
10732 * tools/gst-xmlinspect.c: Fix for API changes.
10733 * gst/gstelementfactory.c:
10736 * gst/gstpluginfeature.c:
10737 * gst/gstpluginfeature.h:
10738 * gst/gstregistry.c:
10739 * gst/gstregistry.h:
10740 * gst/gstregistryxml.c:
10741 * gst/gsttypefind.c:
10742 * gst/gsttypefindfactory.c:
10743 * gst/indexers/gstfileindex.c:
10744 * gst/indexers/gstmemindex.c:
10745 * gst/schedulers/Makefile.am:
10746 Change registry to keep track of both plugins and features,
10747 removing the feature tracking from plugins themselves.
10749 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
10751 * check/Makefile.am:
10752 * tools/gst-register.1.in:
10753 remove gst-register
10755 2005-09-15 David Schleef <ds@schleef.org>
10757 * check/gst/gstplugin.c:
10758 * gst/gstelementfactory.c:
10760 * gst/gstpluginfeature.c:
10761 * gst/gstregistry.c:
10762 Getting tired of debugging. Disabled all the unreffing of
10763 plugins and features, which fixes the segfaults, but of
10764 course leaks like crazy. At least playbin works.
10766 2005-09-15 David Schleef <ds@schleef.org>
10768 * check/gst/gstplugin.c: (register_check_elements),
10769 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10771 * gst/elements/gsttypefindelement.c: Fix refcounting.
10772 * gst/gsttypefind.c:
10773 * gst/gsttypefindfactory.c:
10774 * gst/gsttypefindfactory.h:
10776 2005-09-15 David Schleef <ds@schleef.org>
10778 * gst/gstindex.c: get refcounting correct.
10779 * gst/gstregistry.c: Handle the case where a feature/plugin is
10782 2005-09-15 David Schleef <ds@schleef.org>
10784 * check/Makefile.am:
10785 * check/gst/gstplugin.c: Add test
10786 * gst/gstplugin.c: Fix problems noticed by testsuite
10788 * gst/gstregistry.c:
10789 * gst/gstregistry.h:
10791 2005-09-15 David Schleef <ds@schleef.org>
10793 * gst/gstplugin.c: Implement semi-decent recounting and locking
10794 in plugins and plugin features.
10796 * gst/gstpluginfeature.c:
10797 * gst/gstpluginfeature.h:
10798 * gst/gstregistry.c:
10800 2005-09-15 Michael Smith <msmith@fluendo.com>
10802 * gst/gstregistry.c: (gst_registry_get_feature_list):
10803 Implement this. Makes oggdemux work; decodebin still broken.
10805 2005-09-14 David Schleef <ds@schleef.org>
10807 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10809 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10810 * gst/check/Makefile.am:
10811 * libs/gst/controller/Makefile.am:
10812 * libs/gst/dataprotocol/Makefile.am:
10814 2005-09-14 David Schleef <ds@schleef.org>
10816 * configure.ac: Remove getbits library. Nothing uses it, and
10817 it should be in something like liboil if someone did want
10819 * libs/gst/Makefile.am:
10820 * libs/gst/getbits/Makefile.am:
10821 * libs/gst/getbits/gbtest.c:
10822 * libs/gst/getbits/getbits.c:
10823 * libs/gst/getbits/getbits.h:
10824 * libs/gst/getbits/gstgetbits_generic.c:
10825 * libs/gst/getbits/gstgetbits_i386.s:
10826 * libs/gst/getbits/gstgetbits_inl.h:
10828 2005-09-14 David Schleef <ds@schleef.org>
10830 * gst/Makefile.am: Dist glib-compat.h
10832 2005-09-14 David Schleef <ds@schleef.org>
10834 * configure.ac: Remove gst/registries, since it's no longer used.
10835 * gst/registries/Makefile.am:
10836 * gst/registries/gstlibxmlregistry.c:
10837 * gst/registries/gstlibxmlregistry.h:
10838 * gst/registries/gstxmlregistry.c:
10839 * gst/registries/gstxmlregistry.h:
10840 * gst/registries/registrytest.c:
10842 2005-09-14 David Schleef <ds@schleef.org>
10844 * gst/glib-compat.h:
10845 * gst/gstregistryxml.c:
10846 Convergence is near. Seriously.
10848 2005-09-14 David Schleef <ds@schleef.org>
10850 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10851 * gst/glib-compat.h:
10852 Attempt #4 to appease the buildbots.
10854 2005-09-14 David Schleef <ds@schleef.org>
10856 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10859 2005-09-14 David Schleef <ds@schleef.org>
10861 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10864 2005-09-14 David Schleef <ds@schleef.org>
10866 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10869 2005-09-14 David Schleef <ds@schleef.org>
10871 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10872 * gst/glib-compat.h: Add some functions that are in newer versions
10873 of glib than we care to require.
10874 * gst/gstregistryxml.c: Use them.
10876 2005-09-14 David Schleef <ds@schleef.org>
10878 * po/POTFILES.in: remove gst-register.c
10880 2005-09-14 David Schleef <ds@schleef.org>
10882 * docs/gst/gstreamer-docs.sgml:
10883 * docs/gst/gstreamer-sections.txt:
10884 * docs/gst/gstreamer.types:
10885 * docs/gst/tmpl/gstelement.sgml:
10886 * docs/gst/tmpl/gstplugin.sgml:
10887 * docs/gst/tmpl/gstpluginfeature.sgml:
10888 Documentation updates for registry changes.
10890 2005-09-14 David Schleef <ds@schleef.org>
10892 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10893 because we don't require glib-2.8.
10895 2005-09-14 David Schleef <ds@schleef.org>
10897 * gst/gstregistryxml.c: Added. Essentially moved out of the
10898 registries directory.
10900 2005-09-14 David Schleef <ds@schleef.org>
10902 * check/Makefile.am:
10903 * check/generic/states.c:
10907 * gst/gst_private.h:
10908 * gst/gstelementfactory.c:
10913 * gst/gstpluginfeature.c:
10914 * gst/gstpluginfeature.h:
10915 * gst/gstregistry.c:
10916 * gst/gstregistry.h:
10917 * gst/gstregistrypool.c: remove
10918 * gst/gstregistrypool.h: remove
10919 * gst/gsttypefind.c:
10920 * gst/gsttypefindfactory.c:
10922 * tools/Makefile.am:
10923 * tools/gst-compprep.c:
10924 * tools/gst-inspect.c:
10925 * tools/gst-register.c: remove
10926 * tools/gst-xmlinspect.c:
10927 Registry rewrite. Changes registry from being a file created
10928 by a tool into a simple cache file created automatically by
10929 libgstreamer. Removed gst-register (because it's no longer
10930 needed). Remove registry pools, because we only have one
10931 registry implementation (XML). Fix up other subsystems as
10934 2005-09-13 Michael Smith <msmith@fluendo.com>
10936 * gst/gstconfig.h.in:
10937 Don't Use windows linking attributes for MinGW. Fixes #316157
10939 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
10941 * gst/gstutils.c: (set_state_async_thread_func),
10942 (gst_element_set_state_async):
10943 Apparently people think it's better if this function doesn't
10944 try to set the state to whatever state was asked for on the first
10945 call to this function for any object. Seriously.
10947 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
10949 * check/gst/gstpipeline.c: (GST_START_TEST):
10950 * docs/gst/gstreamer-sections.txt:
10951 * gst/gstutils.c: (set_state_async_thread_func),
10952 (gst_element_set_state_async):
10954 add a "gst_element_set_state_async" method that
10955 sets the state and starts a thread to make sure the state
10956 change completes as best as it can
10958 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
10960 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10961 codify design+behaviour in testsuite after discussion
10963 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
10965 * docs/gst/tmpl/gstelement.sgml:
10966 * docs/manual/appendix-quotes.xml:
10968 * gst/gstelement.c: (gst_element_set_state):
10971 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
10973 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10974 (gst_base_transform_prepare_output_buf),
10975 (gst_base_transform_handle_buffer):
10976 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10977 (gst_capsfilter_prepare_buf):
10978 Remove the requirement for sub-classes to call the parent
10979 implementation of prepare_output_buffer with a wrapper function.
10981 * gst/gsttaglist.h:
10982 * gst/gsttagsetter.h:
10983 Fix #define wrapper
10985 2005-09-11 Stefan Kost <ensonic@users.sf.net>
10987 * docs/gst/gstreamer-sections.txt:
10990 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
10992 * docs/gst/gstreamer-sections.txt:
10993 * docs/gst/tmpl/gstelement.sgml:
10994 * docs/gst/tmpl/gstplugin.sgml:
10995 * gst/gstminiobject.c:
10997 docs now stop throwing warnings
10999 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11001 * docs/gst/gstreamer-sections.txt:
11002 * docs/gst/gstreamer.types:
11003 * docs/gst/tmpl/gstpad.sgml:
11004 * docs/gst/tmpl/gsttypes.sgml:
11005 * gst/base/gstadapter.h:
11006 * gst/base/gstbasesink.h:
11007 * gst/base/gstbasesrc.h:
11013 * gst/gstelement.h:
11015 * gst/gstmessage.h:
11017 * gst/gststructure.c:
11018 * gst/registries/gstlibxmlregistry.h:
11019 various documentation fixes
11021 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11023 * docs/gst/gstreamer-sections.txt:
11024 * docs/gst/tmpl/gstvalue.sgml:
11025 rearrange gstvalue section
11026 * gst/gstutils.c: (gst_element_state_get_name):
11028 * gst/gstvalue.c: (_gst_value_initialize):
11032 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
11034 * check/gst-libs/controller.c:
11035 Header include fix.
11036 * gst/base/gstbasetransform.c:
11037 (gst_base_transform_default_prepare_buf),
11038 (gst_base_transform_handle_buffer):
11039 * gst/base/gstbasetransform.h:
11040 Some more basetransform changes and fixes to enable sub-classes
11041 that modify buffer metadata only.
11042 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11043 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11044 (gst_capsfilter_prepare_buf):
11045 If the output pad has fixed allowed caps and input buffers
11046 don't have any, set the fixed caps on outgoing buffers.
11048 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
11049 * check/elements/identity.c: (GST_START_TEST):
11050 Make the error a little clearer when the test fails because
11051 identity made a copy of the buffer.
11052 * docs/gst/gstreamer-sections.txt:
11053 New symbols in gstbasetransform.h
11054 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11055 (gst_base_transform_init), (gst_base_transform_transform_size),
11056 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11057 (gst_base_transform_default_prepare_buf),
11058 (gst_base_transform_get_unit_size),
11059 (gst_base_transform_buffer_alloc),
11060 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11061 (gst_base_transform_change_state),
11062 (gst_base_transform_set_passthrough),
11063 (gst_base_transform_set_in_place),
11064 (gst_base_transform_is_in_place):
11065 * gst/base/gstbasetransform.h:
11066 Change BaseTransform to separate in_place operate from same_caps
11067 output. in_place implies that the element can perform the transform
11068 on incoming buffers in-place, even if the caps on the output are
11070 Sub-class elements can now implement special buffer allocation
11071 methods for outgoing buffers if they wish to.
11072 Big documentation addition.
11073 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11074 * gst/elements/gstelements.c:
11075 Changes for basetransform modifications.
11076 * gst/elements/Makefile.am:
11077 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11078 Compile fix. Extra debug output.
11080 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11082 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11084 add tests for valid pad naming
11085 * gst/check/gstcheck.c: (gst_check_log_message_func),
11086 (gst_check_log_critical_func):
11088 remove printing of code, it is fragile when the code contains
11089 % and the line number is enough info
11090 * gst/check/gstcheck.h:
11091 * gst/gstpad.c: (gst_pad_template_new):
11094 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11097 say what CHECK flags we use
11098 * docs/libs/gstreamer-libs.types:
11099 * libs/gst/controller/Makefile.am:
11100 * libs/gst/controller/gst-controller.c:
11101 * libs/gst/controller/gst-controller.h:
11102 * libs/gst/controller/gst-helper.c:
11103 * libs/gst/controller/gst-interpolation.c:
11104 * libs/gst/controller/gstcontroller.c:
11105 * libs/gst/controller/gsthelper.c:
11106 * libs/gst/controller/gstinterpolation.c:
11107 * tools/gst-inspect.c: (print_plugin_info):
11108 we don't use dashes in header names
11110 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11112 * check/Makefile.am:
11113 * check/gst/.cvsignore:
11114 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11115 (gst_pipeline_suite), (main):
11116 adding a test for pipelines and state changes
11117 * gst/gstutils.c: (get_state_func):
11119 * gstreamer.spec.in:
11122 2005-09-08 Michael Smith <msmith@fluendo.com>
11124 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11125 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11126 (gst_file_src_is_seekable), (gst_file_src_get_size),
11127 (gst_file_src_start):
11128 * gst/elements/gstfilesrc.h:
11129 Various fixes for unseekable, unmmapable, and non-normal files, so
11130 that fallback to read() rather than mmap() works.
11131 * gst/gstevent.c: (gst_event_new_newsegment):
11132 Allow newsegment events with segment_start == segment_end, as will
11133 correctly happen if you use filesrc on a zero-size file, for
11136 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11138 * gst/gstplugin.c: (gst_plugin_load_file):
11139 Call g_module_close when we don't load the module
11141 * gst/registries/gstlibxmlregistry.c:
11142 (gst_xml_registry_get_property):
11143 Port leak fix from 0.8
11145 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11147 * docs/gst/gstreamer-docs.sgml:
11148 * docs/gst/tmpl/.cvsignore:
11149 * docs/gst/tmpl/gsttrace.sgml:
11150 * docs/gst/tmpl/gsttrashstack.sgml:
11153 * gst/gstelement.h:
11155 * gst/gstmessage.c:
11156 * gst/gstmessage.h:
11159 * gst/gsttaginterface.c:
11160 * gst/gsttaginterface.h:
11161 * gst/gsttaglist.c:
11162 * gst/gsttaglist.h:
11163 * gst/gsttagsetter.c:
11164 * gst/gsttagsetter.h:
11167 * gst/gsttrashstack.c:
11168 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11169 inlined docs for gsttrace, gsttrashstack
11171 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11174 * gst/elements/gstbufferstore.h:
11175 * gst/elements/gsttypefindelement.c:
11176 * gst/elements/gsttypefindelement.h:
11178 * gst/gsttypefind.c:
11179 * gst/gsttypefind.h:
11180 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11181 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11182 (gst_type_find_factory_dispose),
11183 (gst_type_find_factory_unload_thyself),
11184 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11185 (gst_type_find_factory_get_caps),
11186 (gst_type_find_factory_get_extensions),
11187 (gst_type_find_factory_call_function):
11188 * gst/gsttypefindfactory.h:
11189 * gst/registries/gstlibxmlregistry.c:
11190 * gst/registries/gstxmlregistry.c:
11191 splitted gsttypefind into gsttypefind, gsttypefindfactory
11193 2005-09-07 Andy Wingo <wingo@pobox.com>
11195 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11196 condition whereby the pad's task function is entered before the
11197 pad_mode variable was set.
11199 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11201 * gst/gstpad.c: (gst_pad_alloc_buffer):
11202 Catch misbehaving pad_alloc functions that don't
11203 set up caps and do it for them.
11205 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11207 * check/pipelines/simple_launch_lines.c: (run_pipeline):
11208 test for pipe!=NULL
11209 * docs/gst/tmpl/.cvsignore:
11210 * docs/gst/tmpl/gstmemchunk.sgml:
11211 * docs/gst/tmpl/gstparse.sgml:
11212 * docs/gst/tmpl/gsttaglist.sgml:
11213 * docs/gst/tmpl/gsttagsetter.sgml:
11214 * docs/gst/tmpl/gsttypefind.sgml:
11215 * docs/gst/tmpl/gsttypefindfactory.sgml:
11216 * gst/gstmemchunk.c:
11219 * gst/gsttaginterface.c:
11220 * gst/gsttypefind.c:
11221 * gst/gsttypefind.h:
11224 === release 0.9.2 ===
11226 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
11231 releasing 0.9.2, "South"
11233 2005-09-05 Andy Wingo <wingo@pobox.com>
11235 * gst/registries/gstxmlregistry.h:
11236 * gst/registries/gstxmlregistry.c: Um... resurrect...
11238 * gst/registries/gstxmlregistry.h:
11239 * gst/registries/gstxmlregistry.c: and update to newer API.
11240 Incidentally they should be a bit faster now that they don't have
11243 2005-09-05 Andy Wingo <wingo@pobox.com>
11245 * gst/registries/gstxmlregistry.h:
11246 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11247 replaced by the libxml registry a while back
11249 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11251 * docs/gst/tmpl/gstplugin.sgml:
11252 * gst/elements/gstelements.c:
11254 * gst/gstplugin.c: (gst_plugin_register_func),
11255 (gst_plugin_desc_copy), (gst_plugin_desc_free),
11256 (gst_plugin_get_source):
11258 * gst/registries/gstlibxmlregistry.c: (load_plugin),
11259 (gst_xml_registry_save_plugin):
11260 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11261 (gst_xml_registry_save_plugin):
11262 * tools/gst-inspect.c: (print_plugin_info):
11263 add a "source" plugin description field, to represent the source
11264 module this plugin is a part of. By default GST_PLUGIN_DEFINE
11265 will set it to PACKAGE, which is automake's idea of the name of
11266 the source project.
11268 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11273 * docs/Makefile.am:
11274 * docs/faq/Makefile.am:
11275 * docs/gst/tmpl/gstelement.sgml:
11276 * docs/gst/tmpl/gsttypes.sgml:
11277 * docs/htmlinstall.mak:
11278 * docs/manual/Makefile.am:
11279 * docs/pwg/Makefile.am:
11280 reorganize doc build a little
11281 split out docbook and gtk-doc stuff
11282 have two separate --enable's and enable them through autogen
11283 but disable by default in configure (to be similar to other
11285 * gstreamer.spec.in:
11286 clean up docs install
11304 translation updates
11306 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
11308 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11311 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11312 (gst_fake_sink_change_state):
11313 Make state change function thread-safe.
11315 * gst/gstpad.c: (gst_pad_alloc_buffer):
11316 Set offset on generic buffer allocated by fallback.
11318 2005-09-03 Stefan Kost <ensonic@users.sf.net>
11320 * docs/gst/gstreamer-sections.txt:
11321 * docs/gst/tmpl/gstelement.sgml:
11323 * libs/gst/controller/gst-controller.c:
11324 (gst_controlled_property_set_interpolation_mode),
11325 (gst_controlled_property_new),
11326 (gst_controller_find_controlled_property):
11327 run the wingo-magic script against the docs
11329 2005-09-02 Stefan Kost <ensonic@users.sf.net>
11331 * docs/gst/gstreamer-docs.sgml:
11332 * docs/gst/gstreamer-sections.txt:
11333 * docs/gst/tmpl/.cvsignore:
11334 * docs/gst/tmpl/gstelementdetails.sgml:
11335 * docs/gst/tmpl/gstelementfactory.sgml:
11338 * gst/gstelementfactory.c:
11339 * gst/gstelementfactory.h:
11340 merged elementdetails docs into elementfactory docs
11343 2005-09-02 Andy Wingo <wingo@pobox.com>
11345 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11346 consider this enum an enum and not a flags.
11348 2005-09-02 Stefan Kost <ensonic@users.sf.net>
11350 * docs/gst/gstreamer-docs.sgml:
11351 * docs/gst/tmpl/.cvsignore:
11352 * docs/gst/tmpl/gstghostpad.sgml:
11353 * docs/gst/tmpl/gstiterator.sgml:
11354 * docs/gst/tmpl/gstmacros.sgml:
11355 * docs/gst/tmpl/gstrealpad.sgml:
11356 * docs/gst/tmpl/gstregistry.sgml:
11357 * docs/gst/tmpl/gstregistrypool.sgml:
11358 * docs/gst/tmpl/gststructure.sgml:
11359 * docs/gst/tmpl/gstsystemclock.sgml:
11360 * docs/gst/tmpl/gsttrace.sgml:
11361 * gst/gstghostpad.c:
11363 * gst/gstmemchunk.c:
11364 * gst/gstmemchunk.h:
11366 * gst/gstregistry.c:
11367 * gst/gstregistrypool.c:
11368 * gst/gststructure.c:
11369 * gst/gstsystemclock.c:
11372 2005-09-02 Andy Wingo <wingo@pobox.com>
11374 * gst/gstelement.h (GstState): Renamed from GstElementState,
11375 changed to be a normal enum instead of flags.
11376 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11377 munged to be GST_STATE_CHANGE_*.
11378 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11379 work with the new state representation.
11380 (GstStateChange): New enumeration of possible state transitions.
11381 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11382 (GstElementClass::change_state): Pass the GstStateChange along as
11383 an argument. Helps language bindings, so they don't have to use
11384 tricky lock-needing macros like GST_STATE_CHANGE ().
11386 * scripts/update-states (file): New script. Run it on a file to
11387 update it for state naming and API changes. Updates files in
11390 * All files updated for the new API.
11392 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
11394 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11395 * gst/gstutils.c: (gst_util_set_value_from_string),
11396 (gst_util_set_object_arg):
11397 fix a bunch of unchecked return values
11398 * tools/gst-complete.c: (main):
11399 * gstreamer.spec.in:
11402 2005-09-01 Wim Taymans <wim@fluendo.com>
11404 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11405 (gst_base_sink_event), (gst_base_sink_do_sync),
11406 (gst_base_sink_handle_event):
11407 * gst/base/gstbasesink.h:
11408 Handle newsegments more correctly.
11413 * gst/gstevent.c: (gst_event_new_newsegment):
11414 A newsegment cannot have a start_time of -1
11416 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
11418 * win32/gstenumtypes.c:
11419 * win32/gstenumtypes.h:
11422 2005-08-31 Stefan Kost <ensonic@users.sf.net>
11424 * libs/gst/controller/gst-controller.c:
11425 (gst_controlled_property_set_interpolation_mode),
11426 (gst_controlled_property_new):
11427 fixed boolean again
11429 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
11431 * docs/faq/gst-uninstalled:
11436 * gst/gstutils.c: (gst_element_link_filtered):
11438 add gst_element_link_filtered
11440 2005-08-31 Stefan Kost <ensonic@users.sf.net>
11442 * docs/gst/gstreamer-docs.sgml:
11443 * docs/gst/gstreamer-sections.txt:
11444 * docs/gst/tmpl/.cvsignore:
11445 * docs/gst/tmpl/gsterror.sgml:
11446 * docs/gst/tmpl/gstfilter.sgml:
11447 * docs/gst/tmpl/gsturihandler.sgml:
11448 * docs/gst/tmpl/gsturitype.sgml:
11449 * docs/gst/tmpl/gstutils.sgml:
11450 * docs/gst/tmpl/gstxml.sgml:
11455 * gst/gsturitype.c:
11458 inlined more docs, fixed double id-ref
11460 2005-08-31 Wim Taymans <wim@fluendo.com>
11462 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11463 (gst_base_transform_handle_buffer):
11464 Passthrough elements don't need the caps as they don't care.
11466 2005-08-31 Wim Taymans <wim@fluendo.com>
11468 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11469 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11470 Don't leak refcounts on buffers.
11472 2005-08-31 Wim Taymans <wim@fluendo.com>
11474 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11475 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11476 (gst_base_transform_chain), (gst_base_transform_change_state):
11477 * gst/base/gstbasetransform.h:
11478 Handle the case where we are not negotiated more gracefully.
11480 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
11482 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11483 (gst_file_src_map_region):
11484 Set READONLY flag on mmap'ed buffers, otherwise
11485 gst_buffer_make_writable() won't work properly (#314708).
11487 2005-08-31 Wim Taymans <wim@fluendo.com>
11489 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11490 passthrough elements can even do inplace on non writable
11491 buffers (as they don't touch them).
11493 2005-08-31 Stefan Kost <ensonic@users.sf.net>
11495 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11496 (gst_test_mono_source_set_property),
11497 (gst_test_mono_source_class_init), (GST_START_TEST),
11498 (gst_controller_suite):
11499 more tests (hehe I have the most)
11501 describe popping messages whenusing mulltiple sources
11502 * libs/gst/controller/gst-controller.c:
11503 (gst_controlled_property_set_interpolation_mode),
11504 (gst_controlled_property_new):
11505 * libs/gst/controller/gst-controller.h:
11506 * libs/gst/controller/gst-interpolation.c:
11507 implement boolean properties
11509 2005-08-31 Wim Taymans <wim@fluendo.com>
11511 * gst/gstminiobject.c: (gst_mini_object_ref):
11512 Cannot assert that the refcount has to be positive
11513 since a disposed object can be resurrected.
11515 2005-08-31 Wim Taymans <wim@fluendo.com>
11517 * gst/gstpad.c: (gst_pad_init):
11518 Revert change, need to first fix badly behaving
11521 2005-08-30 Wim Taymans <wim@fluendo.com>
11523 * check/elements/fakesrc.c: (setup_fakesrc):
11524 * check/elements/identity.c: (setup_identity):
11525 Activate pads before using them.
11527 2005-08-30 Wim Taymans <wim@fluendo.com>
11529 * gst/base/gstadapter.c: (gst_adapter_flush):
11530 Flushing out 0 bytes is ok for this function.
11532 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11533 no newsegment gives a warning and sets the start/stop to
11536 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11537 (gst_base_transform_set_passthrough):
11540 * gst/gstminiobject.c: (gst_mini_object_ref):
11541 Check refcount here too.
11543 * gst/gstpad.c: (gst_pad_init):
11544 Pads are initially flushing and refusing data.
11546 * gst/gstutils.c: (gst_element_link_pads_filtered):
11547 When adding a capsfilter element make sure it has the
11548 same state as the parent bin.
11550 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11552 * docs/gst/tmpl/.cvsignore:
11553 * docs/gst/tmpl/gstformat.sgml:
11554 * docs/gst/tmpl/gstversion.sgml:
11558 * gst/gstversion.h.in:
11559 more docs and two more inlined
11561 2005-08-30 Wim Taymans <wim@fluendo.com>
11563 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11564 Don't sync to clock.
11566 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11568 * docs/gst/gstreamer-sections.txt:
11569 ultral33t func10ns deserve to appear in the docs actually
11570 * docs/gst/tmpl/.cvsignore:
11571 * docs/gst/tmpl/gstcompat.sgml:
11572 * docs/gst/tmpl/gstconfig.sgml:
11573 * gst/check/gstcheck.c:
11575 * gst/gstconfig.h.in:
11578 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11580 * docs/gst/tmpl/.cvsignore:
11581 * docs/gst/tmpl/gstquery.sgml:
11582 * docs/gst/tmpl/gstutils.sgml:
11585 inlined and extended docs
11587 2005-08-30 Stefan Kost <ensonic@users.sf.net>
11589 * check/gst-libs/controller.c: (GST_START_TEST),
11590 (gst_controller_suite):
11592 * docs/gst/tmpl/gstutils.sgml:
11593 * docs/libs/gstreamer-libs-sections.txt:
11594 * docs/libs/tmpl/gstdataprotocol.sgml:
11596 * examples/controller/audio-example.c: (main):
11597 controller example works now
11600 * tools/gst-inspect.c: (print_element_properties_info):
11601 show param spec flags
11603 2005-08-29 Andy Wingo <wingo@pobox.com>
11605 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11607 2005-08-28 Andy Wingo <wingo@pobox.com>
11609 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11610 as having two arguments instead of just one. Allows superclasses
11611 to access information on subclasses -- see the terrible for() loop
11612 in gtype.c:g_type_create_instance for the reason why. All callers
11615 2005-08-27 Stefan Kost <ensonic@users.sf.net>
11617 * docs/design/part-messages.txt:
11619 * docs/gst/tmpl/.cvsignore:
11620 * docs/gst/tmpl/gstcaps.sgml:
11621 * docs/gst/tmpl/gstclock.sgml:
11627 * gst/gstmessage.c:
11628 added descriptions for bus and message
11629 inline caps and clock docs
11631 2005-08-27 Stefan Kost <ensonic@users.sf.net>
11633 * gst/gstmessage.c:
11634 * gst/gstmessage.h:
11637 2005-08-27 Stefan Kost <ensonic@users.sf.net>
11639 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11642 2005-08-26 Andy Wingo <wingo@pobox.com>
11644 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11645 element_set_state's return val.
11646 (test_2_elements): Add test that's been disabled for months.
11648 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11649 can-activate-pull properties.
11651 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11652 can-activate-pull properties. Implement is_seekable so fakesrc can
11653 operate in pull mode.
11655 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11657 (gst_base_sink_activate, gst_base_sink_activate_pull)
11658 (gst_base_sink_activate_push): Make activation mode choosing work.
11660 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11661 is right. Make pull mode work. Post an eos before pausing in pull
11663 (gst_base_sink_change_state): Pay attention to the core's
11664 change_state() return val.
11666 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11667 has-getrange properties. Cleanups.
11669 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11670 has_getrange and replace with can_activate_pull and
11673 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11674 locking comments. Remove has_loop, has_chain and replace with
11675 can_activate_pull and can_activate_push.
11677 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
11680 * examples/Makefile.am:
11681 * examples/metadata/Makefile.am:
11682 * examples/metadata/read-metadata.c: (message_loop),
11683 (have_pad_handler), (make_pipeline), (print_tag), (main):
11684 Add metadata reading example that loops over a list of filenames,
11685 dumping any tags found.
11687 * gst/gstbus.c: (gst_bus_dispose):
11688 * gst/gstelement.c: (gst_element_dispose):
11689 Release a few potentially-held references in dispose.
11691 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11693 * docs/gst/tmpl/gstminiobject.sgml:
11694 do *not* add tmpl/*.sgml files to CVS!
11696 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11698 * libs/gst/bytestream/.cvsignore:
11699 * libs/gst/bytestream/Makefile.am:
11700 * libs/gst/bytestream/adapter.c:
11701 * libs/gst/bytestream/adapter.h:
11702 * libs/gst/bytestream/bytestream.c:
11703 * libs/gst/bytestream/bytestream.h:
11704 * libs/gst/bytestream/filepad.c:
11705 * libs/gst/bytestream/filepad.h:
11706 removing obsolete files
11708 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11710 * docs/gst/gstreamer-docs.sgml:
11711 * docs/libs/gstreamer-libs-docs.sgml:
11712 disabed additional index entries again, as this makes docs-gen just
11713 slow and they aren't useful yet
11714 * docs/libs/gstreamer-libs-sections.txt:
11715 little -section.txt cleanup for libs
11717 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
11719 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11720 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11721 fix up some debugging
11722 (gst_base_transform_get_unit_size),
11723 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11724 (gst_base_transform_handle_buffer):
11725 * gst/base/gstbasetransform.h:
11726 handle and store timed NEWSEGMENT events so that subclasses that
11727 calculate time by counting samples have a segment_start time they
11728 need to add to their timestamps - see audioresample
11730 2005-08-26 Stefan Kost <ensonic@users.sf.net>
11733 removed ';' from the end of macro defs
11734 * docs/gst/gstreamer-docs.sgml:
11735 * docs/gst/gstreamer-sections.txt:
11736 * docs/gst/tmpl/.cvsignore:
11738 * gst/gstelement.c: (gst_element_class_init),
11739 (gst_element_set_state), (activate_pads),
11740 (gst_element_save_thyself):
11741 * gst/gstevent.c: (gst_event_new_newsegment):
11743 * gst/gstiterator.c:
11744 * gst/gstiterator.h:
11747 * gst/gstutils.c: (gst_pad_query_convert):
11749 fixed parameter name mismatches between source, header and docs
11750 added some more docs, resolved the last batch of unused elements in
11751 docs (now someone needs to doc them)
11753 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
11755 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11756 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11757 don't walk through the plugins backwards. Where is all this
11758 reversed logic coming from ?
11760 2005-08-25 Wim Taymans <wim@fluendo.com>
11762 * gst/base/gstbasetransform.c: (gst_base_transform_init),
11763 (gst_base_transform_transform_size),
11764 (gst_base_transform_configure_caps),
11765 (gst_base_transform_get_unit_size),
11766 (gst_base_transform_buffer_alloc),
11767 (gst_base_transform_change_state):
11768 * gst/base/gstbasetransform.h:
11769 Cache caps unit_size.
11770 Make sure we cannot negotiate up and downstream at the
11773 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
11775 * gst/gst.c: (init_pre), (init_post):
11776 register the installed plugin path after the env var
11777 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11778 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11779 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11780 directories, so the tests can prefer uninstalled over installed
11782 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
11784 * gst/base/gstbasetransform.h:
11789 2005-08-25 Wim Taymans <wim@fluendo.com>
11791 * gst/gstbin.c: (bin_bus_handler):
11792 Be a bit more conservative about the posted message.
11794 * gst/gstbus.c: (gst_bus_post):
11795 Some cleanups, warn wrong return values.
11797 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
11799 * check/gst/gstbin.c: (GST_START_TEST):
11800 * gst/gstbin.c: (bin_bus_handler):
11801 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11802 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11803 (gst_message_new_warning), (gst_message_new_tag),
11804 (gst_message_new_state_changed), (gst_message_new_segment_start),
11805 (gst_message_new_segment_done), (gst_message_new_custom):
11806 * gst/gstmessage.h:
11807 * tools/gst-launch.c: (event_loop):
11808 * tools/gst-md5sum.c: (event_loop):
11809 Revert unpopular change for GST_MESSAGE_SRC to GObject.
11811 2005-08-25 Wim Taymans <wim@fluendo.com>
11813 * check/generic/states.c: (GST_START_TEST):
11814 Cleanup can be done at the end.
11816 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11817 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11818 (gst_task_get_state), (gst_task_start), (gst_task_pause):
11819 Oh boy.. Thanks for finding this, Thomas.
11821 2005-08-25 Stefan Kost <ensonic@users.sf.net>
11823 * docs/gst/gstreamer.types:
11824 added missing types
11826 2005-08-25 Stefan Kost <ensonic@users.sf.net>
11828 * docs/gst/gstreamer-docs.sgml:
11829 * docs/gst/gstreamer-sections.txt:
11830 * docs/gst/tmpl/.cvsignore:
11832 * gst/gstiterator.c:
11834 * gst/registries/gstxmlregistry.h:
11835 added missing classes and symbols (123 more to go)
11836 removed removed symbols from section file
11837 fixed many doc-comments
11839 2005-08-24 Wim Taymans <wim@fluendo.com>
11841 * check/generic/states.c: (GST_START_TEST):
11842 Make sure all tasks are stopped.
11844 * check/gst/gstbin.c: (GST_START_TEST):
11845 Unref after usage for proper valgrinding.
11847 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11848 Really wait for the task to stop before destroying the
11851 * gst/gstqueue.c: (gst_queue_sink_activate_push),
11852 (gst_queue_src_activate_push):
11853 Small cleanups. Don't stop the task when we did not start
11856 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11857 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11858 (gst_task_get_state), (gst_task_start), (gst_task_pause),
11861 Protect the stream lock with the object lock.
11862 Disallow setting the stream lock when running.
11863 Add cleanup_all to wait for the threadpool to finish.
11864 Remove code to autoallocate a mutex if none was provided.
11865 Add _join() to wait for a task to stop.
11866 Protect the thread pool with a global lock.
11868 2005-08-24 Wim Taymans <wim@fluendo.com>
11870 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11871 (gst_base_sink_get_times), (gst_base_sink_do_sync),
11872 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11873 * gst/base/gstbasesink.h:
11874 Handle newsegment events correctly.
11875 Drop buffers out of the segment range.
11877 2005-08-22 Andy Wingo <wingo@pobox.com>
11879 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11880 macro, implements an interface and gstimplementsinterface for a
11883 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
11885 * check/Makefile.am:
11886 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11887 add a test that does a bunch of state changes on elements
11888 needs some fixing for valgrind
11889 * check/states/sinks.c: (gst_object_suite):
11892 add prototype for gst_caps_is_equal_fixed
11894 * gst/gstregistrypool.c:
11897 2005-08-24 Andy Wingo <wingo@pobox.com>
11899 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11900 convert a negative value. Doesn't make much sense. Mostly this is
11901 here to force callers to ensure -1 maps to -1.
11903 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
11905 * docs/pwg/advanced-types.xml:
11906 Well done to Michael for catching my deliberate introduction
11907 of this spelling mistake.
11908 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11909 * gst/gstelement.h:
11910 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11911 unlink pads before removing the element from the bin.
11913 2005-08-24 Andy Wingo <wingo@pobox.com>
11915 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11916 the same thing as GST_DEBUG=*:4.
11917 (parse_debug_level, parse_debug_category): New helper parsers.
11919 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
11921 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11922 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11923 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11924 (gst_base_transform_buffer_alloc),
11925 (gst_base_transform_handle_buffer):
11926 use gboolean return values and pointers to size so we can use the
11927 full GST_BUFFER_SIZE range (guint) for buffer sizes
11928 use GstPadDirection for transform_caps
11929 * gst/base/gstbasetransform.h:
11930 rename get_size to get_unit_size since that's what it is
11931 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11932 use GstPadDirection for transform_caps
11933 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11935 cleanup and debugging
11937 2005-08-24 Stefan Kost <ensonic@users.sf.net>
11939 * gst/gstelement.c: (gst_element_class_init),
11940 (gst_element_set_state), (activate_pads),
11941 (gst_element_save_thyself):
11942 * tools/gst-compprep.c: (main):
11943 * tools/gst-inspect.c: (print_element_properties_info):
11944 * tools/gst-xmlinspect.c: (print_element_properties):
11945 Fixed long standing mem-leak
11947 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
11949 * check/gst/gstbin.c: (GST_START_TEST):
11950 * gst/gstbin.c: (bin_bus_handler):
11951 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11952 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11953 (gst_message_new_warning), (gst_message_new_tag),
11954 (gst_message_new_state_changed), (gst_message_new_segment_start),
11955 (gst_message_new_segment_done), (gst_message_new_custom):
11956 * gst/gstmessage.h:
11957 * tools/gst-launch.c: (event_loop):
11958 * tools/gst-md5sum.c: (event_loop):
11959 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11960 that applications can sensibly post custom messages with references
11961 to their own objects.
11963 2005-08-24 Andy Wingo <wingo@pobox.com>
11965 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11968 2005-08-24 Wim Taymans <wim@fluendo.com>
11970 * gst/base/gstbasetransform.c: (gst_base_transform_init),
11971 (gst_base_transform_transform_caps),
11972 (gst_base_transform_transform_size),
11973 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11974 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11975 (gst_base_transform_handle_buffer):
11976 * gst/base/gstbasetransform.h:
11977 Many fixes and new features added by Thomas. Can now also do
11978 transforms with variable sizes and a custom fixate_caps function.
11980 2005-08-24 Wim Taymans <wim@fluendo.com>
11982 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11986 Cast to ClockTime before formatting to time.
11991 2005-08-24 Stefan Kost <ensonic@users.sf.net>
11993 * check/gst-libs/controller.c: (GST_START_TEST),
11994 (gst_controller_suite):
11995 * docs/gst/tmpl/gstcaps.sgml:
11996 * docs/gst/tmpl/gstghostpad.sgml:
11997 * docs/gst/tmpl/gstquery.sgml:
11998 * docs/gst/tmpl/gstutils.sgml:
11999 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12000 (gst_object_sink_values), (gst_object_get_value_arrays),
12001 (gst_object_get_value_array):
12002 gracefully handle helper method calls to objects that are not beeing
12003 controlled, added test case for that
12005 2005-08-23 Wim Taymans <wim@fluendo.com>
12007 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12008 (gst_event_new_newsegment), (gst_event_parse_newsegment),
12009 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12010 (gst_event_parse_qos), (gst_event_new_seek),
12011 (gst_event_parse_seek):
12013 Some more debugging output and doc cleanups.
12015 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12016 Fix possible deadlock.
12018 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12020 * docs/gst/gstreamer-docs.sgml:
12021 * docs/gst/gstreamer-sections.txt:
12022 * docs/gst/gstreamer.types:
12023 * docs/gst/tmpl/.cvsignore:
12026 * gst/gstelement.c:
12028 added 100 symbols from gstreamer-unused.txt to the right sections
12029 fixed more broken comments
12030 added GstBus to docs
12032 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12034 * docs/gst/gstreamer-sections.txt:
12035 * docs/gst/tmpl/.cvsignore:
12036 * docs/gst/tmpl/gstbin.sgml:
12037 * docs/gst/tmpl/gstbuffer.sgml:
12038 * gst/base/gstbasesrc.c:
12039 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12042 * tools/gst-launch.1.in:
12043 inlined more doc comments, added missing comments and fixed comments
12046 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
12048 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12052 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12054 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12055 * gst/gststructure.h:
12056 add a fixate function for booleans; add a FIXME that these func
12057 names should probably be gst_structure_fixate_*
12059 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12061 * docs/gst/gstreamer-docs.sgml:
12062 * docs/gst/gstreamer-sections.txt:
12064 * gst/gstbin.c: (gst_bin_get_type),
12065 (gst_bin_child_proxy_get_child_by_index),
12066 (gst_bin_child_proxy_get_children_count),
12067 (gst_bin_child_proxy_init):
12068 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12069 (gst_child_proxy_get_child_by_index),
12070 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12071 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12072 (gst_child_proxy_get), (gst_child_proxy_set_property),
12073 (gst_child_proxy_set_valist), (gst_child_proxy_set),
12074 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12075 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12076 * gst/gstchildproxy.h:
12077 * gst/parse/grammar.y:
12078 * tools/gst-inspect.c: (print_interfaces),
12079 (print_element_properties_info), (print_element_info):
12080 ported gstchildproxy over from 0.8
12081 ported gst-inspect fixes and enhancements over from 0.8
12083 2005-08-22 Wim Taymans <wim@fluendo.com>
12085 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12086 (gst_base_transform_handle_buffer):
12087 Also call the transform function if we have ANY caps.
12089 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12092 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12094 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12095 Don't pretend to handle seek events if the source is not seekable
12097 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12099 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12100 Remove extra parameter to debug output
12102 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12103 (gst_base_src_do_seek), (gst_base_src_activate_push):
12104 Fix seek event handling.
12106 * gst/gstpipeline.c: (gst_pipeline_change_state):
12107 * gst/gstqueue.c: (gst_queue_handle_sink_event),
12108 (gst_queue_src_activate_push):
12109 Don't start the src pad task on FLUSH_STOP if the pad
12113 2005-08-22 Wim Taymans <wim@fluendo.com>
12115 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12116 Added check for gst_static_caps_get() refcounting.
12118 2005-08-22 Wim Taymans <wim@fluendo.com>
12120 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12121 Make _static_caps_get() refcounting sane.
12123 * gst/gstelement.c: (gst_element_set_state):
12124 Add g_return_val_if_fail() to protect against segfaults.
12126 2005-08-22 Stefan Kost <ensonic@users.sf.net>
12128 * docs/gst/tmpl/gstevent.sgml:
12131 inlined remaining docs, added missing doc comments
12133 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
12135 * check/gst/gstbin.c: (GST_START_TEST):
12136 since we don't know when preroll is done, use refcount range
12138 * gst/check/gstcheck.h:
12139 add macro for checking refcount range
12141 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12143 * check/Makefile.am:
12144 clean up environment for when registry gets built versus
12145 when actual tests are run; valgrind seems to not report
12146 leaks if GST_PLUGIN_PATH is set to some specific values
12147 * check/gst/gstbin.c: (GST_START_TEST):
12148 add more refcounting checks; maybe this exposes a
12150 * common/check.mak:
12151 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12152 * gst/check/gstcheck.h:
12153 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12154 (gst_bin_change_state):
12155 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12156 add/fix debugging/whitespace
12158 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12160 * check/gst/gstevent.c: (event_probe), (test_event),
12162 Er, don't call gst_bin_watch_for_state_change you idiot.
12164 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12166 * check/Makefile.am:
12167 Use CHECK_CFLAGS and CHECK_LIBS
12168 * check/gst/gstevent.c: (event_probe), (test_event),
12171 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12172 (gst_base_src_start), (gst_base_src_stop),
12173 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12174 (gst_base_src_change_state):
12175 Sprinkle gst_base_src_stop liberally around error paths to fix
12176 problems reusing a source after failed state changes.
12177 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12178 (helper_find_suggest), (gst_type_find_helper):
12179 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12181 * docs/gst/tmpl/gstevent.sgml:
12182 Migrate part of the docs from the SGML file. Wait for ensonic to
12183 tell me how I did it wrong ;)
12184 * tools/gst-typefind.c: (main):
12185 Extra robustness to state changes between files.
12187 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12189 * check/Makefile.am:
12190 don't valgrind the controller test - it's leaking - Stefan, HELP
12191 * gst/check/gstcheck.c: (gst_check_message_error),
12192 (gst_check_chain_func), (gst_check_setup_element),
12193 (gst_check_teardown_element), (gst_check_setup_src_pad),
12194 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12195 (gst_check_teardown_sink_pad):
12196 * gst/check/gstcheck.h:
12197 add a bunch of methods to set up elements, and src and sink pads
12198 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12199 * check/elements/identity.c: (setup_identity), (cleanup_identity),
12202 * gst/gstmessage.c:
12204 whitespace/doc fixes
12206 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12208 * gst/gstelement.h:
12209 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12210 be handled by the application and not always printed as well
12212 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12214 * check/Makefile.am:
12216 * gst/check/gstcheck.c: (gst_check_message_error):
12217 * gst/check/gstcheck.h:
12218 add a fail_unless_equals_int
12219 add fail_unless for error messages
12221 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12223 * check/Makefile.am:
12225 * common/Makefile.am:
12226 * common/check.mak:
12228 factor out some of the common stuff so we can use it
12230 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12232 * check/Makefile.am:
12233 * check/gst/gstiterator.c: (GST_START_TEST):
12234 * check/gst/gstsystemclock.c: (GST_START_TEST),
12235 (gst_systemclock_suite):
12236 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12238 valgrind more tests
12240 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12242 * check/elements/.cvsignore:
12243 * check/elements/gstfakesrc.c:
12244 rename to name of element
12245 * check/elements/identity.c: (chain_func), (event_func),
12246 (setup_identity), (cleanup_identity), (GST_START_TEST),
12247 (identity_suite), (main):
12248 add a test for identity
12249 * check/Makefile.am:
12250 * pkgconfig/Makefile.am:
12251 * pkgconfig/gstreamer-check.pc.in:
12252 * pkgconfig/gstreamer-check-uninstalled.pc.in:
12256 move the check stuff to a library that gets installed
12257 * check/gst-libs/controller.c: (GST_START_TEST):
12258 * check/gst-libs/gdp.c:
12259 * check/gst/gst.c: (GST_START_TEST):
12260 * check/gst/gstbin.c:
12261 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12262 * check/gst/gstbus.c:
12263 * check/gst/gstcaps.c: (GST_START_TEST):
12264 * check/gst/gstelement.c:
12265 * check/gst/gstghostpad.c:
12266 * check/gst/gstiterator.c:
12267 * check/gst/gstmessage.c:
12268 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12269 * check/gst/gstobject.c:
12270 * check/gst/gstpad.c: (GST_START_TEST):
12271 * check/gst/gststructure.c: (GST_START_TEST):
12272 * check/gst/gstsystemclock.c: (GST_START_TEST),
12273 (gst_systemclock_suite):
12274 * check/gst/gsttag.c: (gst_tag_suite):
12275 * check/gst/gstvalue.c:
12276 * check/pipelines/cleanup.c:
12277 * check/pipelines/simple_launch_lines.c:
12278 * check/states/sinks.c:
12279 change include statement
12281 * docs/gst/gstreamer-sections.txt:
12282 * docs/gst/tmpl/gstpad.sgml:
12283 document more pad stuff
12284 * gst/gstminiobject.c: (gst_mini_object_ref),
12285 (gst_mini_object_unref):
12288 2005-08-19 Stefan Kost <ensonic@users.sf.net>
12290 * docs/gst/tmpl/gst.sgml:
12292 eliminate another tmpl file, fix spelling in the long-description
12294 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12296 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12297 (test_event), (timediff), (gstevents_suite):
12298 Should fix build on 64-bit arch's
12300 2005-08-18 Andy Wingo <wingo@pobox.com>
12302 Make sure that when a pipeline goes to PLAYING, that data has
12303 actually hit the sink.
12305 * check/states/sinks.c (test_sink): A sink that doesn't get any
12306 data shouldn't return SUCCESS for going to either PLAYING or
12307 PAUSED. Test also the return values on the way back down.
12309 * gst/gstelement.c (gst_element_set_state): When changing the
12310 state of an element currently changing state asynchronously, go to
12311 lost-state after commiting the pending state. Makes future calls
12312 to get_state continue to return ASYNC.
12314 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12315 ASYNC when going to PLAYING if we still don't have preroll, as can
12316 happen with live sources.
12318 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12320 * docs/pwg/advanced-types.xml:
12321 Hack long paragraph into 2 chunks as a workaround for buggy
12322 jadetex version in sid and breezy that loops infinitely and
12325 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12327 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12328 (test_event), (timediff), (gstevents_suite):
12329 Provide more error margin in clock measurements to allow for
12330 g_get_current_time inaccuracies.
12332 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12334 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12335 (test_event), (timediff), (gstevents_suite):
12336 Fix error message output so I might be able to tell why the
12337 test works here but fails on the build farm.
12339 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12341 * check/Makefile.am:
12342 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12343 (test_event), (timediff), (gstevents_suite), (main):
12346 * docs/design/part-seeking.txt:
12347 Spelling correction
12349 * docs/gst/tmpl/gstevent.sgml:
12350 * docs/gst/tmpl/gstfakesrc.sgml:
12353 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12354 Treat a buffer-without-newsegment the same as a receiving
12355 a newsegment not in time format, and disable syncing to the clock
12358 * gst/gstbus.c: (gst_bus_set_sync_handler):
12359 Assert if anyone tries to replace the existing sync_handler for bus,
12360 as only the owner should be setting it.
12363 Have a fixed set of custom event enums with events identified by
12364 their structure name (as in 0.8), rather than a free-for-all
12365 allowing collisions between enum values from different plugins.
12367 * gst/gstpad.c: (gst_pad_class_init):
12370 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12371 Handle out-of-band downstream events from the sending thread.
12373 2005-08-17 Andy Wingo <wingo@pobox.com>
12375 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12376 play-timeout==0 to mean no timeout at all. In that case, don't
12377 bother with a get_state or a warning, just return directly, even
12380 * gst/base/gstbasetransform.c: Debug changes.
12383 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12384 ensure bins post state change messages. A bit of a hack but I can't
12385 think of a way to avoid it.
12387 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12389 2005-08-16 Andy Wingo <wingo@pobox.com>
12391 * gst/base/gstadapter.h:
12392 * gst/base/gstadapter.c (gst_adapter_take): New function, like
12393 peek() but you own the data. Not terribly efficient atm.
12395 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12397 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12398 (gst_element_found_tags):
12400 Add two utility functions for tag handling.
12402 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12404 * docs/manual/advanced-dataaccess.xml:
12405 * docs/manual/basics-helloworld.xml:
12406 Fix docs to use _bin_add() before _link(), which fixes the examples
12407 with recent core versions (reported by Madhan Raj M
12408 <raj_madan@rediffmail.com>, #313199).
12410 2005-08-16 Wim Taymans <wim@fluendo.com>
12412 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12413 Added subtract checks.
12415 * docs/design/part-events.txt:
12416 Some more docs about newsegment
12418 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12421 * gst/gstcaps.c: (gst_caps_to_string):
12422 Add comments, cleanups.
12424 * gst/gstelement.c: (gst_element_save_thyself):
12427 * gst/gstvalue.c: (gst_value_collect_int_range),
12428 (gst_string_unwrap), (gst_value_union_int_int_range),
12429 (gst_value_union_int_range_int_range),
12430 (gst_value_intersect_int_int_range),
12431 (gst_value_intersect_int_range_int_range),
12432 (gst_value_intersect_double_double_range),
12433 (gst_value_intersect_double_range_double_range),
12434 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12435 (gst_value_subtract_int_range_int),
12436 (gst_value_subtract_double_range_double),
12437 (gst_value_subtract_double_range_double_range),
12438 (gst_value_subtract_from_list), (gst_value_subtract_list),
12439 (gst_value_can_compare), (gst_value_compare_fraction):
12440 Cleanups, add comments, remove unneeded asserts.
12442 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
12444 * tools/gst-launch.c: (event_loop):
12445 don't convert NULL structures to strings
12447 2005-08-15 Stefan Kost <ensonic@users.sf.net>
12449 * docs/gst/gstreamer-sections.txt:
12450 made some defines private
12451 * docs/gst/tmpl/gstconfig.sgml:
12452 * docs/gst/tmpl/gstqueue.sgml:
12453 * docs/gst/tmpl/gsttaglist.sgml:
12454 * docs/gst/tmpl/gsttypes.sgml:
12455 * docs/gst/tmpl/gstutils.sgml:
12456 * docs/pwg/appendix-porting.xml:
12457 * gst/base/gstbasesink.h:
12458 * gst/base/gstbasesrc.c:
12459 * gst/base/gstbasesrc.h:
12460 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12461 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12462 * gst/gstelement.c: (gst_element_class_init):
12463 * gst/gstpad.c: (gst_pad_class_init):
12464 * gst/gstqueue.c: (gst_queue_class_init):
12465 * gst/gstxml.c: (gst_xml_class_init):
12466 documented all undocumented signal inline
12467 * libs/gst/controller/gst-controller.h:
12470 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12472 * docs/pwg/appendix-porting.xml:
12473 Document _set_link_function -> _set_setcaps_function.
12475 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
12477 * check/Makefile.am:
12478 add a .check target for running the check
12479 * check/gst-libs/controller.c: (GST_START_TEST):
12481 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12482 complete checks for gstbuffer; would be nice if I could get the
12483 gcov stuff to work so I can see if I actually completed gstbuffer.c
12484 * check/gstcheck.h:
12485 add ASSERT_BUFFER_REFCOUNT
12487 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
12489 * docs/gst/gstreamer-sections.txt:
12490 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12492 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12493 spew out a warning if a tag that is already registered
12494 is re-registered, unless it is re-registered with a
12495 different type (#308438).
12497 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
12499 * docs/pwg/appendix-porting.xml:
12500 * docs/pwg/building-state.xml:
12501 Add some paragraphs about state changes in 0.9 to the PWG
12502 and the porting guide, in particular about the new meaning
12503 of GST_STATE_PAUSED and how to write state change functions
12504 with concurrent access by multiple threads in mind.
12506 2005-08-11 Stefan Kost <ensonic@users.sf.net>
12508 * docs/gst/gstreamer-docs.sgml:
12509 * docs/libs/gstreamer-libs-docs.sgml:
12510 added deprecation and since indexes
12511 * libs/gst/controller/gst-controller.c:
12512 * libs/gst/controller/gst-helper.c:
12516 2005-08-11 Wim Taymans <wim@fluendo.com>
12518 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12519 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12520 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12521 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12522 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12523 (gst_ghost_pad_set_target):
12524 Actually implement (re)setting the target on a ghostpad
12525 as described in the docs.
12527 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
12529 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12530 Check whether GST_DEBUG_NO_COLOR environment variable is
12531 set and disable coloured debug output if that is the case.
12533 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
12535 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12536 (gst_type_find_helper):
12537 The memory returned by gst_type_find_peek() needs to
12538 stay valid until the end of a typefind function, and
12539 typefind functions may keep results from different
12540 offsets around, so we can't just unref the buffer from
12541 the previous _peek(), but have to save all buffers
12542 returned by _peek() until typefinding is done and only
12545 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
12547 * docs/gst/gstreamer-sections.txt:
12549 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12551 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12553 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12554 Fix a pretty good memleak.
12556 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
12558 * gst/gstiterator.h:
12559 Fix wrong include and 'make distcheck'.
12561 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12563 * gst/gstbin.c: (bin_bus_handler):
12564 Use gst_element_post_message() instead.
12566 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
12568 * gst/base/gstadapter.h:
12569 * gst/base/gstbasesink.h:
12570 * gst/base/gstbasesrc.h:
12571 * gst/base/gstbasetransform.h:
12572 * gst/base/gstcollectpads.h:
12573 * gst/base/gstpushsrc.h:
12574 * gst/gstiterator.h:
12575 Add padding to our base elements' class and instance structs and
12576 to GstIterator (you will need to rebuild all plugins and apps!)
12578 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12580 * gst/gstbin.c: (bin_bus_handler):
12581 Make default message forwarding from child->bus to bin->bus
12582 threadsafe and make it not emit warnings if the parent has no bus.
12584 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12586 * gst/gstelement.c: (activate_pads):
12587 On paused->ready, set pad->caps to NULL, as is the documented
12588 behaviour in this state change. Fixes playback of series of
12589 media files when visualization is enabled in Totem.
12591 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12593 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12594 Allow NULL as filter-caps (which means "any").
12596 2005-08-05 Stefan Kost <ensonic@users.sf.net>
12598 * docs/libs/gstreamer-libs-sections.txt:
12599 * libs/gst/controller/gst-controller.c:
12600 * libs/gst/controller/gst-controller.h:
12601 * libs/gst/controller/gst-helper.c:
12602 adding more entries to the docs and fix small doc-bugs
12604 2005-08-05 Stefan Kost <ensonic@users.sf.net>
12606 * docs/gst/gstreamer-docs.sgml:
12607 * docs/gst/gstreamer-sections.txt:
12608 * docs/gst/gstreamer.types:
12609 * docs/gst/tmpl/gstbasesink.sgml:
12610 * docs/gst/tmpl/gstbasesrc.sgml:
12611 * docs/gst/tmpl/gstbasetransform.sgml:
12612 * docs/gst/tmpl/gstfakesrc.sgml:
12613 * gst/base/gstcollectpads.c:
12614 * gst/base/gstcollectpads.h:
12615 * libs/gst/controller/gst-controller.c:
12616 * libs/gst/controller/gst-controller.h:
12617 * libs/gst/controller/gst-helper.c:
12618 * libs/gst/controller/gst-interpolation.c:
12619 * libs/gst/controller/lib.c:
12620 added long/short desc for controller docs
12621 added collectpads base class docs
12622 added correct includes to base-class docs
12624 2005-08-05 Stefan Kost <ensonic@users.sf.net>
12626 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12627 (gst_test_mono_source_set_property),
12628 (gst_test_mono_source_class_init), (GST_START_TEST),
12629 (gst_controller_suite):
12630 * docs/gst/gstreamer-docs.sgml:
12631 * docs/gst/gstreamer-sections.txt:
12632 * docs/gst/gstreamer.types:
12633 * docs/libs/gstreamer-libs-docs.sgml:
12634 * docs/libs/gstreamer-libs-sections.txt:
12635 * gst/base/gstadapter.c:
12636 * libs/gst/controller/gst-controller.c:
12637 (gst_controlled_property_new), (gst_controlled_property_free),
12638 (gst_controller_new_valist),
12639 (gst_controller_remove_properties_valist),
12640 (gst_controller_sink_values), (_gst_controller_finalize):
12641 * libs/gst/controller/gst-controller.h:
12642 * libs/gst/controller/gst-helper.c:
12643 (gst_object_control_properties), (gst_object_uncontrol_properties),
12644 (gst_object_get_controller), (gst_object_set_controller),
12645 (gst_object_sink_values), (gst_object_get_value_arrays),
12646 (gst_object_get_value_array):
12647 more tests (and fixes) for the controller
12648 more docs for the controller
12649 integrated companies docs for the adapter
12651 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
12653 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12654 (GST_START_TEST), (fakesrc_suite):
12655 add tests for sizetype
12657 2005-08-04 Andy Wingo <wingo@pobox.com>
12659 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12660 fixes buffer_alloc proxying among other things.
12662 * gst/base/gstbasetransform.c:
12663 * gst/base/gstbasetransform.h:
12664 Revert patch to gstbasetransform from 7-28 removing
12667 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12668 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12669 Semantics changed, should return not the size of the output buffer
12670 but the byte size of a buffer with a given caps.
12672 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12674 (gst_base_transform_configure_caps): Don't set out_size here: (in,
12675 out) are not the pad caps until setcaps finishes.
12676 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12677 not-in-place case as well. Deal with changing from in-place to
12678 not-in-place within calling pad_alloc_buffer. Still a bit
12679 concerned about the overhead here...
12681 2005-08-03 Andy Wingo <wingo@pobox.com>
12683 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12684 fixating is an error.
12686 2005-08-04 Edward Hervey <edward@fluendo.com>
12688 * gst/base/gstadapter.h:
12689 Added gst_adapter_get_type() to the header
12691 2005-08-03 Stefan Kost <ensonic@users.sf.net>
12693 * check/Makefile.am:
12694 * check/gst-libs/controller.c:
12695 * libs/gst/controller/gst-controller.c:
12696 (gst_controller_new_valist):
12697 added check test suite for the controller
12698 * gst/base/gstpushsrc.c:
12701 2005-08-03 Stefan Kost <ensonic@users.sf.net>
12703 * docs/gst/Makefile.am:
12704 * docs/gst/gstreamer-docs.sgml:
12705 * docs/gst/gstreamer-sections.txt:
12706 * docs/gst/gstreamer.types:
12707 * docs/gst/tmpl/gstfakesrc.sgml:
12709 * gst/base/gstbasesink.c:
12710 * gst/base/gstbasesink.h:
12711 * gst/base/gstbasesrc.c:
12712 * gst/base/gstbasesrc.h:
12713 * gst/base/gstbasetransform.c:
12714 * gst/base/gstpushsrc.c:
12715 * gst/base/gstpushsrc.h:
12716 add short/long description docs to base classes
12717 add pushsrc to the docs
12718 remove consolidated doc fragments
12720 2005-08-03 Stefan Kost <ensonic@users.sf.net>
12723 * docs/libs/Makefile.am:
12724 * docs/libs/gstreamer-libs-docs.sgml:
12725 * docs/libs/gstreamer-libs-sections.txt:
12726 * docs/libs/gstreamer-libs.types:
12727 * examples/Makefile.am:
12728 * examples/controller/.cvsignore:
12729 * examples/controller/Makefile.am:
12730 * examples/controller/audio-example.c: (main):
12731 * libs/gst/Makefile.am:
12732 * libs/gst/controller/.cvsignore:
12733 * libs/gst/controller/Makefile.am:
12734 * libs/gst/controller/gst-controller.c:
12735 (on_object_controlled_property_changed), (gst_timed_value_compare),
12736 (gst_timed_value_find),
12737 (gst_controlled_property_set_interpolation_mode),
12738 (gst_controlled_property_new), (gst_controlled_property_free),
12739 (gst_controller_find_controlled_property),
12740 (gst_controller_new_valist), (gst_controller_new),
12741 (gst_controller_remove_properties_valist),
12742 (gst_controller_remove_properties), (gst_controller_set),
12743 (gst_controller_set_from_list), (gst_controller_unset),
12744 (gst_controller_get), (gst_controller_get_all),
12745 (gst_controller_sink_values), (gst_controller_get_value_arrays),
12746 (gst_controller_get_value_array),
12747 (gst_controller_set_interpolation_mode),
12748 (_gst_controller_finalize), (_gst_controller_init),
12749 (_gst_controller_class_init), (gst_controller_get_type):
12750 * libs/gst/controller/gst-controller.h:
12751 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12752 (g_object_uncontrol_properties), (g_object_get_controller),
12753 (g_object_set_controller), (g_object_sink_values),
12754 (g_object_get_value_arrays), (g_object_get_value_array):
12755 * libs/gst/controller/gst-interpolation.c:
12756 (gst_controlled_property_find_timed_value_node),
12757 (interpolate_none_get), (interpolate_trigger_get),
12758 (interpolate_trigger_get_value_array):
12759 * libs/gst/controller/lib.c: (gst_controller_init):
12760 * pkgconfig/Makefile.am:
12761 * pkgconfig/gstreamer-control-uninstalled.pc.in:
12762 * pkgconfig/gstreamer-control.pc.in:
12763 * testsuite/Makefile.am:
12764 * testsuite/controller/.cvsignore:
12765 * testsuite/controller/Makefile.am:
12766 * testsuite/controller/interpolator.c: (main):
12767 added controller code
12768 removed dparam pc files
12770 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
12771 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12772 (gst_collectpads_stop):
12773 Broadcast the condition when shutting down, to make sure we wake all
12774 threads up. Shut down pads on finalize, for safety.
12776 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
12777 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12778 (gst_base_transform_handle_buffer),
12779 (gst_base_transform_change_state):
12780 Handle PAUSED->READY->PAUSED transition after negotiation
12782 * gst/gstmessage.c: (gst_message_init):
12783 Extra piece of debug for new messages.
12785 2005-08-01 Stefan Kost <ensonic@users.sf.net>
12788 * docs/gst/tmpl/gstbasesrc.sgml:
12789 * docs/gst/tmpl/gstelement.sgml:
12790 * docs/gst/tmpl/gstevent.sgml:
12791 * docs/gst/tmpl/gstfakesrc.sgml:
12792 * docs/gst/tmpl/gstformat.sgml:
12793 * docs/gst/tmpl/gstghostpad.sgml:
12794 * docs/gst/tmpl/gstpad.sgml:
12795 * docs/gst/tmpl/gstquery.sgml:
12796 * docs/gst/tmpl/gststructure.sgml:
12797 * docs/gst/tmpl/gsttaglist.sgml:
12798 * docs/gst/tmpl/gstvalue.sgml:
12799 * docs/libs/gstreamer-libs-docs.sgml:
12800 * docs/libs/gstreamer-libs-sections.txt:
12801 * docs/libs/gstreamer-libs.types:
12802 * libs/gst/Makefile.am:
12803 * libs/gst/control/.cvsignore:
12804 * libs/gst/control/Makefile.am:
12805 * libs/gst/control/control.c:
12806 * libs/gst/control/control.h:
12807 * libs/gst/control/dparam.c:
12808 * libs/gst/control/dparam.h:
12809 * libs/gst/control/dparam_smooth.c:
12810 * libs/gst/control/dparam_smooth.h:
12811 * libs/gst/control/dparamcommon.h:
12812 * libs/gst/control/dparammanager.c:
12813 * libs/gst/control/dparammanager.h:
12814 * libs/gst/control/dplinearinterp.c:
12815 * libs/gst/control/dplinearinterp.h:
12816 * libs/gst/control/unitconvert.c:
12817 * libs/gst/control/unitconvert.h:
12818 * testsuite/Makefile.am:
12819 * testsuite/dynparams/.cvsignore:
12820 * testsuite/dynparams/Makefile.am:
12821 * testsuite/dynparams/dparamstest.c:
12822 * tools/Makefile.am:
12823 * tools/gst-inspect.c: (print_element_info), (main):
12824 * tools/gst-xmlinspect.c: (print_element_info), (main):
12825 deactivate and remove dparams (libgstcontrol)
12827 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
12829 * gst/elements/gsttypefindelement.c:
12830 (gst_type_find_element_have_type), (gst_type_find_element_init),
12831 (stop_typefinding), (gst_type_find_element_handle_event),
12832 (gst_type_find_element_chain), (gst_type_find_element_getrange):
12833 * gst/elements/gsttypefindelement.h:
12834 Set caps on all outgoing buffers, not just the first one.
12836 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
12838 * gst/elements/gsttypefindelement.c:
12839 (gst_type_find_element_have_type),
12840 (gst_type_find_element_check_set_buffer_caps),
12841 (gst_type_find_element_init), (stop_typefinding),
12842 (gst_type_find_element_handle_event),
12843 (gst_type_find_element_chain), (gst_type_find_element_getrange):
12844 * gst/elements/gsttypefindelement.h:
12845 Set caps on first outgoing buffer when we've found the type.
12847 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
12849 * docs/gst/gstreamer-docs.sgml:
12850 * docs/gst/gstreamer-sections.txt:
12851 * docs/gst/tmpl/gstscheduler.sgml:
12852 * docs/gst/tmpl/gstschedulerfactory.sgml:
12853 Remove some old cruft from docs.
12855 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
12858 Fix inline docs for GstPadLinkReturn.
12860 * gst/gststructure.c: (gst_structure_has_name):
12861 * gst/gststructure.h:
12862 * docs/gst/gstreamer-sections.txt:
12863 New API: gst_structure_has_name().
12865 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
12868 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12869 and _LARGEFILE_SOURCE in config.h as required. Do not
12870 export those flags in our .pc files any longer (#142209).
12872 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12874 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12875 (gst_file_sink_do_seek), (gst_file_sink_event),
12876 (gst_file_sink_get_current_offset), (gst_file_sink_render):
12877 Redo seek/tell calls with large file support in mind; add some
12878 debugging messages; add log message that tells us when large
12879 file support is unavailable or not enabled for some reason.
12881 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12882 Add log message that tells us when large file support
12883 is unavailable or not enabled for some reason.
12885 2005-07-29 Wim Taymans <wim@fluendo.com>
12887 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12888 Added test for removing an element with ghostpad from a bin.
12889 Fixed test as current implementation does the right thing.
12891 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12892 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12893 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12894 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12895 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12896 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12897 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12898 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12899 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12900 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12901 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12902 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12903 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12904 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12905 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12906 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12907 * gst/gstghostpad.h:
12908 Clean up ghostpads, remove properties for internal stuff.
12911 Prepare for switching targets, not all use cases work yet.
12913 2005-07-29 Wim Taymans <wim@fluendo.com>
12915 * docs/design/part-gstghostpad.txt:
12918 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12919 (gst_bin_remove_func):
12920 Unlinking pads while holding the bin LOCK is not a good
12923 * gst/gstpad.c: (gst_pad_class_init),
12924 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12925 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12926 No prob setting template after creating the pad.
12928 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
12930 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12931 (gst_bus_peek), (gst_bus_source_dispatch),
12932 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12933 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12934 gst_bus_poll may be called from other threads. Handle
12935 this nicely by not making poll_data disappear off the
12936 stack once gst_bus_poll returns.
12937 gst_bus_peek now increments the refcount on the returned
12940 2005-07-29 Wim Taymans <wim@fluendo.com>
12942 * docs/design/part-gstghostpad.txt:
12943 Overview of current GhostPad datastructures and use
12944 cases for changing the target.
12946 2005-07-28 Wim Taymans <wim@fluendo.com>
12948 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12949 Added checks for hierarchy consistency whan adding linked
12952 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12953 Added check to test element scheduling without bin/pipeline.
12955 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12956 First add elements to bin, then link.
12958 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12959 (gst_bin_remove_func):
12960 Unlink pads from elements added/removed from bin to maintain
12961 hierarchy consistency.
12963 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12965 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12966 (gst_base_transform_handle_buffer):
12967 * gst/base/gstbasetransform.h:
12968 Remove broken delay_configure (fixes renegotiation of software
12969 scaling pipelines); remove some leftover printf()s.
12971 2005-07-28 Wim Taymans <wim@fluendo.com>
12973 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12974 Added some more tests for wrong hierarchy
12976 * docs/design/part-overview.txt:
12979 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12982 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12983 (gst_element_dispose):
12984 Some more cleanups.
12986 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12987 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12988 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12989 (gst_pad_set_caps), (gst_pad_send_event):
12990 Check for correct hierarchy when linking pads. Moving to
12991 strict requirement for ghostpads when linking elements in
12995 Clean ups. Added WRONG_HIERARCHY return value.
12997 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12999 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13000 Better debug if no transform is possible.
13002 2005-07-27 Wim Taymans <wim@fluendo.com>
13004 * docs/random/wtay/network-transp:
13005 Some old doc I had.
13007 2005-07-27 Wim Taymans <wim@fluendo.com>
13009 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13010 (gst_dp_event_from_packet):
13011 Fix serialization of seek events.
13013 2005-07-27 Wim Taymans <wim@fluendo.com>
13015 * check/gst-libs/gdp.c: (GST_START_TEST):
13016 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13017 Fix compilation and fix event serialization.
13019 2005-07-27 Wim Taymans <wim@fluendo.com>
13022 * docs/design/part-TODO.txt:
13023 * docs/design/part-events.txt:
13026 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13027 (gst_base_sink_event), (gst_base_sink_do_sync),
13028 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13029 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13030 (gst_base_src_do_seek), (gst_base_src_event_handler),
13031 (gst_base_src_loop):
13032 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13033 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13034 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13035 (gst_base_transform_event), (gst_base_transform_handle_buffer),
13036 (gst_base_transform_set_passthrough),
13037 (gst_base_transform_is_passthrough):
13038 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13039 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13045 * gst/gstelement.c: (gst_element_seek):
13046 * gst/gstelement.h:
13047 Update gst_element_seek.
13049 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13050 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13051 (gst_event_new_flush_start), (gst_event_new_flush_stop),
13052 (gst_event_new_eos), (gst_event_new_newsegment),
13053 (gst_event_parse_newsegment), (gst_event_new_tag),
13054 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13055 (gst_event_parse_qos), (gst_event_new_seek),
13056 (gst_event_parse_seek), (gst_event_new_navigation):
13058 Make GstEvent use GstStructure. Add parsing code, make sure the
13059 API is sufficiently generic.
13060 Mark possible directions of events and serialization.
13062 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13063 (_gst_message_copy), (gst_message_new_segment_start),
13064 (gst_message_new_segment_done), (gst_message_new_custom),
13065 (gst_message_parse_segment_start),
13066 (gst_message_parse_segment_done):
13069 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13070 (gst_pad_set_caps), (gst_pad_send_event):
13071 Update for new events.
13072 Catch events sent in wrong directions.
13074 * gst/gstqueue.c: (gst_queue_link_src),
13075 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13076 (gst_queue_handle_src_query):
13081 Remove event code from this file.
13083 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13084 (gst_dp_event_from_packet):
13087 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13089 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13090 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13091 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13092 Make debugging actually useful.
13094 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13096 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13097 (gst_pad_fixate_caps):
13098 Implement default fixation once again, so that gst_pad_fixate()
13099 actually does anything at all. This probably needs to be some
13100 sort of a last resort, and use profile-based fixation first, but
13101 since that doesn't exist yet, this is the best we have. Fixes
13102 visualization in Totem.
13104 2005-07-22 Wim Taymans <wim@fluendo.com>
13106 * docs/design/part-events.txt:
13109 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13110 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13111 (gst_base_sink_activate_pull):
13112 Some more comments.
13114 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13115 (gst_fake_src_create):
13116 Fix handoff marshall.
13118 * gst/elements/gstidentity.c: (gst_identity_class_init),
13119 (gst_identity_transform_ip):
13120 We're a real inplace element.
13122 * gst/gstbus.c: (gst_bus_post):
13123 Added some comments.
13125 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13126 * tests/muxing/case1.c: (main):
13127 * tests/sched/dynamic-pipeline.c: (main):
13128 * tests/sched/interrupt1.c: (main):
13129 * tests/sched/interrupt2.c: (main):
13130 * tests/sched/interrupt3.c: (main):
13131 * tests/sched/runxml.c: (main):
13132 * tests/sched/sched-stress.c: (main):
13133 * tests/seeking/seeking1.c: (event_received), (main):
13134 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13136 * tests/threadstate/threadstate3.c: (main):
13137 * tests/threadstate/threadstate4.c: (main):
13138 * tests/threadstate/threadstate5.c: (main):
13141 2005-07-21 Wim Taymans <wim@fluendo.com>
13143 * docs/design/part-seeking.txt:
13144 Some small additions.
13146 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13147 (gst_base_sink_get_times), (gst_base_sink_do_sync),
13148 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13149 * gst/base/gstbasesink.h:
13150 discont values are gint64, handle the math correctly.
13152 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13153 Make the basesrc report error if the source pad is not linked.
13155 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13156 (gst_queue_loop), (gst_queue_handle_src_query),
13157 (gst_queue_src_activate_push):
13158 Make queue collect data even if the srcpad is not linked.
13159 Start pushing out data as soon as it is linked.
13161 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13163 Added gst_flow_get_name() to ease error reporting.
13165 2005-07-20 Wim Taymans <wim@fluendo.com>
13167 * gst/gstmessage.c: (gst_message_new_segment_start),
13168 (gst_message_new_segment_done), (gst_message_parse_segment_start),
13169 (gst_message_parse_segment_done):
13170 * gst/gstmessage.h:
13171 Added a bunch of messages for advanced seeking.
13173 * gst/parse/grammar.y:
13174 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13175 (gst_dpman_state_changed):
13176 Fix some new-pad -> pad-added signals
13178 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13180 * docs/manual/appendix-porting.xml:
13181 * docs/pwg/appendix-porting.xml:
13182 Document new-pad/state-change signal renames and the FixedList
13185 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13187 * docs/manual/advanced-autoplugging.xml:
13188 * docs/manual/basics-helloworld.xml:
13189 * docs/manual/basics-pads.xml:
13190 * docs/random/ds/0.9-suggested-changes:
13191 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13192 * gst/gstelement.h:
13196 * gst/gststructure.c: (gst_structure_value_get_generic_type),
13197 (gst_structure_parse_array), (gst_structure_parse_value):
13198 * gst/gstvalue.c: (gst_type_is_fixed),
13199 (gst_value_list_prepend_value), (gst_value_list_append_value),
13200 (gst_value_list_get_size), (gst_value_list_get_value),
13201 (gst_value_transform_array_string), (gst_value_serialize_array),
13202 (gst_value_deserialize_array), (gst_value_intersect_array),
13203 (gst_value_is_fixed), (_gst_value_initialize):
13205 GstElement::new-pad -> pad-added, GstElement::state-change ->
13206 state-changed, GstValueFixedList -> GstValueArray, add format and
13207 flags as their own arguments in gst_element_seek() (should improve
13208 "bindeability"), remove function generators since they don't work
13209 under a whole bunch of compilers (they were deprecated already
13212 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13214 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13215 (_gst_debug_register_funcptr):
13217 Fix illegal cast on some platforms (#309253).
13219 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13221 * gst/gstmessage.c: (gst_message_new_custom):
13222 * gst/gstmessage.h:
13223 Add _new_custom, make _new_application a macro to _new_custom.
13225 2005-07-20 Wim Taymans <wim@fluendo.com>
13227 * gst/base/gstbasesrc.c: (gst_base_src_init),
13228 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13229 * gst/base/gstbasesrc.h:
13230 Add a gboolean to decide when to push out a discont.
13232 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13233 (gst_queue_loop), (gst_queue_handle_src_query),
13234 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13235 (gst_queue_set_property), (gst_queue_get_property):
13238 * tests/threadstate/threadstate1.c: (main):
13239 Make a thread test compile and run... very silly..
13242 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13244 * docs/manual/appendix-porting.xml:
13245 Mention removal of libgstgconf-0.9.la and existence of gconf
13248 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13250 * docs/pwg/advanced-clock.xml:
13251 * docs/pwg/appendix-porting.xml:
13252 * docs/pwg/intro-preface.xml:
13253 * docs/pwg/other-base.xml:
13254 * docs/pwg/other-manager.xml:
13255 * docs/pwg/other-nton.xml:
13256 * docs/pwg/other-ntoone.xml:
13257 * docs/pwg/other-oneton.xml:
13258 * docs/pwg/pwg.xml:
13259 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13260 demuxer), remove n-to-n (was never written), fix some code examples
13261 and links and update the porting section to include all this.
13263 2005-07-19 Wim Taymans <wim@fluendo.com>
13265 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13266 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13267 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13268 (gst_queue_src_activate_push), (gst_queue_change_state),
13269 (gst_queue_get_property):
13271 Propagate GstFlowReturn more intelligently upstream and output
13272 an ERROR/EOS when streaming stopped due to fatal error.
13274 2005-07-19 Wim Taymans <wim@fluendo.com>
13276 * tools/gst-launch.c: (check_intr), (event_loop), (main):
13277 Don't block forever for the state change to complete, the
13278 pipeline already did with a sensible timeout.
13280 2005-07-19 Wim Taymans <wim@fluendo.com>
13282 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13283 Make sure we never call the create function is we
13286 2005-07-19 Andy Wingo <wingo@pobox.com>
13288 * gst/parse/parse.l: Attempt to solve bug #172815.
13290 2005-07-19 Wim Taymans <wim@fluendo.com>
13292 * docs/design/part-clocks.txt:
13293 * docs/design/part-events.txt:
13294 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13295 Small docs updates.
13296 Only update the seeking values when we are not
13299 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13301 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13302 Oops, ignore the result of gst_pad_push_event here.
13304 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13306 * gst/base/gstbasesrc.c: (gst_base_src_loop),
13307 (gst_base_src_activate_push):
13308 Send discont event from the loop function, as pads
13309 aren't activated yet in the activate_push handler.
13311 * gst/gstbin.c: (bin_bus_handler):
13312 Don't leak element name.
13314 2005-07-18 Andy Wingo <wingo@pobox.com>
13316 * configure.ac: Use AS_LIBTOOL_TAGS.
13318 2005-07-18 Wim Taymans <wim@fluendo.com>
13320 * docs/gst/gstreamer.types:
13321 Remove deleted types.
13323 2005-07-18 Wim Taymans <wim@fluendo.com>
13325 * check/elements/gstfakesrc.c: (GST_START_TEST):
13328 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13329 (init_popt_callback):
13331 * gst/gst_private.h:
13332 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13333 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13336 * gst/gstconfig.h.in:
13337 * gst/gstelement.c: (gst_element_class_init),
13338 (gst_element_set_base_time), (gst_element_get_base_time),
13339 (iterator_fold_with_resync), (gst_element_change_state),
13340 (gst_element_dispose), (gst_element_get_bus):
13341 * gst/gstelement.h:
13342 * gst/gstelementfactory.h:
13343 * gst/gsterror.c: (_gst_core_errors_init):
13346 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13348 * gst/gstinfo.c: (_gst_debug_init):
13349 * gst/gstmessage.c: (_gst_message_copy):
13350 * gst/gstmessage.h:
13351 * gst/gstminiobject.h:
13354 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13355 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13358 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13359 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13360 (gst_pipeline_get_last_stream_time):
13361 * gst/gstpipeline.h:
13362 * gst/gstpluginfeature.h:
13364 * gst/gstscheduler.c:
13365 * gst/gstscheduler.h:
13366 * gst/gststructure.h:
13367 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13368 (gst_task_finalize), (gst_task_func), (gst_task_create),
13369 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13370 (gst_task_stop), (gst_task_pause):
13372 * gst/gsttypefind.h:
13374 * gst/registries/gstlibxmlregistry.c: (load_feature),
13375 (gst_xml_registry_load), (gst_xml_registry_save_feature):
13376 * gst/registries/gstxmlregistry.c:
13377 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13378 * gst/schedulers/threadscheduler.c:
13379 * libs/gst/control/dparammanager.h:
13380 * tools/gst-inspect.c: (print_element_list),
13381 (print_plugin_features), (print_element_features):
13382 * tools/gst-xmlinspect.c: (print_element_list),
13383 (print_plugin_info), (main):
13384 Removed plugable schedulers.
13385 Removed Scheduler/Manager from elements.
13386 Removed gsttypes.h, rearranged includes.
13387 Removed dependency pad<->element, element<>pipeline, and
13388 various others, fix includes.
13389 implement gst_pad_get_parent() with gst_object_get_parent()
13390 Make GstTask sefcontained.
13391 Fix _get_state() on GstBin, it did not return ASYNC with a 0
13393 Fix endless loop in iterator_fold_with_resync.
13396 2005-07-18 Wim Taymans <wim@fluendo.com>
13402 2005-07-18 Wim Taymans <wim@fluendo.com>
13405 No more cothreads.h
13407 2005-07-18 Wim Taymans <wim@fluendo.com>
13411 Let's remove these.
13413 2005-07-18 Wim Taymans <wim@fluendo.com>
13415 * docs/design/part-dynamic.txt:
13416 * docs/design/part-events.txt:
13417 * docs/design/part-seeking.txt:
13418 Some more docs in the works.
13420 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13421 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13422 (gst_base_transform_setcaps), (gst_base_transform_get_size),
13423 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13424 (gst_base_transform_handle_buffer),
13425 (gst_base_transform_sink_activate_push),
13426 (gst_base_transform_src_activate_pull),
13427 (gst_base_transform_set_passthrough),
13428 (gst_base_transform_is_passthrough):
13431 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13434 * gst/gstevent.c: (gst_event_finalize):
13437 * gst/gstutils.c: (gst_element_unlink),
13438 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13439 (gst_pad_proxy_setcaps):
13441 Add _get_parent_element() to get a pads parent as an element.
13443 2005-07-18 Wim Taymans <wim@fluendo.com>
13445 * check/gst/gstbin.c: (GST_START_TEST):
13448 2005-07-18 Wim Taymans <wim@fluendo.com>
13450 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13451 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13452 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13453 (gst_base_sink_event), (gst_base_sink_do_sync),
13454 (gst_base_sink_chain), (gst_base_sink_loop),
13455 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13456 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13458 Fix logic for returning ASYNC when not prerolled.
13460 2005-07-18 Wim Taymans <wim@fluendo.com>
13462 * gst/gstqueue.c: (gst_queue_handle_sink_event):
13463 Fix nasty refcount bug.
13465 2005-07-16 Philippe Khalaf <burger@speedy.org>
13467 * gst/elements/gstfdsrc.c:
13468 * gst/elements/gstfdsrc.h:
13469 * gst/elements/gstelements.c:
13470 * gst/elements/Makefile.am:
13471 Ported fdsrc to 0.9.
13473 2005-07-16 Wim Taymans <wim@fluendo.com>
13475 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13476 (gst_base_sink_do_sync):
13479 2005-07-16 Wim Taymans <wim@fluendo.com>
13481 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13482 (gst_base_sink_event), (gst_base_sink_get_times),
13483 (gst_base_sink_do_sync), (gst_base_sink_change_state):
13484 * gst/base/gstbasesink.h:
13485 Store and use discont values when syncing buffers as described
13488 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13489 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13490 (gst_base_src_activate_push):
13491 Push discont event when starting.
13493 * gst/elements/gstidentity.c: (gst_identity_transform):
13496 * gst/gstbin.c: (gst_bin_change_state):
13497 Small cleanups in base_time distribution.
13499 * gst/gstelement.c: (gst_element_set_base_time),
13500 (gst_element_get_base_time), (gst_element_change_state):
13501 * gst/gstelement.h:
13502 Added methods for the base_time of the element.
13505 * gst/gstpipeline.c: (gst_pipeline_send_event),
13506 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13507 (gst_pipeline_get_last_stream_time):
13508 * gst/gstpipeline.h:
13510 Handle seeking as described in design doc, remove stream_time
13512 Cleanups clock and stream_time selection code. Added accessors
13513 for the stream_time.
13516 2005-07-16 Andy Wingo <wingo@pobox.com>
13518 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13521 2005-07-16 Wim Taymans <wim@fluendo.com>
13523 * check/gst/gstbin.c: (GST_START_TEST):
13524 Make elements silent as the deep_notify refs the
13525 parent, which might make the test fail.
13527 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13528 Don't hold the lock for too long.
13530 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
13532 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13533 Don't unref the caps we passed to gst_caps_make_writable() after
13534 passing them. gst_caps_make_writable() will do that for us.
13536 2005-07-15 Andy Wingo <wingo@pobox.com>
13538 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13541 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13542 own marshalling function for the handoff signal. Properly type the
13543 buffer as a buffer. Fixes some warnings. Should do a more general
13545 (gst_identity_class_init): Plug into the right marshaller.
13547 2005-07-15 Wim Taymans <wim@fluendo.com>
13549 * docs/design/part-TODO.txt:
13550 * docs/design/part-clocks.txt:
13551 * docs/design/part-element-sink.txt:
13552 * docs/design/part-events.txt:
13553 * docs/design/part-gstpipeline.txt:
13554 Updated docs, mostly DISCONT related.
13556 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
13558 * docs/pwg/building-pads.xml:
13559 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13561 2005-07-15 Andy Wingo <wingo@pobox.com>
13563 * tools/gst-typefind.c: Update, add copyright block.
13565 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13566 Normalize and truncate caps before fixation.
13569 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13570 discards all but the first structure from its argument.
13572 2005-07-15 Wim Taymans <wim@fluendo.com>
13574 * gst/base/gstbasetransform.c: (gst_base_transform_init),
13575 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13576 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13577 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13578 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13579 (gst_base_transform_chain), (gst_base_transform_change_state),
13580 (gst_base_transform_set_passthrough),
13581 (gst_base_transform_is_passthrough):
13582 * gst/base/gstbasetransform.h:
13583 Make passthrough work using the bufferpools.
13584 Changed API a bit, subclasses have to write into a buffer
13585 provided by the base class.
13586 More debug info in nego functions.
13588 * gst/elements/gstidentity.c: (gst_identity_init),
13589 (gst_identity_transform):
13590 Port to new base class.
13592 2005-07-15 Wim Taymans <wim@fluendo.com>
13594 * gst/gstmessage.c: (gst_message_new_state_changed):
13595 * tools/gst-launch.c: (event_loop), (main):
13596 Totally dump messages in -launch with the -m option.
13597 Fix message name for State messages,
13599 2005-07-14 Wim Taymans <wim@fluendo.com>
13601 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13602 Post error messages on errors.
13604 2005-07-14 Wim Taymans <wim@fluendo.com>
13606 * gst/gstcaps.c: (gst_caps_do_simplify):
13610 Define error for stream stopped.
13612 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13613 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13614 Do proper return values.
13616 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13617 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13618 (gst_pad_get_range):
13619 Better return values.
13622 Reorganise return values, add macro to check for fatal errors.
13624 * gst/gstqueue.c: (gst_queue_chain):
13625 Return proper GstFlowReturn values,
13627 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
13629 * docs/gst/gstreamer-sections.txt:
13630 * docs/gst/gstreamer.types:
13631 * docs/gst/tmpl/gst.sgml:
13632 * docs/gst/tmpl/gstbasesink.sgml:
13633 * docs/gst/tmpl/gstbasesrc.sgml:
13634 * docs/gst/tmpl/gstbasetransform.sgml:
13635 * docs/gst/tmpl/gstbin.sgml:
13636 * docs/gst/tmpl/gstbuffer.sgml:
13637 * docs/gst/tmpl/gstcaps.sgml:
13638 * docs/gst/tmpl/gstclock.sgml:
13639 * docs/gst/tmpl/gstcompat.sgml:
13640 * docs/gst/tmpl/gstconfig.sgml:
13641 * docs/gst/tmpl/gstelement.sgml:
13642 * docs/gst/tmpl/gstelementdetails.sgml:
13643 * docs/gst/tmpl/gstelementfactory.sgml:
13644 * docs/gst/tmpl/gstenumtypes.sgml:
13645 * docs/gst/tmpl/gsterror.sgml:
13646 * docs/gst/tmpl/gstevent.sgml:
13647 * docs/gst/tmpl/gstfakesink.sgml:
13648 * docs/gst/tmpl/gstfakesrc.sgml:
13649 * docs/gst/tmpl/gstfilesink.sgml:
13650 * docs/gst/tmpl/gstfilesrc.sgml:
13651 * docs/gst/tmpl/gstfilter.sgml:
13652 * docs/gst/tmpl/gstformat.sgml:
13653 * docs/gst/tmpl/gstghostpad.sgml:
13654 * docs/gst/tmpl/gstimplementsinterface.sgml:
13655 * docs/gst/tmpl/gstindex.sgml:
13656 * docs/gst/tmpl/gstindexfactory.sgml:
13657 * docs/gst/tmpl/gstinfo.sgml:
13658 * docs/gst/tmpl/gstiterator.sgml:
13659 * docs/gst/tmpl/gstmacros.sgml:
13660 * docs/gst/tmpl/gstmemchunk.sgml:
13661 * docs/gst/tmpl/gstminiobject.sgml:
13662 * docs/gst/tmpl/gstobject.sgml:
13663 * docs/gst/tmpl/gstpad.sgml:
13664 * docs/gst/tmpl/gstpadtemplate.sgml:
13665 * docs/gst/tmpl/gstparse.sgml:
13666 * docs/gst/tmpl/gstpipeline.sgml:
13667 * docs/gst/tmpl/gstplugin.sgml:
13668 * docs/gst/tmpl/gstpluginfeature.sgml:
13669 * docs/gst/tmpl/gstquery.sgml:
13670 * docs/gst/tmpl/gstqueue.sgml:
13671 * docs/gst/tmpl/gstregistry.sgml:
13672 * docs/gst/tmpl/gstregistrypool.sgml:
13673 * docs/gst/tmpl/gstscheduler.sgml:
13674 * docs/gst/tmpl/gstschedulerfactory.sgml:
13675 * docs/gst/tmpl/gststructure.sgml:
13676 * docs/gst/tmpl/gstsystemclock.sgml:
13677 * docs/gst/tmpl/gsttaglist.sgml:
13678 * docs/gst/tmpl/gsttagsetter.sgml:
13679 * docs/gst/tmpl/gsttrace.sgml:
13680 * docs/gst/tmpl/gsttrashstack.sgml:
13681 * docs/gst/tmpl/gsttypefind.sgml:
13682 * docs/gst/tmpl/gsttypefindfactory.sgml:
13683 * docs/gst/tmpl/gsttypes.sgml:
13684 * docs/gst/tmpl/gsturihandler.sgml:
13685 * docs/gst/tmpl/gsturitype.sgml:
13686 * docs/gst/tmpl/gstutils.sgml:
13687 * docs/gst/tmpl/gstvalue.sgml:
13688 * docs/gst/tmpl/gstversion.sgml:
13689 * docs/gst/tmpl/gstxml.sgml:
13690 * docs/libs/tmpl/gstcontrol.sgml:
13691 * docs/libs/tmpl/gstdataprotocol.sgml:
13692 * docs/libs/tmpl/gstdparam.sgml:
13693 * docs/libs/tmpl/gstdplinint.sgml:
13694 * docs/libs/tmpl/gstdpman.sgml:
13695 * docs/libs/tmpl/gstdpsmooth.sgml:
13696 * docs/libs/tmpl/gstgetbits.sgml:
13697 * docs/libs/tmpl/gstunitconvert.sgml:
13698 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13699 (gst_push_src_base_init), (gst_push_src_class_init),
13700 (gst_push_src_init), (gst_push_src_create):
13701 * gst/base/gstpushsrc.h:
13702 * gst/elements/gstelements.c:
13703 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13704 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13705 (gst_fake_sink_init), (gst_fake_sink_set_property),
13706 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13707 (gst_fake_sink_event), (gst_fake_sink_preroll),
13708 (gst_fake_sink_render), (gst_fake_sink_change_state):
13709 * gst/elements/gstfakesink.h:
13710 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13711 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13712 (gst_fake_src_base_init), (gst_fake_src_class_init),
13713 (gst_fake_src_init), (gst_fake_src_event_handler),
13714 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13715 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13716 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13717 (gst_fake_src_create_buffer), (gst_fake_src_create),
13718 (gst_fake_src_start), (gst_fake_src_stop):
13719 * gst/elements/gstfakesrc.h:
13720 * gst/elements/gstfilesink.c: (_do_init),
13721 (gst_file_sink_base_init), (gst_file_sink_class_init),
13722 (gst_file_sink_init), (gst_file_sink_dispose),
13723 (gst_file_sink_set_location), (gst_file_sink_set_property),
13724 (gst_file_sink_get_property), (gst_file_sink_open_file),
13725 (gst_file_sink_close_file), (gst_file_sink_query),
13726 (gst_file_sink_event), (gst_file_sink_render),
13727 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13728 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13729 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13730 * gst/elements/gstfilesink.h:
13731 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13732 (gst_file_src_class_init), (gst_file_src_init),
13733 (gst_file_src_finalize), (gst_file_src_set_location),
13734 (gst_file_src_set_property), (gst_file_src_get_property),
13735 (gst_file_src_map_region), (gst_file_src_map_small_region),
13736 (gst_file_src_create_mmap), (gst_file_src_create_read),
13737 (gst_file_src_create), (gst_file_src_is_seekable),
13738 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13739 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13740 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13741 (gst_file_src_uri_handler_init):
13742 * gst/elements/gstfilesrc.h:
13743 more autistic cleanliness in functions/names/defines
13745 2005-07-13 Andy Wingo <wingo@pobox.com>
13747 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13748 source couldn't negotiate.
13750 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13754 * gst/gstutils.c (gst_element_link_pads_filtered): New old
13755 function. I am channeling Hades. Put your boots on suckers!!!
13757 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13759 * testsuite/caps/Makefile.am:
13760 * testsuite/caps/value_compare.c:
13761 * testsuite/caps/value_intersect.c:
13762 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13763 move two testsuite apps over to the check dir
13765 2005-07-12 Wim Taymans <wim@fluendo.com>
13767 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13768 Added more debug info in the negotiate process.
13770 * gst/gstmessage.h:
13771 Prepare for segment playback.
13773 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13779 * tools/gst-launch.c: (main):
13780 NULL pipeline on errors.
13782 2005-07-12 Andy Wingo <wingo@pobox.com>
13784 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13785 not it comes from a malloc region. Make sure our copy gets freed.
13787 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
13789 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13790 * check/gst/gstmessage.c: (GST_START_TEST):
13791 * check/gst/gststructure.c: (GST_START_TEST),
13792 (gst_structure_suite), (main):
13794 * gst/gstelement.c: (gst_element_message_full):
13795 clean up GError and debug string now that they get copied
13796 * gst/gstmessage.c: (gst_message_new_error),
13797 (gst_message_new_warning), (gst_message_parse_error),
13798 (gst_message_parse_warning):
13799 use GST_TYPE_G_ERROR for structure_new, and take copies of
13800 arguments, so that we don't mess up refcounting
13802 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
13804 * check/Makefile.am:
13805 add per-test valgrind targets
13806 * check/gst-libs/gdp.c: (GST_START_TEST),
13807 (gst_data_protocol_suite), (main):
13810 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
13812 * check/Makefile.am:
13813 instate more valgrindable tests
13814 * check/elements/gstfakesrc.c: (chain_func), (event_func),
13815 (GST_START_TEST), (fakesrc_suite):
13816 * check/gst/gstpad.c: (GST_START_TEST):
13817 * check/gst/gststructure.c: (GST_START_TEST):
13819 * docs/gst/tmpl/gstminiobject.sgml:
13820 * gst/gstpad.c: (gst_pad_finalize):
13821 fix the static mutex leak
13823 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
13825 * check/Makefile.am:
13826 add two more tests for valgrinding
13827 * check/gst/gstvalue.c: (GST_START_TEST):
13828 test refcount of deserialized buffer, found a leak
13829 * docs/gst/gstreamer-docs.sgml:
13830 * docs/gst/gstreamer-sections.txt:
13831 * docs/gst/gstreamer.types:
13832 * docs/gst/tmpl/gstminiobject.sgml:
13833 add miniobject to docs
13834 * gst/gstminiobject.c:
13836 * gst/gstvalue.c: (gst_value_deserialize_buffer),
13837 (gst_string_unwrap):
13838 fix a hard-to-find invalid write for one of the tests
13839 fix a leak for deserialized buffers
13841 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13843 * docs/pwg/advanced-events.xml:
13844 * docs/pwg/advanced-request.xml:
13845 * docs/pwg/advanced-scheduling.xml:
13846 * docs/pwg/appendix-porting.xml:
13847 * docs/pwg/building-boiler.xml:
13848 * docs/pwg/intro-preface.xml:
13849 * docs/pwg/other-ntoone.xml:
13850 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13851 of example code and explanation for pad activation, loop() and
13852 getrange() functions and a bit more. Remove old comments pointing
13854 * examples/pwg/Makefile.am:
13855 Add loop/getrange examples.
13857 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
13860 check for valgrind binary + some fixes
13862 valgrind suppressions for the tests
13863 * check/Makefile.am:
13864 add a valgrind: target that valgrinds the unit tests
13865 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13866 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13867 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13868 * check/gst/gstghostpad.c:
13870 * check/gst/gstdata.c:
13872 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13873 (thread_unref), (gst_mini_object_suite), (main):
13875 * gst/gst.c: (gst_deinit):
13877 add a method to clean up.
13878 * gst/gstsystemclock.c: (gst_system_clock_dispose),
13879 (gst_system_clock_obtain):
13880 allow for disposing the system clock.
13881 * tools/gst-launch.c: (main):
13884 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
13886 * docs/gst/tmpl/gstbasesrc.sgml:
13887 * docs/gst/tmpl/gstfakesrc.sgml:
13888 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13889 (gst_base_src_init), (gst_base_src_set_property),
13890 (gst_base_src_get_property), (gst_base_src_get_range),
13891 (gst_base_src_start):
13892 * gst/base/gstbasesrc.h:
13893 add num-buffers property
13894 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13895 (gst_fakesrc_init), (gst_fakesrc_set_property),
13896 (gst_fakesrc_get_property), (gst_fakesrc_create),
13897 (gst_fakesrc_start):
13898 remove num-buffers property
13900 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
13902 * docs/gst/gstreamer-sections.txt:
13903 * docs/gst/tmpl/gstbasesink.sgml:
13904 * docs/gst/tmpl/gstbasesrc.sgml:
13905 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13906 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13907 (gst_base_sink_finalize), (gst_base_sink_set_clock),
13908 (gst_base_sink_set_property), (gst_base_sink_get_property),
13909 (gst_base_sink_handle_object), (gst_base_sink_event),
13910 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13911 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13912 (gst_base_sink_loop), (gst_base_sink_deactivate),
13913 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13914 (gst_base_sink_change_state):
13915 * gst/base/gstbasesink.h:
13916 * gst/base/gstbasesrc.h:
13917 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13918 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13919 (gst_filesink_init):
13920 more macro splitting
13922 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
13924 * gst/gstelement.c: (gst_element_get_bus):
13926 * tools/gst-launch.c: (check_intr), (event_loop):
13929 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
13931 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13934 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
13936 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13937 (gst_base_src_finalize):
13938 add finalize method and clean up properly
13939 * gst/gstpipeline.c: (gst_pipeline_dispose):
13942 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
13944 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13946 add more things to check
13947 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13948 * gst/gstelement.c:
13951 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
13953 * check/elements/gstfakesrc.c: (chain_func), (event_func),
13954 (GST_START_TEST), (fakesrc_suite):
13955 * check/gst-libs/gdp.c: (GST_START_TEST):
13956 * check/gst/gst.c: (GST_START_TEST):
13957 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13958 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13959 * check/gst/gstbus.c: (GST_START_TEST):
13960 * check/gst/gstcaps.c: (GST_START_TEST):
13961 * check/gst/gstdata.c: (GST_START_TEST):
13962 * check/gst/gstelement.c: (GST_START_TEST):
13963 * check/gst/gstghostpad.c: (GST_START_TEST):
13964 * check/gst/gstiterator.c: (GST_START_TEST):
13965 * check/gst/gstmessage.c: (GST_START_TEST):
13966 * check/gst/gstobject.c: (GST_START_TEST):
13967 * check/gst/gstpad.c: (GST_START_TEST):
13968 * check/gst/gststructure.c: (GST_START_TEST):
13969 * check/gst/gstsystemclock.c: (GST_START_TEST),
13970 (gst_systemclock_suite):
13971 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13972 * check/gst/gstvalue.c: (GST_START_TEST):
13973 * check/pipelines/cleanup.c: (GST_START_TEST):
13974 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13975 * check/states/sinks.c: (GST_START_TEST):
13976 * check/gstcheck.c: (gst_check_init):
13977 * check/gstcheck.h:
13978 add debugging category
13979 use GST_START_TEST now, so we add a debug line
13981 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
13983 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13984 add test for state change message on a bin
13985 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13987 * gst/gstbin.c: (gst_bin_init):
13988 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13989 * gst/gstelement.c: (gst_element_post_message),
13990 (gst_element_set_state):
13991 * gst/gstelementfactory.c: (gst_element_factory_create):
13992 * gst/gstmessage.c: (gst_message_new):
13993 * gst/gstscheduler.c:
13994 various debugging additions and cleanups
13996 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
13998 * check/Makefile.am:
13999 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14001 adding tests for elements
14002 * gst/gstelement.c: (gst_element_dispose):
14004 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14006 * gst/registries/gstlibxmlregistry.c: (load_feature):
14007 plug more leaks. A simple gst_init() now is leakfree, yay.
14009 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14011 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14012 (gst_xml_registry_load):
14013 plug another memleak
14015 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14018 use GST_SET_ERROR_CFLAGS
14019 * docs/faq/cvs.xml:
14020 change to ERROR_CFLAGS
14022 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14025 make GST_ERROR_CFLAGS overridable and re-enable Werror
14026 * docs/faq/cvs.xml:
14027 add a note about error CFLAGS
14028 * docs/gst/tmpl/gstfakesrc.sgml:
14029 * gst/elements/gstfakesrc.c:
14030 comment out some unused code
14031 * gst/gst.c: (split_and_iterate):
14032 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14036 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14038 * common/Makefile.am:
14039 * common/gtk-doc.mak:
14040 * docs/gst/Makefile.am:
14041 factor out gtk-doc.mak
14043 2005-07-07 Wim Taymans <wim@fluendo.com>
14045 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14046 (gst_thread_scheduler_dispose):
14047 Unlock the STREAM_LOCK completely.
14049 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14051 * check/Makefile.am:
14052 * check/elements/.cvsignore:
14053 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14054 (START_TEST), (fakesrc_suite), (main):
14055 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14056 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14057 (gst_fakesrc_create), (gst_fakesrc_start):
14058 * gst/elements/gstfakesrc.h:
14059 adding a first element test
14061 2005-07-07 Andy Wingo <wingo@pobox.com>
14063 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14066 2005-07-07 Wim Taymans <wim@fluendo.com>
14072 2005-07-07 Wim Taymans <wim@fluendo.com>
14074 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14075 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14076 Allow subclasses to implement their own negotiation.
14078 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14080 * docs/design/part-gstbin.txt:
14081 * docs/design/part-gstpipeline.txt:
14082 Update design notes to reflect the movement of
14083 responsibility for bus handling from GstPipeline to
14086 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14089 Remove unnecessary queue2/3/4 examples.
14091 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14093 * examples/Makefile.am:
14094 * examples/helloworld/helloworld.c: (event_loop), (main):
14095 * examples/queue/queue.c: (event_loop), (main):
14096 * examples/queue2/queue2.c: (main):
14097 Update a couple of the examples to work again.
14099 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14100 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14101 Spelling corrections and extra debug.
14103 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14104 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14105 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14107 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14108 (gst_pipeline_change_state):
14109 * gst/gstpipeline.h:
14110 Move the bus handler for children to the GstBin, and create a
14111 separate bus for receiving messages from children to the one the
14112 bus sends 'upwards' on.
14114 2005-07-06 Wim Taymans <wim@fluendo.com>
14117 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14118 (gst_base_sink_handle_object), (gst_base_sink_loop),
14119 (gst_base_sink_change_state):
14120 * gst/base/gstbasesink.h:
14121 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14122 (gst_base_src_init), (gst_base_src_setcaps),
14123 (gst_base_src_getcaps), (gst_base_src_loop),
14124 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14125 (gst_base_src_start), (gst_base_src_change_state):
14126 * gst/base/gstbasesrc.h:
14127 Make basesrc negotiate.
14128 Handle the case where preroll fails in basesink.
14131 2005-07-06 Wim Taymans <wim@fluendo.com>
14133 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14134 Implement the fixate function.
14135 Clean up acceptcaps.
14137 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14139 * docs/pwg/building-filterfactory.xml:
14140 * docs/pwg/pwg.xml:
14141 Remove never-written filter-factory chapter; I'll add the various
14142 base classes to part 4 ("other element types") later on.
14144 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14146 * docs/pwg/advanced-negotiation.xml:
14147 * docs/pwg/building-boiler.xml:
14148 * docs/pwg/building-pads.xml:
14149 * docs/pwg/pwg.xml:
14150 * examples/pwg/Makefile.am:
14151 Add a chapter on caps negotiation, simplify the original code
14152 samples a bit w.r.t. caps negotiation, add link to the advanced
14153 section. Add a bunch of examples showing different use cases of
14154 different types of caps negotiation. Upstream renegotiation isn't
14155 fully documented yet since nobody knows how that works.
14157 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
14159 * check/gst/gstpad.c:
14160 * check/gstcheck.c:
14161 * gst/gstpad.c: (gst_pad_get_internal_links_default):
14162 if pad has no parent, return NULL as list of internal links
14164 2005-07-05 Andy Wingo <wingo@pobox.com>
14166 * gst/elements/gstfilesrc.c:
14167 * gst/elements/gstfakesrc.c:
14168 * gst/base/gstpushsrc.c:
14169 * gst/base/gstbasesrc.h:
14170 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14172 2005-07-05 Stefan Kost <ensonic@users.sf.net>
14175 better report generation target (lcov needs a patch)
14177 2005-07-05 Andy Wingo <wingo@pobox.com>
14179 * gst/elements, testsuite: Null if we got it...
14181 2005-07-05 Wim Taymans <wim@fluendo.com>
14184 * libs/gst/dataprotocol/Makefile.am:
14185 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14186 * libs/gst/dataprotocol/dataprotocol.h:
14187 * pkgconfig/Makefile.am:
14188 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14189 * pkgconfig/gstreamer-dataprotocol.pc.in:
14190 Ported dataprotol to 0.9.
14191 Added pkgconfig files.
14193 2005-07-05 Andy Wingo <wingo@pobox.com>
14195 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14196 Default to returning TRUE for the case when tranform_caps returns
14197 a fixed caps, like for identity or volume.
14199 * check/gst/gstbus.c (pound_bus_with_messages):
14200 * check/gst/gstmessage.c (START_TEST):
14201 * check/pipelines/simple_launch_lines.c (got_handoff): Application
14202 message API change.
14204 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14205 logic weaks here: always run transform_caps, trying passthrough
14206 operation only if the original caps intersects with the transform.
14208 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14209 source and sink caps.
14211 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14212 Intersect the peer caps with the pad template before going into
14214 (gst_base_transform_transform_caps): More debugging.
14216 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14219 2005-07-04 Edward Hervey <edward@fluendo.com>
14223 (gst_pad_add_*_probe): now returns the signal id for better wrapping
14226 2005-07-04 Andy Wingo <wingo@pobox.com>
14228 * check/gst/gstpad.c: Only set explicit caps on pads.
14230 2005-07-01 Andy Wingo <wingo@pobox.com>
14232 * tests/network-clock.scm: Commentary update.
14234 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14235 Didn't really make sense, not implementable with basetransform,
14237 (gst_identity_transform): Unref inbuf via make_writable. Feeble
14238 attempt at implementing the sync property, needs an unlock method.
14240 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14241 New func, by default returns the same caps (the identity
14243 (gst_base_transform_getcaps): Uses transform_caps to return
14244 something sensible.
14245 (gst_base_transform_setcaps): Complicated logic to get caps on
14246 both pads, even if they are different, and to call set_caps once
14247 for every time both pads get their caps set.
14248 (gst_base_transform_handle_buffer): Give the ref to the transform
14249 function. Allows in-place modification of the buffer.
14251 * gst/base/gstbasetransform.h (transform_caps): New class method.
14252 Given caps on one side, what can I do on the other.
14253 (set_caps): Take two caps, one for each side of the element.
14256 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14257 caps in place. This is safe because we can check the mutability of
14258 the caps, and a good idea because fixate functions are just called
14259 as a matter of last resort. (Not actually implemented.)
14260 (gst_pad_set_caps): If the caps we're setting is actually the same
14261 as the existing pad caps, just update the pointer without calling
14262 setcaps. Assert that caps is either NULL or fixed, as per the
14265 * gst/gstghostpad.c: Update for fixate changes.
14267 2005-07-02 Andy Wingo <wingo@pobox.com>
14270 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14271 two refcounts makes it immutable, which is enough. Doc more.
14273 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
14275 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14276 Put the mini_object into GValue as a mini_object,
14277 not a gpointer, since that's how we declared
14280 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14282 * examples/pwg/Makefile.am:
14283 Fix buildbot again.
14285 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14287 * docs/pwg/building-testapp.xml:
14289 * examples/pwg/Makefile.am:
14292 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14295 * examples/Makefile.am:
14296 * examples/pwg/Makefile.am:
14297 * examples/pwg/extract.pl:
14298 Enable building the PWG examples.
14299 * docs/pwg/advanced-interfaces.xml:
14300 Add URI interface stub.
14301 * docs/pwg/advanced-types.xml:
14302 * docs/pwg/other-autoplugger.xml:
14303 * docs/pwg/appendix-porting.xml:
14304 * docs/pwg/pwg.xml:
14305 Add porting guide (mostly stubs), remove autoplugging (see ADM).
14306 * docs/pwg/building-boiler.xml:
14307 * docs/pwg/building-chainfn.xml:
14308 * docs/pwg/building-pads.xml:
14309 * docs/pwg/building-props.xml:
14310 * docs/pwg/building-state.xml:
14311 * docs/pwg/building-testapp.xml:
14312 Update the building-*.xml parts for 0.9 changes. All examples
14313 code blocks compile in examples/pwg/*.
14315 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14317 * docs/manual/advanced-autoplugging.xml:
14318 * docs/manual/appendix-checklist.xml:
14319 * docs/manual/appendix-integration.xml:
14320 * docs/manual/highlevel-components.xml:
14321 Fix playbin/decodebin examples, update docs a bit, mention bus
14322 instead of signals in various places, mention kmplayer and
14323 kaffeine since they have a working GStreamer backend in the KDE
14326 2005-06-30 Wim Taymans <wim@fluendo.com>
14329 * docs/design/draft-ghostpads.txt:
14330 * docs/design/draft-push-pull.txt:
14331 * docs/design/draft-query.txt:
14332 * docs/design/part-TODO.txt:
14333 * docs/design/part-query.txt:
14334 Added CHANGES-0.9 doc, updated status of other docs.
14339 2005-06-30 Wim Taymans <wim@fluendo.com>
14341 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14342 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14343 (gst_base_sink_change_state):
14344 * gst/base/gstbasesink.h:
14345 Some tweaks, only EOS and a buffer complete a preroll.
14347 2005-06-30 Andy Wingo <wingo@pobox.com>
14349 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14350 activate_push down to the internal pad as well.
14352 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
14354 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14356 * gst/gsttaginterface.c:
14357 Some documentation fixes (#307394 and #307397).
14359 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
14361 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14363 * gst/gstvalue.c: (gst_value_intersect_list):
14364 Fix memleak (#309125).
14366 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14368 * docs/manual/advanced-dataaccess.xml:
14369 Fix fakesrc example to compile; doesn't work, bug somewhere...?
14370 * docs/manual/basics-pads.xml:
14371 Add reference for filtered caps to above chapter.
14373 2005-06-30 Wim Taymans <wim@fluendo.com>
14375 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14376 (gst_bin_change_state):
14378 Lame attempt at making the state change function a bit
14381 2005-06-30 Wim Taymans <wim@fluendo.com>
14383 * docs/design/part-clocks.txt:
14384 * docs/design/part-element-sink.txt:
14385 * docs/design/part-events.txt:
14386 * docs/design/part-preroll.txt:
14387 * docs/design/part-states.txt:
14388 Some more tweeks and additions to the docs.
14390 2005-06-30 Wim Taymans <wim@fluendo.com>
14392 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14393 (default_have_data), (gst_pad_class_init), (gst_pad_init),
14394 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14395 (gst_pad_check_pull_range), (gst_pad_get_range),
14396 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14398 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14399 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14400 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14401 (gst_pad_remove_buffer_probe):
14402 Removed atomic operations, use existing LOCK.
14403 Move exception handling out of main code path.
14405 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14407 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14408 (silly_return_true_function), (gst_pad_class_init),
14409 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14410 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14411 (gst_pad_send_event):
14412 Fix accumulator, add default value by using _emitv() instead
14413 of _emit() for signal emission.
14415 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14417 * docs/manual/advanced-dataaccess.xml:
14418 * examples/manual/Makefile.am:
14420 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14423 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
14425 * gst/elements/gstfilesink.c: (gst_filesink_render):
14426 Simplify code so that we don't have to handle short
14427 writes and return GST_FLOW_ERROR if an error occured.
14429 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14431 * docs/gst/gstreamer-docs.sgml:
14432 Remove probes more.
14434 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14436 * docs/gst/gstreamer-sections.txt:
14437 * docs/gst/tmpl/gstpad.sgml:
14438 * docs/gst/tmpl/gstprobe.sgml:
14440 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14441 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14442 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14443 (gst_pad_push_event), (gst_pad_send_event):
14445 * gst/gstutils.c: (gst_pad_add_data_probe),
14446 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14447 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14448 (gst_pad_remove_buffer_probe):
14450 Remove old probes, add new g-signal-based probes and some utility
14453 2005-06-29 Edward Hervey <edward@fluendo.com>
14455 * gst/gstelementfactory.c:
14458 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14459 the definition to the header file.
14461 2005-06-29 Andy Wingo <wingo@pobox.com>
14463 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14464 plugins from the source directory.
14466 2005-06-29 Wim Taymans <wim@fluendo.com>
14468 * docs/gst/tmpl/gstbuffer.sgml:
14469 * docs/gst/tmpl/gstclock.sgml:
14470 Some fixings for blantently wrong text.
14472 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
14474 * check/Makefile.am:
14475 * gst/gst.c: (add_path_func), (init_pre):
14476 * gst/gstregistry.c: (gst_registry_add_path):
14477 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14478 only scan the GST_PLUGIN_PATH locations, and not add
14481 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
14483 * docs/gst/gstreamer-sections.txt:
14484 * docs/gst/tmpl/gstbasesrc.sgml:
14485 * gst/gstelement.c:
14486 * gst/gstelement.h:
14491 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14493 * docs/manual/advanced-autoplugging.xml:
14494 Fix autoplugging example.
14496 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14498 * docs/manual/advanced-autoplugging.xml:
14499 * docs/manual/mime-world.fig:
14500 Try to get autoplugging working, fix type detection. Fix text
14501 in hello-world image.
14503 2005-06-29 Wim Taymans <wim@fluendo.com>
14505 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14506 (gst_base_sink_change_state):
14510 map SIGNAL and BROADCAST to the right function.
14513 Remove redundant braces.
14515 * gst/gstpad.c: (gst_pad_set_caps):
14516 Don't call setcaps function when reseting caps to NULL.
14518 * gst/gstsystemclock.c: (gst_system_clock_dispose),
14519 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14520 (gst_system_clock_id_unschedule):
14521 Use BROADCAST as this is what we do.
14523 2005-06-29 Wim Taymans <wim@fluendo.com>
14525 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14526 We are actually prerolling before commiting the state
14529 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14531 * docs/manual/advanced-clocks.xml:
14532 * docs/manual/advanced-interfaces.xml:
14533 * docs/manual/advanced-metadata.xml:
14534 * docs/manual/advanced-position.xml:
14535 * docs/manual/advanced-schedulers.xml:
14536 * docs/manual/advanced-threads.xml:
14537 * docs/manual/appendix-porting.xml:
14538 * docs/manual/basics-bins.xml:
14539 * docs/manual/basics-bus.xml:
14540 * docs/manual/basics-elements.xml:
14541 * docs/manual/basics-helloworld.xml:
14542 * docs/manual/basics-pads.xml:
14543 * docs/manual/highlevel-components.xml:
14544 * docs/manual/manual.xml:
14545 * docs/manual/thread.fig:
14546 Update (until threads/scheduling) Application Development Manual;
14547 remove GstThread, add GstBus, add simple porting checklist, add
14548 documentation for tag writing, clocks, make all examples until this
14549 part compile and run.
14550 * examples/manual/Makefile.am:
14551 Update from changes to Application Development Manual; add bus
14552 example, remove thread example.
14554 2005-06-28 Wim Taymans <wim@fluendo.com>
14556 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14557 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14558 (gst_bus_source_dispatch):
14559 Add debugging messages.
14560 Make internal methods static.
14561 Handle the case where the bus is flushed in the handler.
14563 * gst/gstelement.c: (gst_element_get_bus):
14564 Fix refcount in _get_bus();
14566 * gst/gstpipeline.c: (gst_pipeline_change_state),
14567 (gst_pipeline_get_clock_func):
14568 Clock refcounting fixes.
14569 Handle the case where preroll timed out more gracefully.
14571 * gst/gstsystemclock.c: (gst_system_clock_dispose):
14572 Clean up the internal thread in dispose. This is needed
14573 for subclasses that actually get disposed.
14575 * gst/schedulers/threadscheduler.c:
14576 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14577 (gst_thread_scheduler_dispose):
14578 Free thread pool in dispose.
14580 2005-06-28 Andy Wingo <wingo@pobox.com>
14582 * tests/network-clock-utils.scm (debug, print-event): New utils.
14584 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14585 (*packet-loss*): Unified loss probability.
14586 (network-time): Report out-of-band events.
14588 * tests/plot-data: Add support for out-of-band events. Hack it
14589 into this script instead of passing it down the pipe; should fix
14592 2005-06-28 Wim Taymans <wim@fluendo.com>
14594 * docs/gst/gstreamer.types:
14595 * docs/gst/tmpl/gstbasesrc.sgml:
14596 * docs/gst/tmpl/gstpad.sgml:
14599 2005-06-28 Wim Taymans <wim@fluendo.com>
14601 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14602 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14603 (gst_proxy_pad_do_fixatecaps):
14604 Correctly proxy the check_pull_range function.
14606 2005-06-28 Andy Wingo <wingo@pobox.com>
14608 * tests/network-clock.scm: Removed need for slib.
14610 2005-06-28 Wim Taymans <wim@fluendo.com>
14612 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14613 (gst_basesink_preroll_queue_flush):
14614 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14615 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14616 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14617 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14618 (gst_proxy_pad_set_property):
14621 * gst/gstqueue.c: (gst_queue_init):
14622 The deprecated pad loop function is removed now.
14624 2005-06-28 Andy Wingo <wingo@pobox.com>
14626 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14627 New parameters, simulate network packet loss.
14629 * tests/network-clock-utils.scm: Initialize the RNG.
14631 2005-06-28 Wim Taymans <wim@fluendo.com>
14633 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14634 (gst_basesink_event), (gst_basesink_deactivate):
14635 Flushing the preroll queue always needs to unlock the waiters.
14637 2005-06-28 Edward Hervey <edward@fluendo.com>
14639 * gst/gstpipeline.c: (gst_pipeline_send_event):
14640 Wheen a seek was successful on a pipeline, set the stream_time to the
14641 seek offset in order to have a synchronized stream_time.
14643 2005-06-28 Wim Taymans <wim@fluendo.com>
14645 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14646 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14647 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14648 (gst_proxy_pad_do_fixatecaps):
14649 Call wrapper function instead of just calling the function
14650 pointers. This takes care of any locking and whatmore.
14652 2005-06-28 Wim Taymans <wim@fluendo.com>
14654 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14655 (gst_pad_pull_range):
14657 CONNECTED -> LINKED.
14659 2005-06-28 Andy Wingo <wingo@pobox.com>
14661 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14662 source-munging commit!!!
14664 * gst/gstobject.c (gst_object_unref, gst_object_ref)
14665 (gst_object_sink): Take gpointer arguments, not GstObject --
14666 avoids casts. Like GLib.
14668 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14671 2005-06-27 Andy Wingo <wingo@pobox.com>
14673 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14676 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14677 returns a sorted copy of the trace list.
14678 (gst_alloc_trace_print_live): New API, only prints traces with
14679 live objects. Sort the list.
14680 (gst_alloc_trace_print_all): Sort the list.
14681 (gst_alloc_trace_print): Align columns.
14683 * gst/elements/gstttypefindelement.c:
14684 * gst/elements/gsttee.c:
14685 * gst/base/gstbasesrc.c:
14686 * gst/base/gstbasesink.c:
14687 * gst/base/gstbasetransform.c:
14688 * gst/gstqueue.c: Adapt for pad activation changes.
14690 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14692 (gst_pipeline_dispose): Drop ref on sched.
14694 * gst/gstpad.c (gst_pad_init): Set the default activate func.
14695 (gst_pad_activate_default): Push mode by default.
14696 (pre_activate_switch, post_activate_switch): New stubs, things to
14697 do before and after switching activation modes on pads.
14698 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14699 the pad's activate function to choose which mode to activate.
14700 Shortcut on deactivation and call the right function directly.
14701 (gst_pad_activate_pull): New API, (de)activates a pad in pull
14703 (gst_pad_activate_push): New API, same for push mode.
14704 (gst_pad_set_activate_function)
14705 (gst_pad_set_activatepull_function)
14706 (gst_pad_set_activatepush_function): Setters for new API.
14708 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14709 Trace all miniobjects.
14710 (gst_mini_object_make_writable): Unref the arg if we copy, like
14711 gst_caps_make_writable.
14713 * gst/gstmessage.c (_gst_message_initialize): No trace init.
14715 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
14716 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14717 Adapt for new pad API.
14719 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14721 * gst/gstelement.h:
14722 * gst/gstelement.c (gst_element_iterate_src_pads)
14723 (gst_element_iterate_sink_pads): New API functions.
14725 * gst/gstelement.c (iterator_fold_with_resync): New utility,
14726 should fold into gstiterator.c in some form.
14727 (gst_element_pads_activate): Simplified via use of fold and
14728 delegation of decisions to gstpad->activate.
14730 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14733 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14734 class once in init, like gstmessage. Didn't run into this issue
14735 but it seems correct. Don't initialize a trace, gstminiobject does
14738 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14739 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14741 (assert_live_count): New util function, uses alloc traces to check
14744 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14745 To be modified when unlink drops the internal pad.
14747 2005-06-27 Wim Taymans <wim@fluendo.com>
14749 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14750 (gst_bin_change_state):
14751 Cleanup the get_state() function a little, make sure it
14752 iterates the same set of elements.
14753 Added stub iterate_state_order().
14755 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
14757 * docs/gst/gstreamer-docs.sgml:
14758 * docs/gst/gstreamer-sections.txt:
14759 * docs/gst/gstreamer.types:
14760 * docs/gst/tmpl/gstbasesink.sgml:
14761 * docs/gst/tmpl/gstbasesrc.sgml:
14762 * docs/gst/tmpl/gstbasetransform.sgml:
14763 * docs/gst/tmpl/gstelement.sgml:
14764 * docs/gst/tmpl/gstiterator.sgml:
14765 * gst/base/gstbasesrc.c:
14766 * gst/base/gstbasesrc.h:
14767 * gst/base/gstbasetransform.h:
14768 * gst/gstelement.c:
14769 * gst/gstiterator.h:
14770 adding basetransform and iterator docs
14772 2005-06-27 Andy Wingo <wingo@pobox.com>
14774 * docs/design/part-activation.txt: Notes on how activation should
14775 work -- not quite implemented yet.
14777 2005-06-25 Wim Taymans <wim@fluendo.com>
14779 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14780 At least get the chain function correct, needs more
14783 2005-06-25 Wim Taymans <wim@fluendo.com>
14785 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14786 (gst_basesink_handle_object), (gst_basesink_event),
14787 (gst_basesink_do_sync), (gst_basesink_handle_event),
14788 (gst_basesink_change_state):
14790 Right, two problems here: ghostpads don't take locks and
14791 glib _rec_mutex_lock_full() with depth==0 still locks.
14792 Catch illegal locking and g_warn them.
14794 2005-06-25 Wim Taymans <wim@fluendo.com>
14796 * check/states/sinks.c: (START_TEST), (gst_object_suite):
14797 Have to check for completion now...
14799 2005-06-25 Wim Taymans <wim@fluendo.com>
14801 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14802 (gst_basesink_handle_object), (gst_basesink_event),
14803 (gst_basesink_do_sync), (gst_basesink_handle_event),
14804 (gst_basesink_change_state):
14806 Unlock STREAM_LOCK whatever the recursion was.
14808 2005-06-25 Wim Taymans <wim@fluendo.com>
14810 * gst/base/gstbasesink.c: (gst_basesink_set_property),
14811 (gst_basesink_preroll_queue_empty),
14812 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14813 (gst_basesink_event), (gst_basesink_do_sync),
14814 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14815 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14816 (gst_basesink_change_state):
14817 Reworked the base sink, handle event and buffer serialisation
14818 correctly and removed possible deadlock.
14819 Handle EOS correctly.
14821 2005-06-25 Wim Taymans <wim@fluendo.com>
14823 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14824 (gst_pipeline_change_state):
14825 * tools/gst-launch.c: (check_intr), (event_loop), (main):
14826 Allow elements to post EOS in the state change function.
14827 Fix up -launch, make it exit the poll loop when the
14828 pipeline actually changed state.
14829 Fix up warning parsing in -launch.
14831 2005-06-25 Wim Taymans <wim@fluendo.com>
14833 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14834 (gst_tee_sink_activate):
14835 Core takes STREAM_LOCK for us now.
14837 2005-06-25 Wim Taymans <wim@fluendo.com>
14839 * gst/gstelement.c: (gst_element_get_state_func),
14840 (gst_element_set_state):
14841 * gst/gstelement.h:
14842 * gst/gstmessage.c: (gst_message_parse_error),
14843 (gst_message_parse_warning):
14844 Keep track of current target state while performing a state
14845 change so that subclasses can do something interesting.
14846 Fix parsing of warning/error messages when GError is NULL.
14848 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
14850 * docs/gst/Makefile.am:
14851 * docs/gst/gstreamer-docs.sgml:
14852 * docs/gst/gstreamer-sections.txt:
14853 * docs/gst/gstreamer.types:
14854 * docs/gst/tmpl/gstbasesink.sgml:
14855 * docs/gst/tmpl/gstbasesrc.sgml:
14856 * docs/gst/tmpl/gstbin.sgml:
14857 * docs/gst/tmpl/gstcompat.sgml:
14858 * docs/gst/tmpl/gstfakesink.sgml:
14859 * docs/gst/tmpl/gstfakesrc.sgml:
14860 * docs/gst/tmpl/gstfilesink.sgml:
14861 * docs/gst/tmpl/gstfilesrc.sgml:
14862 * docs/gst/tmpl/gstindex.sgml:
14863 * docs/manual/appendix-quotes.xml:
14864 * gst/base/gstbasesrc.h:
14865 * gst/elements/gstfakesrc.h:
14866 * gst/gstmessage.h:
14867 start pulling in base classes and elements in our docs
14869 2005-06-24 Stefan Kost <ensonic@users.sf.net>
14871 * docs/gst/Makefile.am:
14872 * docs/libs/Makefile.am:
14873 fixed make distcheck with gtk-doc 1.3
14875 2005-06-23 Wim Taymans <wim@fluendo.com>
14877 * gst/gstelement.c: (gst_element_get_state_func),
14878 (gst_element_set_state), (gst_element_change_state):
14879 When the state did not change, also report NO_PREROLL
14882 2005-06-23 Wim Taymans <wim@fluendo.com>
14884 * gst/gstpad.c: (gst_pad_event_default):
14885 * gst/gstqueue.c: (gst_queue_loop):
14886 No unsafe task pausing please.
14888 2005-06-23 Wim Taymans <wim@fluendo.com>
14890 * gst/schedulers/threadscheduler.c:
14891 (gst_thread_scheduler_task_start),
14892 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14893 Ref the task before pushing it on the threadpool. This
14894 makes sure that we have a ref when the threadfunction is
14897 2005-06-23 Andy Wingo <wingo@pobox.com>
14899 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14900 offset is greater than the file's size.
14902 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
14903 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14904 * gst/gstobject.c (gst_object_class_init): Make the class lock
14905 recursive. Wim won't let me drop deep_notify. Decodebin works
14906 again, whoopdy doo.
14908 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14909 internal pad, and hacks accordingly. Doesn't do it on the target
14910 pad because we change its caps. Probably catches all cases of
14912 (gst_ghost_pad_set_property): Connect to notify::caps as
14915 * tests/network-clock.scm (plot-simulation): Pipe data to the
14916 elite python skript.
14918 * tests/network-clock-utils.scm (define-parameter): New macro,
14919 defines a parameter that can be set via the command line.
14920 (set-parameter!, parse-parameter-arguments): Command line args
14923 * tests/plot-data: Simple matplotlib-based plotter, takes input on
14926 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
14928 * gst/elements/gsttypefindelement.c:
14929 (gst_type_find_element_handle_event):
14930 Don't restart typefinding on a discont.
14931 * gst/gstelement.c: (gst_element_set_state):
14932 Debug spelling fix.
14933 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14934 Allow changing mode of an active pad.
14935 Debug output fixes.
14936 * gst/registries/gstlibxmlregistry.c: (load_feature):
14937 Don't cast a static pad template to a normal pad template.
14939 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
14941 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14942 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14943 remove gst_strtoll completely, since it didn't actually do
14944 anything more than what g_ascii_strtoull already does.
14945 check for range errors when deserializing
14946 do a cast for the unsigned cases; but further fixing needs
14947 a decision on what the interpretation of "(int)" and
14948 deserialization should be for values that fall outside the
14949 type's boundaries (ie, refuse, or interpret as casting)
14951 2005-06-23 Wim Taymans <wim@fluendo.com>
14953 * check/Makefile.am:
14954 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14955 * docs/design/part-live-source.txt:
14956 * docs/design/part-states.txt:
14957 * gst/base/gstbasesrc.c: (gst_basesrc_init),
14958 (gst_basesrc_set_live), (gst_basesrc_is_live),
14959 (gst_basesrc_get_range), (gst_basesrc_activate),
14960 (gst_basesrc_change_state):
14961 * gst/base/gstbasesrc.h:
14962 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14963 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14964 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14965 * gst/gstelement.c: (gst_element_get_state_func),
14966 (gst_element_set_state):
14967 * gst/gstelement.h:
14969 * tools/gst-launch.c: (event_loop), (main):
14970 Added support for live sources and other elements that
14972 Updated design docs, added live-source design doc.
14973 Implemented live source functionality in basesrc
14974 Fix error condition in _bin_get_state()
14975 Implement live source handling in -launch.
14976 Added check for live sources.
14977 Fixed case in GstBin where elements were changed state
14981 2005-06-23 Andy Wingo <wingo@pobox.com>
14983 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14984 borken refcounting.
14986 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14987 gst_caps_replace takes care of this for us.
14989 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14990 gst_pad_set_caps on the target, not just its setcaps() function.
14992 * tests/network-clock.scm:
14993 * tests/network-clock-utils.scm: A network clock simulator.
14994 Something of an algorithmic testbed before doing something in C.
14996 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
14998 * check/Makefile.am:
14999 * check/gst/capslist.h:
15000 copy over from 0.8, and add two with bitmasks specified with
15002 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15003 add test to parse everything from capslist.h
15004 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15006 add test for structure deserialization
15007 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15008 add tests for deserialization of strings to int types
15009 * gst/gststructure.c: (gst_structure_nth_field_name):
15010 * gst/gststructure.h:
15011 add a way to get the name of a field referenced by index
15012 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15013 instead of checking if the resulting long long lies between
15014 min and max, we check if the long long would fit into
15015 a number of bytes for the final type.
15016 This fixes cases where a string represents 2^32 - 1, which
15017 when cast to int would be the (valid) -1, but is bigger than
15020 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15022 * gst/parse/grammar.y:
15023 add a log line for type deserialization
15025 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15027 * check/gst/gstvalue.c: (START_TEST):
15028 * gst/gstvalue.c: (gst_value_deserialize):
15029 return long long, not int, so gint64 deserialization actually
15030 works. Is there any flag that makes the compiler check this ?
15033 2005-06-22 Wim Taymans <wim@fluendo.com>
15036 Added convenience macros for setting buffers in GValue.
15038 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15040 * check/gst/.cvsignore:
15041 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15042 add a test deserializing int64, and comment part out because
15045 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15047 * check/Makefile.am:
15048 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15049 * testsuite/Makefile.am:
15050 * testsuite/caps/Makefile.am:
15051 * testsuite/caps/value_serialize.c:
15052 * testsuite/test_gst_init.c:
15053 move a value_serialize test over
15055 2005-06-20 Wim Taymans <wim@fluendo.com>
15060 * gst/gstvalue.c: (gst_value_compare_buffer),
15061 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15062 (gst_value_compare_flags), (gst_value_serialize_flags),
15063 (gst_value_deserialize_flags), (_gst_value_initialize):
15064 Fix serialisation of buffers, they are not boxed types anymore
15066 2005-06-20 Wim Taymans <wim@fluendo.com>
15068 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15069 Testcase to show error in buffer-on-caps serialisation.
15071 2005-06-20 Andy Wingo <wingo@pobox.com>
15073 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15074 will be adding to later.
15076 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15077 if its socks fill with rocks.
15078 (gst_system_clock_obtain): Set the name on object construction.
15079 Avoid double-checked locking.
15081 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
15083 * gst/gsturi.c: (gst_element_make_from_uri):
15084 Fix potential endless loop.
15086 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15088 * check/Makefile.am:
15090 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15092 move over from testsuite dir and clean up
15095 * testsuite/Makefile.am:
15096 * testsuite/tags/.cvsignore:
15097 * testsuite/tags/Makefile.am:
15098 * testsuite/tags/merge.c:
15099 remove testsuite/tags
15101 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15103 * docs/gst/gstreamer-sections.txt:
15104 * docs/gst/tmpl/gstenumtypes.sgml:
15105 * win32/gstenumtypes.c:
15106 clean up documentation build a little
15108 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15110 * check/gstcheck.h:
15111 add macros for checking refcounts on objects and caps
15112 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15113 add some more unit tests
15114 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15115 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15116 fix leaked refcounts (I hope :)) so unittest works
15120 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15122 * configure.ac: back to HEAD
15124 === release 0.9.1 ===
15126 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
15132 2005-06-17 Andy Wingo <wingo@pobox.com>
15134 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15135 assert; it's always possible that the pad gets deactivated in
15136 between the checks in gstpad.c and the implementation. Rely on
15137 finish_preroll() to return a FLUSHING or similar instead of on the
15140 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15141 clock and post an EOS message if we come out of finish_preroll in
15144 2005-06-16 David Schleef <ds@schleef.org>
15146 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15147 (gst_capsfilter_set_property): Allow NULL as possible value
15148 for filter_caps property, indicating GST_CAPS_ANY.
15150 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15152 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15154 * gst/schedulers/Makefile.am:
15156 * gstreamer.spec.in:
15159 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15161 * gstreamer.spec.in:
15164 2005-06-08 Andy Wingo <wingo@pobox.com>
15166 * gst/gstutils.c: RPAD fixes all around.
15167 (gst_element_link_pads): Refcounting fixes.
15169 * tools/gst-inspect.c:
15170 * tools/gst-xmlinspect.c:
15172 * gst/base/gsttypefindhelper.c:
15173 * gst/base/gstbasesink.c:
15174 * gst/gstqueue.c: RPAD fixes.
15176 * gst/gstghostpad.h:
15177 * gst/gstghostpad.c: New ghost pad implementation as full proxy
15178 pads. The tricky thing is they provide both source and sink
15179 interfaces, since they proxy the internal pad for the external
15180 pad, and vice versa. Implement with lower-level ProxyPad objects,
15181 with the interior proxy pad as a child of the exterior ghost pad.
15182 Should write a doc on this.
15184 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15185 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15188 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15189 pads are real pads. No ghost pads in this file. Not documenting
15190 the myriad s/RPAD/PAD/ and REALIZE fixes.
15191 (gst_pad_class_init): Add properties for "direction" and
15192 "template". Both are construct-only, so they can't change during
15193 the life of the pad. Fixes properly deriving from GstPad.
15194 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15195 derived objects, just set properties when creating the objects via
15197 (gst_pad_get_parent): Implement as a function, return NULL if the
15198 parent is not an element.
15199 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15200 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15202 * gst/gstobject.c (gst_object_class_init): Make name a construct
15203 property. Don't set it in the object init.
15205 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15206 with UNKNOWN direction.
15207 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15208 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15209 (gst_element_remove_pad): Remove ghost-pad special cases.
15210 (gst_element_pads_activate): Remove rpad cruft.
15212 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15213 catch the pad's-parent-not-an-element case.
15215 * gst/gst.h: Include gstghostpad.h.
15217 * gst/gst.c (init_post): No more real, ghost pads.
15219 * gst/Makefile.am: Add gstghostpad.[ch].
15221 * check/Makefile.am:
15222 * check/gst/gstbin.c:
15223 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15224 into a bin creates ghost pads, and that the refcounts are right.
15225 Partly moved from gstbin.c.
15227 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15229 * check/gst-libs/.cvsignore:
15230 * check/gst/.cvsignore:
15231 * check/pipelines/.cvsignore:
15233 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15234 (START_TEST), (cleanup_suite), (main):
15235 add some tests related to cleanup after running pipelines
15237 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15239 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15240 add a testsuite for GstBuffer
15242 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15244 * gst/gstminiobject.h:
15245 add defines for accessing the refcount
15247 2005-06-03 Stefan Kost <ensonic@users.sf.net>
15249 * Makefile.am: added support for html unit test coverage reports
15251 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
15253 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15254 Free existing caps if the capsfilter changes. Add a FIXME about
15255 setting those caps on the pads.
15257 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15258 Before adding a ghost pad to a parent bin, check that there isn't
15259 already one for the element on the bin. Prevents infinite recursion
15260 when using decodebin in parse pipelines. Andy says he'll rewrite the
15261 way this works anyway, so ignore the hack.
15263 2005-06-02 Andy Wingo <wingo@pobox.com>
15265 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15266 file size, pass it on to the type find helper.
15268 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15269 segment_start and segment_end properly according to the seek
15270 method. Segment_end is still a bit flaky because offset can be
15271 negative for CUR and END cases, but it takes -1 as an "unset"
15274 2005-06-02 Wim Taymans <wim@fluendo.com>
15276 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15277 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15278 (gst_basesink_activate):
15279 * gst/base/gstbasesink.h:
15280 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15281 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15282 (gst_pad_query), (gst_pad_start_task):
15284 * gst/gstqueue.c: (gst_queue_bufferalloc),
15285 (gst_queue_handle_sink_event), (gst_queue_chain):
15286 Bufferalloc: return GstFlowReturn to more accuratly report
15287 why allocation failed.
15289 2005-06-02 Wim Taymans <wim@fluendo.com>
15291 * gst/gstpipeline.c: (gst_pipeline_send_event):
15292 Take snapshot of state without blocking.
15294 2005-06-02 Wim Taymans <wim@fluendo.com>
15296 * docs/design/part-TODO.txt:
15297 * docs/design/part-caps.txt:
15298 * docs/design/part-clocks.txt:
15299 * docs/design/part-negotiation.txt:
15300 * docs/design/part-preroll.txt:
15303 2005-05-30 Wim Taymans <wim@fluendo.com>
15305 * gst/elements/gstidentity.c: (gst_identity_event),
15306 (gst_identity_transform), (gst_identity_get_property):
15307 Protect last_message property as it is accessed from
15310 2005-05-30 Wim Taymans <wim@fluendo.com>
15312 * gst/gstelement.c: (gst_element_init),
15313 (gst_element_pads_activate), (gst_element_change_state):
15314 Slicker pad activation code.
15316 2005-05-30 Wim Taymans <wim@fluendo.com>
15319 * gst/gstelement.h:
15320 * gst/gstelementfactory.h:
15322 Move elementfactory methods to separate .h file.
15324 2005-05-30 Wim Taymans <wim@fluendo.com>
15326 * docs/design/part-overview.txt:
15327 * gst/gstsystemclock.h:
15328 Small typo fixes, doc updates.
15330 2005-05-30 Wim Taymans <wim@fluendo.com>
15332 * gst/gst.c: (gst_init_get_popt_table), (init_post),
15333 (init_popt_callback):
15334 Remove cpu-opt flag.
15336 2005-05-30 Wim Taymans <wim@fluendo.com>
15338 * gst/gstbuffer.c: (gst_subbuffer_finalize),
15339 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15341 Avoid typechecking in places where not needed.
15342 Added accessor for malloc_data.
15344 2005-05-30 Wim Taymans <wim@fluendo.com>
15346 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15347 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15348 (gst_pad_configure_sink), (gst_pad_configure_src),
15349 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15350 (gst_pad_start_task):
15351 Propagate errors from _set_caps() in configure_src/sink
15352 functions instead of returning TRUE.
15353 FLUSH events can travel up and downstream
15356 2005-05-30 Wim Taymans <wim@fluendo.com>
15358 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15359 (gst_basesink_activate):
15360 Handle EOS in preroll.
15362 2005-05-30 Wim Taymans <wim@fluendo.com>
15364 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15365 (gst_queue_loop), (gst_queue_handle_src_event):
15366 Remove old pieces of code
15367 Flushing the queue in an upstream event is a very bad idea.
15369 2005-05-26 Andy Wingo <wingo@pobox.com>
15371 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15372 gst_value_set_mini_object so as to add a ref on the object (which
15373 will be removed when the value is unset).
15375 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15376 arg type in ::handoff.
15378 * gst/gstelement.c (gst_element_change_state): Also deactivate
15379 pads in READY->NULL, just in case the element didn't make it to
15380 PAUSED. Wingo tested, Wim approved.
15382 2005-05-26 Wim Taymans <wim@fluendo.com>
15384 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15385 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15386 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15387 A flushing pad cannot be used to alloc_buffer from.
15389 2005-05-26 Wim Taymans <wim@fluendo.com>
15391 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15392 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15393 (gst_bus_source_dispatch), (gst_bus_source_finalize),
15394 (gst_bus_create_watch), (gst_bus_add_watch_full):
15396 Implement a real GSource and use g_main_context_wakeup() to
15397 signal new messages instead of the socketpair.
15399 2005-05-25 Wim Taymans <wim@fluendo.com>
15401 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15402 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15403 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15404 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15405 (gst_pad_send_event), (gst_pad_start_task):
15406 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15407 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15408 (gst_queue_sink_activate), (gst_queue_src_activate),
15409 (gst_queue_change_state):
15411 Fix state changes for non sinks. We now change sinks, then elements
15412 with unconnected srcpads, then the rest.
15413 More efficient queue unlocking in flush and state changes.
15414 Set the pad activate mode even if it does not have an activate
15417 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15419 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15420 Don't go in pull mode for non-seekable sources.
15421 * gst/elements/gsttypefindelement.h:
15422 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15423 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15424 (free_entry), (stop_typefinding),
15425 (gst_type_find_element_handle_event), (find_peek),
15426 (gst_type_find_element_chain), (do_pull_typefind),
15427 (gst_type_find_element_change_state):
15428 Allow typefinding (w/o seeking) in push-mode, simplified version
15429 of what was in 0.8.
15430 * gst/gstutils.c: (gst_buffer_join):
15432 gst_buffer_join() from 0.8.
15434 2005-05-25 Wim Taymans <wim@fluendo.com>
15436 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15437 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15438 (gst_pad_send_event), (gst_pad_start_task):
15439 Disable attempt at mode switching until it is figured out.
15441 2005-05-25 Wim Taymans <wim@fluendo.com>
15443 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15444 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15445 (gst_basesink_finish_preroll), (gst_basesink_chain),
15446 (gst_basesink_loop), (gst_basesink_activate),
15447 (gst_basesink_change_state):
15448 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15449 (gst_basesrc_get_range), (gst_basesrc_loop),
15450 (gst_basesrc_activate):
15451 * gst/elements/gsttee.c: (gst_tee_sink_activate):
15452 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15453 (gst_real_pad_init), (gst_real_pad_set_property),
15454 (gst_real_pad_get_property), (gst_pad_set_active),
15455 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15456 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15457 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15458 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15459 (gst_pad_event_default_dispatch), (gst_pad_event_default),
15460 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15461 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15462 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15463 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15464 (gst_pad_stop_task):
15466 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15467 (gst_queue_loop), (gst_queue_src_activate):
15468 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15469 (gst_task_get_state):
15471 * gst/schedulers/threadscheduler.c:
15472 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15473 Implement gst_pad_pause/start/stop_task(), take STREAM lock
15475 Remove ACTIVE pad flag, use FLUSHING everywhere
15476 Added _pad_chain(), _pad_get_range() to call chain/getrange
15478 Add locks around IS_FLUSHING when reading.
15479 Take STREAM lock in chain(), get_range() functions so plugins
15480 don't need to take it anymore.
15484 2005-05-25 Wim Taymans <wim@fluendo.com>
15486 * tools/gst-launch.c: (event_loop):
15487 Unref message after using its contents instead of
15490 2005-05-24 Wim Taymans <wim@fluendo.com>
15492 * docs/design/draft-ghostpads.txt:
15493 * docs/design/draft-push-pull.txt:
15494 * docs/design/draft-query.txt:
15495 * docs/design/part-overview.txt:
15496 Docs updates, added general overview doc.
15498 2005-05-21 David Schleef <ds@schleef.org>
15500 * docs/gst/tmpl/old/GstBin.sgml:
15501 * docs/gst/tmpl/old/GstBuffer.sgml:
15502 * docs/gst/tmpl/old/GstCaps.sgml:
15503 * docs/gst/tmpl/old/GstClock.sgml:
15504 * docs/gst/tmpl/old/GstCompat.sgml:
15505 * docs/gst/tmpl/old/GstData.sgml:
15506 * docs/gst/tmpl/old/GstElement.sgml:
15507 * docs/gst/tmpl/old/GstEvent.sgml:
15508 * docs/gst/tmpl/old/GstIndex.sgml:
15509 * docs/gst/tmpl/old/GstStructure.sgml:
15510 * docs/gst/tmpl/old/GstTag.sgml:
15511 * docs/gst/tmpl/old/cothreads.sgml:
15512 * docs/gst/tmpl/old/cothreads_compat.sgml:
15513 * docs/gst/tmpl/old/gettext.sgml:
15514 * docs/gst/tmpl/old/gobject2gtk.sgml:
15515 * docs/gst/tmpl/old/grammar.tab.sgml:
15516 * docs/gst/tmpl/old/gst-i18n-app.sgml:
15517 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15518 * docs/gst/tmpl/old/gst_private.sgml:
15519 * docs/gst/tmpl/old/gstaggregator.sgml:
15520 * docs/gst/tmpl/old/gstarch.sgml:
15521 * docs/gst/tmpl/old/gstatomic_impl.sgml:
15522 * docs/gst/tmpl/old/gstbufferstore.sgml:
15523 * docs/gst/tmpl/old/gstdata_private.sgml:
15524 * docs/gst/tmpl/old/gstdisksink.sgml:
15525 * docs/gst/tmpl/old/gstdisksrc.sgml:
15526 * docs/gst/tmpl/old/gstelementfactory.sgml:
15527 * docs/gst/tmpl/old/gstextratypes.sgml:
15528 * docs/gst/tmpl/old/gstfakesink.sgml:
15529 * docs/gst/tmpl/old/gstfakesrc.sgml:
15530 * docs/gst/tmpl/old/gstfdsink.sgml:
15531 * docs/gst/tmpl/old/gstfdsrc.sgml:
15532 * docs/gst/tmpl/old/gstfilesink.sgml:
15533 * docs/gst/tmpl/old/gstfilesrc.sgml:
15534 * docs/gst/tmpl/old/gsthttpsrc.sgml:
15535 * docs/gst/tmpl/old/gstidentity.sgml:
15536 * docs/gst/tmpl/old/gstindexfactory.sgml:
15537 * docs/gst/tmpl/old/gstmarshal.sgml:
15538 * docs/gst/tmpl/old/gstmd5sink.sgml:
15539 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15540 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15541 * docs/gst/tmpl/old/gstpadtemplate.sgml:
15542 * docs/gst/tmpl/old/gstpipefilter.sgml:
15543 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15544 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15545 * docs/gst/tmpl/old/gstshaper.sgml:
15546 * docs/gst/tmpl/old/gstspider.sgml:
15547 * docs/gst/tmpl/old/gstspideridentity.sgml:
15548 * docs/gst/tmpl/old/gststatistics.sgml:
15549 * docs/gst/tmpl/old/gsttee.sgml:
15550 * docs/gst/tmpl/old/gsttimecache.sgml:
15551 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15552 * docs/gst/tmpl/old/gstxmlregistry.sgml:
15553 * docs/gst/tmpl/old/gthread-cothreads.sgml:
15554 * docs/gst/tmpl/old/types.sgml:
15555 I didn't intend to add these or check them in.
15557 2005-05-19 David Schleef <ds@schleef.org>
15559 * configure.ac: Use -no-common everywhere. In a sane world, it
15560 would be the default in libtool, because without it, you can't
15561 build DLLs on Windows.
15562 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15563 * docs/gst/gstreamer-sections.txt:
15564 * docs/gst/tmpl/gstcpu.sgml:
15565 * docs/gst/tmpl/gstdata.sgml:
15566 * docs/gst/tmpl/gstthread.sgml:
15568 2005-05-19 David Schleef <ds@schleef.org>
15570 * gst/gstminiobject.c: (gst_value_set_mini_object),
15571 (gst_value_take_mini_object), (gst_value_get_mini_object):
15572 * gst/gstminiobject.h: Add GValue set/get functions.
15574 2005-05-19 Wim Taymans <wim@fluendo.com>
15576 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15577 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15578 (gst_subbuffer_init), (gst_buffer_is_span_fast):
15580 * gst/gstbus.c: (gst_bus_post):
15581 * gst/gstelement.c: (gst_element_get_random_pad):
15582 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15583 Make subbufer unref the parent in finalize.
15584 some more debugging info.
15587 2005-05-19 Wim Taymans <wim@fluendo.com>
15589 * gst/base/gstbasesink.c: (gst_basesink_class_init),
15590 (gst_basesink_init), (gst_basesink_finalize),
15591 (gst_basesink_activate), (gst_basesink_change_state):
15592 Don't free preroll queue too early.
15594 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15598 Hi, I'm outdated. Please shoot me.
15600 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15602 * gst/gstpipeline.c: (gst_pipeline_send_event):
15603 Do not access variables after they have been deleted.
15605 2005-05-19 Wim Taymans <wim@fluendo.com>
15607 * tools/gst-inspect.c: (print_plugin_features):
15608 A plugin feature does unfortunatly not use the
15611 2005-05-18 Wim Taymans <wim@fluendo.com>
15613 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15614 Port _span() functions to new subbuffers.
15616 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15618 * gst/gstbin.c: (gst_bin_add_func):
15619 Fix clock settery in bins when adding kids after the clock has
15622 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15624 * gst/elements/gstidentity.c: (gst_identity_class_init):
15625 Workaround until signals support GstMiniObject.
15627 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
15630 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15632 2005-05-18 Wim Taymans <wim@fluendo.com>
15634 * gst/base/Makefile.am:
15635 * gst/base/gstadapter.c: (gst_adapter_base_init),
15636 (gst_adapter_class_init), (gst_adapter_init),
15637 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15638 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15639 (gst_adapter_flush), (gst_adapter_available),
15640 (gst_adapter_available_fast):
15641 * gst/base/gstadapter.h:
15642 Ported and added adapter to the base classes.
15644 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15647 * gst/gstmessage.c:
15648 Make sure the class is reffed/unreffed once before threads can be
15649 used. Fixes #304551.
15651 2005-05-17 Wim Taymans <wim@fluendo.com>
15653 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15654 (gst_basesink_chain_unlocked), (gst_basesink_activate):
15655 * gst/gstminiobject.c: (gst_mini_object_get_type),
15656 (gst_mini_object_free):
15657 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15658 (gst_pad_push), (gst_pad_push_event):
15659 * gst/gstqueue.c: (gst_queue_change_state):
15660 Don't queue buffers in basesink when we are flushing.
15661 Unref buffer when flushing in basesink.
15662 Flush queue when going to READY
15663 Unref buffer when _push() returns an error.
15664 Don't free MiniObject instance when refcount is incremented
15665 in _finalize() so that we can recover objects.
15667 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
15669 * docs/manual/advanced-schedulers.xml:
15670 * docs/manual/appendix-checklist.xml:
15671 * docs/pwg/advanced-clock.xml:
15672 * docs/pwg/advanced-interfaces.xml:
15673 * docs/pwg/advanced-request.xml:
15674 * docs/pwg/advanced-types.xml:
15675 * docs/pwg/intro-preface.xml:
15676 * examples/plugins/example.c: (gst_example_get_type),
15677 (gst_example_class_init), (gst_example_chain),
15678 (gst_example_set_property), (gst_example_get_property),
15679 (gst_example_change_state), (plugin_init):
15680 * examples/plugins/example.h:
15683 2005-05-17 Wim Taymans <wim@fluendo.com>
15685 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15686 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15687 * gst/gstqueue.c: (gst_queue_change_state):
15688 Clear queue when going to READY.
15689 Remove IN_SETCAPS flag too.
15691 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
15693 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15694 Remove implicit cast from gboolean to GstElementStateReturn;
15695 make sure we still return failure in paused => ready case if
15696 the parent class fails to change state and our own stop
15699 2005-05-17 Wim Taymans <wim@fluendo.com>
15701 * tools/gst-launch.c: (event_loop):
15702 Message was unreffed too soon.
15704 2005-05-16 Andy Wingo <wingo@pobox.com>
15706 * gst/gstbin.c (sink_iterator_filter): Err... um...
15708 * check/gst/gstbin.c (test_ghost_pads): New test for the
15709 ghosting-if-elements-not-in-same-bin behavior.
15711 2005-05-16 David Schleef <ds@schleef.org>
15713 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15714 accessing refcount directly.
15716 2005-05-15 David Schleef <ds@schleef.org>
15718 * check/Makefile.am: remove GstData checks
15719 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15720 * gst/Makefile.am: add miniobject, remove data
15721 * gst/gst.h: add miniobject, remove data
15722 * gst/gstdata.c: remove
15723 * gst/gstdata.h: remove
15724 * gst/gstdata_private.h: remove
15725 * gst/gsttypes.h: remove GstEvent and GstMessage
15726 * gst/gstelement.c: (gst_element_post_message): fix for API changes
15727 * gst/gstmarshal.list: change BOXED -> OBJECT
15729 Implement GstMiniObject.
15730 * gst/gstminiobject.c:
15731 * gst/gstminiobject.h:
15733 Modify to be subclasses of GstMiniObject.
15734 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15735 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15736 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15737 (gst_subbuffer_get_type), (gst_subbuffer_init),
15738 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15741 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15742 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15743 (_gst_event_copy), (gst_event_new):
15745 * gst/gstmessage.c: (_gst_message_initialize),
15746 (gst_message_get_type), (gst_message_class_init),
15747 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15748 (gst_message_new), (gst_message_new_error),
15749 (gst_message_new_warning), (gst_message_new_tag),
15750 (gst_message_new_state_changed), (gst_message_new_application):
15751 * gst/gstmessage.h:
15752 * gst/gstprobe.c: (gst_probe_perform),
15753 (gst_probe_dispatcher_dispatch):
15755 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15756 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15757 (_gst_query_copy), (gst_query_new):
15759 Update elements for GstData -> GstMiniObject changes
15761 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15762 (gst_queue_chain), (gst_queue_loop):
15763 * gst/elements/gstbufferstore.c:
15764 (gst_buffer_store_add_buffer_func),
15765 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15766 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15767 (gst_fakesink_render):
15768 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15769 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15770 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15771 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15772 (gst_filesrc_create_read):
15773 * gst/elements/gstidentity.c: (gst_identity_class_init):
15774 * gst/elements/gsttypefindelement.c:
15775 (gst_type_find_element_src_event), (free_entry_buffers),
15776 (gst_type_find_element_handle_event):
15777 * libs/gst/dataprotocol/dataprotocol.c:
15778 (gst_dp_header_from_buffer):
15779 * libs/gst/dataprotocol/dataprotocol.h:
15780 * libs/gst/dataprotocol/dp-private.h:
15782 2005-05-15 David Schleef <ds@schleef.org>
15784 * gst/elements/gstelements.c: Don't include headers that were
15787 2005-05-15 David Schleef <ds@schleef.org>
15789 * gst/elements/Makefile.am: Remove some elements that don't
15790 need to be in the core (or even exist at all).
15791 * gst/elements/gstaggregator.c:
15792 * gst/elements/gstaggregator.h:
15793 * gst/elements/gstmd5sink.c:
15794 * gst/elements/gstmd5sink.h:
15795 * gst/elements/gstmultifilesrc.c:
15796 * gst/elements/gstmultifilesrc.h:
15797 * gst/elements/gstpipefilter.c:
15798 * gst/elements/gstpipefilter.h:
15799 * gst/elements/gstshaper.c:
15800 * gst/elements/gstshaper.h:
15801 * gst/elements/gststatistics.c:
15802 * gst/elements/gststatistics.h:
15803 * po/POTFILES.in: Remove above files.
15805 2005-05-14 Andy Wingo <wingo@pobox.com>
15807 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15808 so as to get the refs right.
15809 (sink_iterator_filter): New function, wraps bin_element_is_sink,
15810 unreffing objects that don't pass the filter.
15812 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15813 gst_element_set_bus.
15814 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15815 normal cases, this will destroy the bus.
15817 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15820 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15823 2005-05-13 Andy Wingo <wingo@pobox.com>
15825 * gst/gstutils.c (gst_element_link_pads): Instead of calling
15826 gst_pad_link, call pad_link_maybe_ghosting,
15827 (pad_link_maybe_ghosting): Links pads, making sure that the
15828 elements being linked are in the same bin.
15829 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15830 Helpers for pad_link_maybe_ghosting.
15832 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
15835 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15837 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
15839 * docs/design/part-element-source.txt:
15842 2005-05-12 Wim Taymans <wim@fluendo.com>
15844 * gst/base/gstbasesink.c: (gst_basesink_init),
15845 (gst_basesink_activate):
15846 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15847 (gst_basesrc_is_seekable):
15848 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15849 (bin_element_is_sink), (gst_bin_change_state):
15850 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15851 * gst/gstelement.h:
15852 Identify sinks by their flag to avoid overly complicated
15854 Do state changes even for elements not reachable from the
15856 BaseSink is a sink now :)
15857 Some more debugging info in the basesrc.
15860 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15862 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15863 Implement _query on a bin, similar to _send_event.
15865 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
15867 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15868 Discont event offset format should be GST_FORMAT_BYTES,
15869 not GST_FORMAT_TIME.
15871 2005-05-12 Wim Taymans <wim@fluendo.com>
15873 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15874 Same fix as Ronald's but without the signal.
15876 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15878 * gst/gstutils.c: (gst_element_query_position):
15879 No, an element is not a pad.
15881 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15883 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15884 (gst_bin_get_state):
15885 If a child is removed from a bin while we remove the child from
15886 the bin and while we're retrieving its state, signal this to the
15887 get_state function so we abort the wait (instead of waiting for
15888 a timeout) and can immediately re-iterate over all other elements.
15890 2005-05-12 Wim Taymans <wim@fluendo.com>
15892 * gst/base/Makefile.am:
15893 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15894 (gst_basesrc_start):
15895 * gst/base/gstbasesrc.h:
15896 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15897 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15898 (gst_pushsrc_init), (gst_pushsrc_create):
15899 * gst/base/gstpushsrc.h:
15900 Added is_seekable to BaseSrc
15901 Added simple PushSrc.
15903 2005-05-11 Wim Taymans <wim@fluendo.com>
15905 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15906 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15907 (gst_element_link_pads), (gst_element_query_position),
15908 (gst_element_query_convert), (intersect_caps_func),
15909 (gst_pad_query_position), (gst_pad_query_convert):
15910 Fix refcounting in utils function.
15911 No point in trying to activate a pad when it's added, it could
15912 be added from the state change function and then we deadlock, the
15913 element has to decide what to do.
15915 2005-05-10 Andy Wingo <wingo@pobox.com>
15917 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15918 *all* the arguments.
15920 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15921 stream lock if it's a FLUSH_DONE; normal flushes don't get the
15922 lock (according to the docs -- if this is wrong change the docs).
15924 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15925 flush messages in the NULL state.
15927 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15928 message immediately and return.
15929 (gst_bus_set_flushing): New function. If a bus is flushing, it
15930 flushes out any queued messages and immediately unrefs new
15931 messages. This is so when an element goes to NULL, all of the
15932 unhandled messages coming from it can be freed, and their
15933 references to the element dropped. In other words: message source
15934 ref considered harmful :P
15936 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15937 we're finished with it.
15939 * gst/gstmessage.c (gst_message_new_state_changed):
15941 2005-05-10 Wim Taymans <wim@fluendo.com>
15943 * gst/gstvalue.c: (gst_value_compare_flags),
15944 (gst_value_serialize_flags), (gst_value_deserialize_flags),
15945 (_gst_value_initialize):
15946 Added flags serialize/deserialize/compare code.
15948 2005-05-09 Andy Wingo <wingo@pobox.com>
15950 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15951 Intersect the peer's caps with our caps.
15953 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15955 * gst/base/gsttypefindhelper.c: (helper_find_peek):
15956 * gst/elements/gsttypefindelement.c: (find_peek):
15957 Handle negative offsets better. Fixes decodebin.
15959 2005-05-09 Wim Taymans <wim@fluendo.com>
15961 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15962 (gst_base_transform_event):
15963 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15964 Implement accept_caps.
15965 Fix silly lock/unlock mismatch in base class.
15967 2005-05-09 Wim Taymans <wim@fluendo.com>
15969 * docs/design/draft-push-pull.txt:
15970 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15971 * gst/elements/gstfilesink.c: (gst_filesink_init),
15972 (gst_filesink_query):
15973 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15974 (gst_type_find_handle_src_query), (find_element_get_length):
15975 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15976 * gst/gstelement.h:
15977 * gst/gstmessage.c:
15978 * gst/gstmessage.h:
15979 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15980 (gst_real_pad_get_caps_unlocked),
15981 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15982 (gst_pad_event_default_dispatch), (gst_pad_event_default),
15983 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15984 (gst_real_pad_dispose), (gst_real_pad_finalize),
15985 (gst_pad_load_and_link), (gst_pad_save_thyself),
15986 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15987 (gst_pad_check_pull_range), (gst_pad_pull_range),
15988 (gst_pad_template_get_type), (gst_pad_template_class_init),
15989 (gst_pad_template_init), (gst_pad_template_dispose),
15990 (name_is_valid), (gst_static_pad_template_get),
15991 (gst_pad_template_new), (gst_static_pad_template_get_caps),
15992 (gst_pad_template_get_caps), (gst_pad_set_element_private),
15993 (gst_pad_get_element_private), (gst_pad_start_task),
15994 (gst_pad_pause_task), (gst_pad_stop_task),
15995 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15996 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15997 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15998 (gst_ghost_pad_new):
16000 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16001 (gst_query_new_position), (gst_query_set_position),
16002 (gst_query_parse_position), (gst_query_new_convert),
16003 (gst_query_set_convert), (gst_query_parse_convert):
16005 * gst/gstqueryutils.c:
16006 * gst/gstqueryutils.h:
16007 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16008 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16009 (gst_queue_handle_src_query):
16010 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16011 (gst_element_query_position), (gst_element_query_convert),
16012 (intersect_caps_func), (gst_pad_query_position),
16013 (gst_pad_query_convert):
16015 * tools/gst-inspect.c: (print_pad_info):
16016 * tools/gst-xmlinspect.c: (print_element_info):
16017 Remove old query functions. Ported old code.
16018 Added position/convert helper functions to gstutils.
16019 Reordered gstpad.c code, grouping relevant things.
16020 Remove gst_message_new(), always need to speficy a specific
16024 2005-05-09 Andy Wingo <wingo@pobox.com>
16026 * gst/gstiterator.h: Add some includes.
16028 * gst/gstqueryutils.h: Include more headers.
16031 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16032 some uses of gst_pad_query.
16034 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16035 NULL out parameters.
16036 (gst_query_new_position): New proc, allocates a new position
16039 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16040 gstqueryutils.c to the build.
16042 * gst/gststructure.c (gst_structure_set_valist): Implement with
16043 the generic G_VALUE_COLLECT.
16045 2005-05-08 Edward Hervey <bilboed@bilboed.com>
16047 * gst/Makefile.am: (gst_headers):
16048 Added gstqueryutils.h to the list of headers to install, that was
16049 a 'nachty' move wingo :)
16051 2005-05-06 Andy Wingo <wingo@pobox.com>
16054 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16055 GstData, init a memchunk.
16056 (standard_definitions): Add a few query types, deprecate a few.
16057 (gst_query_get_type): New proc.
16058 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16060 (gst_query_new_application, gst_query_get_structure): New public
16063 * docs/design/draft-query.txt: Removed LINKS from the query types,
16064 because all the rest can be dispatched to other pads -- seemed
16065 ugly to have a query that couldn't be dispatched. internal_links
16066 is fine as a pad method.
16068 * gst/gstpad.h: Add query2 as a pad method, add the new functions
16069 in gstpad.c, but maintain binary compatibility for the moment.
16070 Will fix before 0.9 is out.
16072 * gst/gstqueryutils.c:
16073 * gst/gstqueryutils.h: New files, implement 3 methods for each
16074 query type: parse_query, parse_response, and set. Probably need an
16077 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16079 * gst/elements/gstfilesink.c (gst_filesink_query2):
16080 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16081 query_types, and formats methods.
16083 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16084 (gst_pad_set_query2_function): New functions.
16085 (gst_real_pad_init): Set query2_default as the default query2
16086 function. Basically just dispatches to internally linked pads.
16090 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16091 without using the atomic operations. Only one thread can possibly
16092 be accessing the data at this point. Changed so as to avoid
16093 gst_atomic operations.
16095 2005-05-06 Wim Taymans <wim@fluendo.com>
16097 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16098 Also set caps if we use the fallback buffer alloc.
16100 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
16102 * docs/gst/Makefile.am:
16103 * docs/gst/gstreamer-docs.sgml:
16104 * docs/gst/gstreamer-sections.txt:
16105 * docs/gst/tmpl/gstatomic.sgml:
16106 * docs/gst/tmpl/gstmemchunk.sgml:
16107 * testsuite/elements/struct_i386.h:
16108 * win32/GStreamer.vcproj:
16110 Purge GstAtomic stuff from docs and win32 makefiles as well
16112 2005-05-06 Wim Taymans <wim@fluendo.com>
16114 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16115 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16116 * gst/gstpad.c: (gst_pad_peer_get_caps):
16117 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16118 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16119 (gst_queue_src_activate), (gst_queue_change_state):
16121 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16122 (intersect_caps_func):
16123 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16124 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16125 Some fixes for the peer_get_caps() change.
16127 2005-05-06 Wim Taymans <wim@fluendo.com>
16129 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16130 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16131 (gst_basesink_activate):
16132 Actually do something with error codes returned from the push
16135 2005-05-06 Wim Taymans <wim@fluendo.com>
16137 * docs/design/part-element-sink.txt:
16138 * docs/design/part-element-source.txt:
16139 * gst/base/gstbasesink.c: (gst_basesink_class_init),
16140 (gst_basesink_event), (gst_basesink_activate):
16141 * gst/base/gstbasesink.h:
16142 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16143 (gst_basesrc_activate):
16144 * gst/base/gstbasesrc.h:
16145 * gst/gstelement.c: (gst_element_pads_activate):
16146 Some more documentation.
16147 Fixed scheduling decision in _pads_activate().
16149 2005-05-05 Andy Wingo <wingo@pobox.com>
16151 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16154 2005-05-05 Wim Taymans <wim@fluendo.com>
16156 * gst/base/Makefile.am:
16157 * gst/base/gstbasesink.h:
16158 * gst/base/gstbasesrc.c: (gst_basesrc_init),
16159 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16160 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16161 (gst_collectpads_class_init), (gst_collectpads_init),
16162 (gst_collectpads_finalize), (gst_collectpads_new),
16163 (gst_collectpads_set_function), (gst_collectpads_add_pad),
16164 (find_pad), (gst_collectpads_remove_pad),
16165 (gst_collectpads_is_active), (gst_collectpads_collect),
16166 (gst_collectpads_collect_range), (gst_collectpads_start),
16167 (gst_collectpads_stop), (gst_collectpads_peek),
16168 (gst_collectpads_pop), (gst_collectpads_available),
16169 (gst_collectpads_read), (gst_collectpads_flush),
16170 (gst_collectpads_chain):
16171 * gst/base/gstcollectpads.h:
16172 * gst/elements/Makefile.am:
16173 * gst/elements/gstelements.c:
16174 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16175 (gst_fakesink_get_times), (gst_fakesink_event),
16176 (gst_fakesink_preroll), (gst_fakesink_render):
16177 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16178 (gst_filesink_init), (gst_filesink_set_location),
16179 (gst_filesink_open_file), (gst_filesink_close_file),
16180 (gst_filesink_pad_query), (gst_filesink_event),
16181 (gst_filesink_render), (gst_filesink_change_state):
16182 * gst/elements/gstfilesink.h:
16183 Added object to help in making collect pad based elements.
16185 Make event function in sink baseclass return gboolean.
16187 2005-05-05 Wim Taymans <wim@fluendo.com>
16189 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16190 (gst_bin_get_by_name):
16192 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16193 (gst_clock_finalize):
16194 * gst/gstdata.c: (gst_data_replace):
16196 * gst/gstelement.c: (gst_element_request_pad),
16197 (gst_element_pads_activate):
16198 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16199 (gst_object_unref):
16200 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16201 (gst_pad_set_checkgetrange_function),
16202 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16203 (gst_pad_check_pull_range), (gst_pad_pull_range),
16204 (gst_static_pad_template_get_caps), (gst_pad_start_task),
16205 (gst_pad_pause_task), (gst_pad_stop_task):
16206 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16207 (gst_element_request_pad), (gst_pad_proxy_getcaps):
16208 Fix name lookup in GstBin.
16209 Added _data_replace() function and _buffer_replace()
16210 Use finalize method to clean up clock.
16211 Fix refcounting on request pads.
16212 Fix pad schedule mode error.
16213 Some more object refcounting debug info,
16216 2005-05-04 Andy Wingo <wingo@pobox.com>
16218 * check/Makefile.am:
16219 * docs/gst/tmpl/gstatomic.sgml:
16220 * docs/gst/tmpl/gstplugin.sgml:
16221 * gst/base/gstbasesink.c: (gst_basesink_activate):
16222 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16223 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16224 (gst_basesrc_query), (gst_basesrc_set_property),
16225 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16226 (gst_basesrc_activate):
16227 * gst/base/gstbasesrc.h:
16228 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16229 (gst_base_transform_src_activate):
16230 * gst/elements/gstelements.c:
16231 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16232 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16233 * gst/elements/gsttee.c: (gst_tee_sink_activate):
16234 * gst/elements/gsttypefindelement.c: (find_element_get_length),
16235 (gst_type_find_element_checkgetrange),
16236 (gst_type_find_element_activate):
16237 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16238 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16239 (gst_caps_load_thyself):
16240 * gst/gstelement.c: (gst_element_pads_activate),
16241 (gst_element_save_thyself), (gst_element_restore_thyself):
16242 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16243 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16245 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16246 (gst_xml_parse_file), (gst_xml_parse_memory),
16247 (gst_xml_get_element), (gst_xml_make_element):
16248 * gst/indexers/gstfileindex.c: (gst_file_index_load),
16249 (_file_index_id_save_xml), (gst_file_index_commit):
16250 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16251 (read_enum), (load_pad_template), (load_feature), (load_plugin),
16253 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16254 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16255 * tools/gst-complete.c: (main):
16256 * tools/gst-compprep.c: (main):
16257 * tools/gst-inspect.c: (print_element_properties_info):
16258 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16259 * tools/gst-xmlinspect.c: (print_element_properties):
16262 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
16264 * gst/gstplugin.c: (gst_plugin_check_module),
16265 (gst_plugin_check_file), (gst_plugin_load_file):
16266 apply patch from #172526 to make register work on MacOSX
16268 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16270 * docs/gst/tmpl/gstconfig.sgml:
16271 * gst/gstconfig.h.in:
16272 move documentation for some symbols. Add doc for GST_PTR_FORMAT
16273 * testsuite/debug/printf_extension.c: (main):
16274 Do not use GST_PTR_FORMAT on pointers to types with
16275 sizeof < sizeof(gpointer). Fixes test on 64-bit
16276 * testsuite/elements/property.h:
16277 use correct printf format
16279 2005-05-02 Wim Taymans <wim@fluendo.com>
16281 * docs/design/draft-push-pull.txt:
16282 * docs/design/draft-query.txt:
16283 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16284 (gst_basesrc_start):
16285 Added draft for new query API.
16286 Added draft for better selecting scheduling methods.
16287 Make basesrc ignore length if the subclass does not support
16290 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16293 possible fixes for automake-1.5 - _LIBADD is reserved
16295 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16297 * docs/faq/Makefile.am:
16298 * docs/manual/Makefile.am:
16299 * docs/manuals.mak:
16300 * docs/pwg/Makefile.am:
16302 possible fixes for automake-1.5
16304 2005-04-28 Wim Taymans <wim@fluendo.com>
16306 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16307 (gst_basesink_pad_getcaps), (gst_basesink_init),
16308 (gst_basesink_do_sync):
16309 * gst/gstclock.c: (gst_clock_entry_new):
16310 * gst/gstevent.c: (gst_event_discont_get_value):
16311 * gst/gstpipeline.c: (pipeline_bus_handler),
16312 (gst_pipeline_change_state):
16313 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16314 Better debugging of clocking info.
16315 Allow NULL values when getting discont values.
16317 2005-04-27 Wim Taymans <wim@fluendo.com>
16319 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16320 * check/gst/gstpad.c: (gst_pad_suite):
16321 Increase timeout for checks.
16323 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16325 * check/Makefile.am:
16326 fix the broken rule for cleanup. Apparently this rule is
16327 only needed on FC2, so maybe this warrants further autotool
16330 2005-04-26 Wim Taymans <wim@fluendo.com>
16332 * gst/gsttrashstack.h:
16333 Ooohh. a nasty one! After having a failed pop() from the stack,
16334 it's possible that the stack is empty. In that case, don't
16335 follow the NULL pointer.
16337 2005-04-25 Wim Taymans <wim@fluendo.com>
16339 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16340 (gst_pad_set_checkgetrange_function),
16341 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16342 (gst_pad_check_pull_range), (gst_pad_pull_range),
16343 (gst_static_pad_template_get_caps), (gst_pad_start_task),
16344 (gst_pad_pause_task), (gst_pad_stop_task):
16345 * gst/gstplugin.c: (gst_plugin_load):
16347 Remove gst_library_load as it does more harm than good with
16348 the new g_module flags.
16349 Revert bogus caps template check in pad linking, pad caps
16350 are important when linking not the template, which is more
16351 general than the current caps.
16353 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16355 * gst/autoplug/.cvsignore:
16356 * gst/autoplug/Makefile.am:
16357 * gst/autoplug/gstsearchfuncs.c:
16358 * gst/autoplug/gstsearchfuncs.h:
16359 * gst/autoplug/gstspider.c:
16360 * gst/autoplug/gstspider.h:
16361 * gst/autoplug/gstspideridentity.c:
16362 * gst/autoplug/gstspideridentity.h:
16363 * gst/autoplug/spidertest.c:
16366 2005-04-25 Wim Taymans <wim@fluendo.com>
16368 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16369 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16370 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16371 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16373 Added stubs for unimplemented functions.
16375 2005-04-24 David Schleef <ds@schleef.org>
16377 * gst/gstpad.h: Disable some unimplemented functions. Wim,
16380 2005-04-24 David Schleef <ds@schleef.org>
16382 Convert everything from GstAtomicInt to g_atomic_int_*, and
16387 * gst/gstatomic_impl.h:
16395 * gst/gstdata_private.h:
16399 * gst/gstmessage.c:
16402 * gst/gststructure.c:
16403 * gst/gststructure.h:
16404 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16407 2005-04-24 David Schleef <ds@schleef.org>
16409 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16410 make the regressions tests work. Remove some code that is no
16412 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16413 Disable warning for pads without templates.
16415 2005-04-24 David Schleef <ds@schleef.org>
16417 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
16418 functions that handle filtered links.
16419 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16421 * gst/gstutils.c: Fix/remove utility functions that handle
16424 * gst/gstvalue.c: Add serialization/deserialization of caps
16425 * gst/parse/grammar.y: Ignore filtered caps when linking. This
16426 requires fixing so that the filter caps notation creates
16427 a capsfilter element and sets the filter_caps property. I
16428 think everyone probably wants to keep the shorthand notation.
16429 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16430 * docs/gst/tmpl/gstpad.sgml:
16432 * gst/elements/gstelements.c: Register capsfilter element.
16433 * gst/Makefile.am: fix spacing
16434 * docs/random/ds/0.9-suggested-changes: random
16436 2005-04-23 David Schleef <ds@schleef.org>
16438 * gst/elements/Makefile.am:
16439 * gst/elements/gstcapsfilter.c: New element that acts like an
16440 identity, but filters caps. Will eventually replace filtered
16441 caps in pad linking.
16442 * gst/gstutils.c: (gst_element_create_all_pads): New function
16443 to create all the ALWAYS pads that are registered with an
16444 element class. This functionality should eventually be
16445 merged in with GstElement initialization.
16447 * testsuite/trigger/README: part of trigger test code that should
16448 have been checked in a long time ago.
16450 2005-04-23 David Schleef <ds@schleef.org>
16452 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
16453 needed with new versions of libtool (nobody will confirm this),
16454 and hard to carry around.
16455 * gst/autoplug/Makefile.am:
16456 * gst/base/Makefile.am:
16457 * gst/elements/Makefile.am:
16458 * gst/indexers/Makefile.am:
16459 * gst/schedulers/Makefile.am:
16460 * libs/gst/bytestream/Makefile.am:
16461 * libs/gst/control/Makefile.am:
16462 * libs/gst/dataprotocol/Makefile.am:
16463 * libs/gst/getbits/Makefile.am:
16465 2005-04-21 Wim Taymans <wim@fluendo.com>
16467 * docs/design/draft-push-pull.txt:
16468 * docs/design/part-MT-refcounting.txt:
16469 * docs/design/part-TODO.txt:
16470 * docs/design/part-caps.txt:
16471 * docs/design/part-events.txt:
16472 * docs/design/part-gstbus.txt:
16473 * docs/design/part-gstpipeline.txt:
16474 * docs/design/part-messages.txt:
16475 * docs/design/part-push-pull.txt:
16476 * docs/design/part-query.txt:
16479 2005-04-21 Wim Taymans <wim@fluendo.com>
16481 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16482 (gst_message_new), (gst_message_new_error),
16483 (gst_message_new_warning), (gst_message_new_tag),
16484 (gst_message_new_state_changed), (gst_message_new_application),
16485 (gst_message_get_structure):
16486 * gst/gstmessage.h:
16487 * gst/gststructure.c: (gst_structure_set_parent_refcount),
16488 (gst_structure_copy_conditional):
16489 Use parent refcount in GstMessage to ensure GstStructure
16491 Cleaned up headers a bit.
16494 2005-04-20 Wim Taymans <wim@fluendo.com>
16496 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16497 (gst_basesink_pad_getcaps), (gst_basesink_init),
16498 (gst_basesink_chain_unlocked):
16499 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16500 (gst_type_find_helper):
16501 * gst/elements/gsttypefindelement.c:
16502 (gst_type_find_element_have_type), (gst_type_find_element_init),
16503 (stop_typefinding), (gst_type_find_element_handle_event),
16504 (find_suggest), (gst_type_find_element_chain),
16505 (gst_type_find_element_checkgetrange),
16506 (gst_type_find_element_getrange), (do_typefind),
16507 (gst_type_find_element_activate):
16508 * gst/gstbuffer.c: (_gst_buffer_sub_free),
16509 (gst_buffer_default_free), (gst_buffer_default_copy),
16510 (gst_buffer_set_caps):
16511 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16512 (gst_caps_replace):
16513 * gst/gstmessage.c: (gst_message_new),
16514 (gst_message_new_state_changed):
16515 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16516 (gst_pad_set_checkgetrange_function),
16517 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16518 (gst_pad_set_caps), (gst_pad_check_pull_range),
16519 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16521 * gst/gsttypefind.c: (gst_type_find_register):
16522 Make gst_caps_replace() work like other _replace() functions.
16523 Use _caps_replace() where possible.
16524 Make sure _message_new() initialises its field.
16525 Add gst_static_pad_template_get_caps()
16528 2005-04-18 Andy Wingo <wingo@pobox.com>
16530 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16531 on the peer, not the pad. I think that was a typo. Pass an extra
16532 arg to see if random access is possible. Activate the pads as
16533 PULL_RANGE if possible.
16535 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16537 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
16538 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16541 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16543 * docs/faq/using.xml:
16544 Add note on gstreamer-properties (#154996).
16546 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16548 * docs/random/bbb/optional-properties:
16549 Some analysis on optional properties.
16551 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16553 * docs/gst/tmpl/gstelementfactory.sgml:
16554 * gst/gstelement.h:
16555 * gst/gstelementfactory.c: (gst_element_factory_init),
16556 (gst_element_factory_cleanup), (gst_element_register),
16557 (__gst_element_factory_add_static_pad_template),
16558 (gst_element_factory_get_static_pad_templates),
16559 (gst_element_factory_can_src_caps),
16560 (gst_element_factory_can_sink_caps):
16561 * gst/registries/Makefile.am:
16562 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16563 (gst_xml_registry_class_init), (gst_xml_registry_init),
16564 (gst_xml_registry_new), (gst_xml_registry_set_property),
16565 (gst_xml_registry_get_property), (get_time), (make_dir),
16566 (gst_xml_registry_get_perms_func),
16567 (plugin_times_older_than_recurse), (plugin_times_older_than),
16568 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16569 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16570 (add_to_char_array), (read_string), (read_uint), (read_enum),
16571 (load_pad_template), (load_feature), (load_plugin), (load_paths),
16572 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16573 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16574 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16575 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16576 (gst_xml_registry_rebuild):
16577 * gst/registries/gstlibxmlregistry.h:
16578 * tools/gst-compprep.c: (main):
16579 * tools/gst-inspect.c: (print_pad_templates_info):
16580 * tools/gst-xmlinspect.c: (print_element_info):
16581 Use libxml2 for registry parsing, use staticpadtemplates in
16582 elementfactories. Makes gst_init() +/- 10x faster.
16584 2005-04-12 Wim Taymans <wim@fluendo.com>
16586 * gst/base/Makefile.am:
16587 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16588 (gst_basesink_pad_getcaps), (gst_basesink_init),
16589 (gst_basesink_event), (gst_basesink_change_state):
16590 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16591 (gst_basesrc_init), (gst_basesrc_query),
16592 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16593 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16594 (gst_basesrc_check_get_range), (gst_basesrc_loop),
16595 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16596 (gst_basesrc_stop), (gst_basesrc_activate),
16597 (gst_basesrc_change_state):
16598 * gst/base/gsttypefindhelper.c: (helper_find_peek),
16599 (helper_find_suggest), (gst_type_find_helper):
16600 * gst/base/gsttypefindhelper.h:
16601 * gst/elements/Makefile.am:
16602 * gst/elements/gstelements.c:
16603 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16604 (gst_fakesink_get_times), (gst_fakesink_event),
16605 (gst_fakesink_preroll), (gst_fakesink_render):
16606 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16607 (gst_fakesrc_init), (gst_fakesrc_event_handler),
16608 (gst_fakesrc_get_property), (gst_fakesrc_create),
16609 (gst_fakesrc_start), (gst_fakesrc_stop):
16610 * gst/elements/gstfakesrc.h:
16611 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16612 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16613 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16614 (gst_filesrc_create_read), (gst_filesrc_create),
16615 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16616 (gst_filesrc_start):
16617 * gst/elements/gsttypefindelement.c:
16618 (gst_type_find_element_have_type), (gst_type_find_element_init),
16619 (start_typefinding), (stop_typefinding), (push_buffer_store),
16620 (gst_type_find_element_handle_event),
16621 (gst_type_find_element_chain),
16622 (gst_type_find_element_checkgetrange),
16623 (gst_type_find_element_getrange), (do_typefind),
16624 (gst_type_find_element_activate),
16625 (gst_type_find_element_change_state):
16626 * gst/elements/gsttypefindelement.h:
16627 * gst/gstpipeline.c: (pipeline_bus_handler):
16628 Added typefind helper.
16629 Small preroll fix in the base sink.
16630 Disable typefind code in basesrc.
16631 Crude port of typefindelement.
16635 2005-04-11 Wim Taymans <wim@fluendo.com>
16637 * check/gst/gstbus.c: (gstbus_suite):
16638 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16639 * check/gstcheck.h:
16640 Fix up the timeout so that the test does not fail.
16642 2005-04-06 Wim Taymans <wim@fluendo.com>
16645 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16646 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16647 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16648 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16649 (gst_basesrc_check_get_range), (gst_basesrc_loop),
16650 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16651 (gst_basesrc_stop), (gst_basesrc_activate),
16652 (gst_basesrc_change_state), (basesrc_find_peek),
16653 (basesrc_find_suggest), (gst_basesrc_type_find):
16654 * gst/base/gstbasesrc.h:
16655 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16656 (gst_filesrc_class_init), (gst_filesrc_init),
16657 (gst_filesrc_finalize), (gst_filesrc_set_location),
16658 (gst_filesrc_set_property), (gst_filesrc_get_property),
16659 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16660 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16661 (gst_filesrc_create_read), (gst_filesrc_create),
16662 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16663 * gst/elements/gstfilesrc.h:
16664 * gst/gstelement.c: (gst_element_get_state_func),
16665 (gst_element_lost_state), (gst_element_pads_activate):
16666 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16667 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16668 (gst_pad_pull_range):
16670 More work on the generic source base class, implement seeking,
16672 Make filesrc extend the base source class.
16673 Added gst_pad_set_checkgetrange_function to GstPad.
16675 2005-04-06 Andy Wingo <wingo@pobox.com>
16677 * pkgconfig/gstreamer-base.pc.in:
16678 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16680 * pkgconfig/Makefile.am:
16681 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16683 2005-04-04 Wim Taymans <wim@fluendo.com>
16685 * gst/base/Makefile.am:
16687 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16688 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16689 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16690 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16691 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16692 (gst_basesrc_base_init), (gst_basesrc_class_init),
16693 (gst_basesrc_init), (gst_basesrc_get_formats),
16694 (gst_basesrc_get_query_types), (gst_basesrc_query),
16695 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16696 (gst_basesrc_set_property), (gst_basesrc_get_property),
16697 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16698 (gst_basesrc_loop), (gst_basesrc_activate),
16699 (gst_basesrc_change_state):
16700 * gst/base/gstbasesrc.h:
16701 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16702 (gst_fakesrc_class_init), (gst_fakesrc_init),
16703 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16704 (gst_fakesrc_get_property), (gst_fakesrc_create):
16705 * gst/elements/gstfakesrc.h:
16706 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16707 (gst_filesrc_open_file), (gst_filesrc_loop),
16708 (gst_filesrc_activate), (filesrc_find_peek),
16709 (gst_filesrc_type_find):
16710 Made base source class, make fakesrc extend it.
16711 Add comments to basesink class.
16712 Some filesrc cleanup.
16714 2005-03-31 David Schleef <ds@schleef.org>
16716 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16717 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16718 expected to link against libgstreamer.
16719 * gst/base/Makefile.am: link against libgstreamer
16720 * gst/elements/Makefile.am: same
16722 2005-03-31 Andy Wingo <wingo@pobox.com>
16724 * tests/instantiate/Makefile.am:
16725 * tests/instantiate/caps.c: Add test to test speed of caps copy
16728 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16729 GMemChunk to be fair.
16731 * gst/gsttrashstack.h: Remove warning about using the fallback
16732 trash stack implementation, it's still faster than malloc.
16734 2005-03-30 Andy Wingo <wingo@pobox.com>
16736 * tests/complexity.c: Add a copyright.
16738 2005-03-31 Wim Taymans <wim@fluendo.com>
16740 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16741 (gst_base_transform_class_init), (gst_base_transform_init),
16742 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16743 (gst_base_transform_get_property),
16744 (gst_base_transform_sink_activate),
16745 (gst_base_transform_src_activate),
16746 (gst_base_transform_change_state):
16747 * gst/base/gstbasetransform.h:
16748 * gst/elements/gstidentity.c: (gst_identity_class_init),
16749 (gst_identity_event), (gst_identity_check_perfect),
16750 (gst_identity_transform), (gst_identity_start),
16751 (gst_identity_stop):
16752 Added start/stop methods to transform base class so subclasses
16753 don't need to deal with state changes even.
16755 2005-03-31 Wim Taymans <wim@fluendo.com>
16757 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16758 (gst_event_new_discontinuous), (gst_event_discont_get_value):
16760 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16761 (gst_pad_pull_range):
16762 Added rate to the discont event to prepare for variable speed
16763 and reverse playback.
16765 2005-03-29 David Schleef <ds@schleef.org>
16768 * testsuite/trigger/Makefile.am:
16769 * testsuite/trigger/trigger.c: A little example program to show
16770 how trigger-based elements can work.
16772 2005-03-29 Wim Taymans <wim@fluendo.com>
16774 * gst/base/Makefile.am:
16776 * gst/base/gstbasesink.c: (gst_basesink_get_type),
16777 (gst_basesink_base_init), (gst_basesink_class_init),
16778 (gst_basesink_pad_getcaps), (gst_basesink_init),
16779 (gst_basesink_activate), (gst_basesink_change_state):
16780 * gst/base/gstbasesink.h:
16781 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16782 (gst_base_transform_base_init), (gst_base_transform_finalize),
16783 (gst_base_transform_class_init), (gst_base_transform_init),
16784 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16785 (gst_base_transform_event), (gst_base_transform_getrange),
16786 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16787 (gst_base_transform_set_property),
16788 (gst_base_transform_get_property),
16789 (gst_base_transform_sink_activate),
16790 (gst_base_transform_src_activate),
16791 (gst_base_transform_change_state):
16792 * gst/base/gstbasetransform.h:
16793 * gst/elements/gstidentity.c: (gst_identity_finalize),
16794 (gst_identity_class_init), (gst_identity_init),
16795 (gst_identity_event), (gst_identity_check_perfect),
16796 (gst_identity_transform), (gst_identity_set_property),
16797 (gst_identity_get_property), (gst_identity_change_state):
16798 * gst/elements/gstidentity.h:
16799 * gst/gstelement.c: (gst_element_get_state_func),
16800 (gst_element_lost_state), (gst_element_pads_activate):
16801 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16802 (gst_pad_check_pull_range), (gst_pad_pull_range):
16804 Simplify pad activation.
16805 Added function to check if pull_range can be performed.
16806 Error out when pulling inactive or flushing pads.
16807 Removed const from refcounted types as it does not make sense.
16808 Simplify pad templates in basesink
16809 Added base class for simple 1-to-1 transforms.
16810 Make identity subclass the base transform.
16812 2005-03-29 Andy Wingo <wingo@pobox.com>
16814 * docs/libs/gstreamer-libs-overrides.txt:
16815 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16816 really don't understand what's going on, but like whatever. I want
16819 * docs/gst/Makefile.am:
16820 * docs/libs/Makefile.am: Dist the overrides files.
16822 * check/Makefile.am (clean-local): Remove .libs directories.
16824 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16825 elements to EXTRA_DIST, so po/ files are happy.
16827 * po/POTFILES.in: Er, remove it here.
16829 * po/POTFILES: Remove gstspider.c.
16831 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16833 * docs/libs/gstreamer-libs-docs.sgml:
16834 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16837 * tests/complexity.c (main): Set the length of the preroll queue
16838 on the sinks to prevent a lockup.
16840 * libs/gst/dataprotocol/Makefile.am:
16841 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16842 the same as the one in check/gst-libs/gdp.c.
16844 * po/, docs/gst/: Commit automatic changes to docs and po files.
16846 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16847 the versioned libgstbase.
16849 * check/Makefile.am: Depend on an unversioned gst-register, seems
16850 to make autoconf happier.
16852 * gst/base/Makefile.am: Make libgstbase a versioned lib.
16854 2005-03-28 Wim Taymans <wim@fluendo.com>
16857 * docs/design/part-gstelement.txt:
16858 * docs/design/part-negotiation.txt:
16859 * docs/design/part-preroll.txt:
16860 * docs/design/part-scheduling.txt:
16861 * docs/design/part-states.txt:
16863 * gst/base/Makefile.am:
16865 * gst/base/gstbasesink.c: (gst_basesink_get_template),
16866 (gst_basesink_base_init), (gst_basesink_class_init),
16867 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16868 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16869 (gst_basesink_set_pad_functions),
16870 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16871 (gst_basesink_set_property), (gst_basesink_get_property),
16872 (gst_base_sink_get_template), (gst_base_sink_get_caps),
16873 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16874 (gst_basesink_preroll_queue_push),
16875 (gst_basesink_preroll_queue_empty),
16876 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16877 (gst_basesink_event), (gst_basesink_get_times),
16878 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16879 (gst_basesink_chain_unlocked), (gst_basesink_chain),
16880 (gst_basesink_loop), (gst_basesink_activate),
16881 (gst_basesink_change_state):
16882 * gst/base/gstbasesink.h:
16883 * gst/elements/Makefile.am:
16884 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16885 (gst_fakesink_class_init), (gst_fakesink_init),
16886 (gst_fakesink_set_property), (gst_fakesink_get_property),
16887 (gst_fakesink_get_times), (gst_fakesink_event),
16888 (gst_fakesink_preroll), (gst_fakesink_render),
16889 (gst_fakesink_change_state):
16890 * gst/elements/gstfakesink.h:
16891 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16892 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16893 * gst/gstelement.c: (gst_element_add_pad),
16894 (gst_element_get_state_func), (gst_element_abort_state),
16895 (gst_element_commit_state), (gst_element_lost_state),
16896 (gst_element_set_state), (gst_element_pads_activate):
16897 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16898 * gst/gstpipeline.c: (gst_pipeline_send_event),
16899 (gst_pipeline_change_state):
16900 Added state change code.
16901 Added/updated docs.
16902 Added sink base class, make fakesink extend the base class.
16903 Small cleanups in GstPipeline.
16905 2005-03-26 David Schleef <ds@schleef.org>
16907 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
16908 is broken and should be implemented in a different library.
16909 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16910 * gst/gst.h: remove gstcpu.h
16911 * gst/gstcpu.c: remove
16912 * gst/gstcpu.h: remove
16913 * gst/Makefile.am.future: Remove this file. It's ancient.
16915 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16917 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16918 (gst_bin_send_event):
16919 Add default event/set_manager handlers. The set_manager handler
16920 takes care that the manager is distributed over kids that were
16921 already in the bin before the manager was set. The event handler
16922 is a utility virtual function that sends the event over all sinks,
16923 so that gst_element_send_event (bin, event); has the expected
16925 * gst/gstpad.c: (gst_pad_event_default):
16926 Re-install default event handling for discontinuities, so that
16927 seeking works without requiring hacks in applications or extra
16929 * gst/gstpipeline.c: (gst_pipeline_class_init),
16930 (gst_pipeline_send_event):
16931 Half hack, half utility: set a pipeline to PAUSED for seek events,
16932 since that is the only way we can guarantee a/v sync. Means that
16933 you can do gst_element_seek (pipeline, method, pos); on a pipeline
16934 and it "just works".
16936 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16938 * gst/gstpipeline.c: (gst_pipeline_use_clock):
16939 Lock/unlock mismatch.
16941 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
16943 * docs/faq/gst-uninstalled:
16944 add gst-plugins-base
16945 * docs/gst/Makefile.am:
16946 don't error out until docs are fixed
16947 * docs/gst/gstreamer.types:
16950 2005-03-22 Wim Taymans <wim@fluendo.com>
16952 * check/Makefile.am:
16953 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16954 * gst/gststructure.c: (gst_structure_set_valist),
16955 (gst_structure_copy_conditional):
16956 Activated more tests.
16957 Added message test.
16958 Added G_TYPE_POINTER to GstStructure.
16961 2005-03-22 Wim Taymans <wim@fluendo.com>
16963 * docs/design/part-TODO.txt:
16964 * docs/design/part-events.txt:
16965 * docs/design/part-gstbin.txt:
16966 * docs/design/part-gstbus.txt:
16967 * docs/design/part-gstpipeline.txt:
16968 * docs/design/part-messages.txt:
16970 * gst/gstmessage.c:
16973 2005-03-21 Wim Taymans <wim@fluendo.com>
16975 * gst/gstbus.c: (gst_bus_post):
16976 Fix copy-and-paste error.
16978 2005-03-21 Wim Taymans <wim@fluendo.com>
16980 * check/Makefile.am:
16982 * gst/elements/Makefile.am:
16983 * gst/elements/gstelements.c:
16984 * gst/elements/gstfakesink.c: (gst_fakesink_init),
16985 (gst_fakesink_event), (gst_fakesink_chain):
16986 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16987 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16988 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16989 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16990 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16991 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16992 (gst_fakesrc_loop), (gst_fakesrc_activate),
16993 (gst_fakesrc_change_state):
16994 * gst/elements/gstfakesrc.h:
16995 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16996 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16997 (gst_filesrc_open_file), (gst_filesrc_loop),
16998 (gst_filesrc_activate), (gst_filesrc_change_state),
16999 (filesrc_find_peek), (filesrc_find_suggest),
17000 (gst_filesrc_type_find):
17001 * gst/elements/gstidentity.c: (gst_identity_finalize),
17002 (gst_identity_class_init), (gst_identity_init),
17003 (gst_identity_proxy_getcaps), (identity_queue_push),
17004 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17005 (gst_identity_getrange), (gst_identity_chain),
17006 (gst_identity_sink_loop), (gst_identity_src_loop),
17007 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17008 (gst_identity_set_property), (gst_identity_get_property),
17009 (gst_identity_change_state):
17010 * gst/elements/gstidentity.h:
17011 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17012 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17013 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17014 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17015 (gst_tee_sink_activate):
17016 * gst/elements/gsttee.h:
17017 * gst/gst.c: (gst_register_core_elements), (init_post):
17019 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17020 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17021 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17022 (gst_bin_change_state):
17024 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17025 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17026 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17027 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17028 (gst_bus_set_sync_handler), (gst_bus_create_watch),
17029 (bus_watch_callback), (bus_watch_destroy),
17030 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17031 (poll_timeout), (gst_bus_poll):
17035 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17036 (gst_element_post_message), (gst_element_message_full),
17037 (gst_element_get_state_func), (gst_element_get_state),
17038 (gst_element_abort_state), (gst_element_commit_state),
17039 (gst_element_lost_state), (gst_element_set_state),
17040 (gst_element_pads_activate), (gst_element_change_state),
17041 (gst_element_dispose), (gst_element_set_manager_func),
17042 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17043 (gst_element_set_manager), (gst_element_get_manager),
17044 (gst_element_set_bus), (gst_element_get_bus),
17045 (gst_element_set_scheduler), (gst_element_get_scheduler):
17046 * gst/gstelement.h:
17047 * gst/gstevent.c: (gst_event_new_segment_seek),
17048 (gst_event_new_flush):
17050 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17051 (_gst_message_free), (gst_message_get_type), (gst_message_new),
17052 (gst_message_new_eos), (gst_message_new_error),
17053 (gst_message_new_warning), (gst_message_new_tag),
17054 (gst_message_new_state_changed), (gst_message_new_application),
17055 (gst_message_get_structure), (gst_message_parse_tag),
17056 (gst_message_parse_state_changed), (gst_message_parse_error),
17057 (gst_message_parse_warning):
17058 * gst/gstmessage.h:
17059 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17060 (gst_real_pad_set_property), (gst_pad_set_active),
17061 (gst_pad_is_active), (gst_pad_set_blocked_async),
17062 (gst_pad_set_blocked), (gst_pad_is_blocked),
17063 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17064 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17065 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17066 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17067 (gst_pad_link_filtered), (gst_pad_relink_filtered),
17068 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17069 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17070 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17071 (gst_pad_set_caps), (gst_pad_configure_sink),
17072 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17073 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17074 (gst_real_pad_dispose), (gst_real_pad_finalize),
17075 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17076 (gst_pad_event_default_dispatch), (gst_pad_event_default),
17077 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17079 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17080 (pipeline_bus_handler), (gst_pipeline_change_state),
17081 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17082 * gst/gstpipeline.h:
17084 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17085 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17086 (gst_queue_link_src), (gst_queue_bufferalloc),
17087 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17088 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17089 (gst_queue_loop), (gst_queue_handle_src_event),
17090 (gst_queue_handle_src_query), (gst_queue_src_activate),
17091 (gst_queue_change_state):
17093 * gst/gstscheduler.c: (gst_scheduler_init),
17094 (gst_scheduler_dispose), (gst_scheduler_create_task),
17095 (gst_scheduler_factory_create):
17096 * gst/gstscheduler.h:
17097 * gst/gststructure.c: (gst_structure_get_type),
17098 (gst_structure_copy_conditional):
17099 * gst/gststructure.h:
17100 * gst/gsttaginterface.h:
17101 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17102 (gst_task_init), (gst_task_dispose), (gst_task_create),
17103 (gst_task_get_state), (gst_task_start), (gst_task_stop),
17109 * gst/schedulers/Makefile.am:
17110 * gst/schedulers/cothreads_compat.h:
17111 * gst/schedulers/entryscheduler.c:
17112 * gst/schedulers/faircothreads.c:
17113 * gst/schedulers/faircothreads.h:
17114 * gst/schedulers/fairscheduler.c:
17115 * gst/schedulers/gstbasicscheduler.c:
17116 * gst/schedulers/gstoptimalscheduler.c:
17117 * gst/schedulers/gthread-cothreads.h:
17118 * gst/schedulers/threadscheduler.c:
17119 (gst_thread_scheduler_task_get_type),
17120 (gst_thread_scheduler_task_class_init),
17121 (gst_thread_scheduler_task_init),
17122 (gst_thread_scheduler_task_start),
17123 (gst_thread_scheduler_task_stop),
17124 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17125 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17126 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17127 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17129 * libs/gst/Makefile.am:
17130 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17131 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17132 (gst_file_pad_parent_set):
17133 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17134 (gst_dp_event_from_packet):
17135 * tests/complexity.c: (main):
17136 * tests/mass_elements.c: (main):
17137 * testsuite/states/locked.c: (message_received), (main):
17138 * testsuite/states/parent.c: (main):
17139 * tools/gst-inspect.c: (print_element_flag_info),
17140 (print_implementation_info), (print_pad_info):
17141 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17143 * tools/gst-md5sum.c: (event_loop), (main):
17144 * tools/gst-typefind.c: (main):
17145 * tools/gst-xmlinspect.c: (print_element_info):
17147 Added GstBus for mainloop integration.
17148 Added GstMessage for sending notifications on the bus.
17149 Added GstTask as an abstraction for pipeline entry points.
17151 Removed Schedulers.
17152 Simplified GstQueue for multithreaded core.
17153 Made _link threadsafe, removed old capsnego.
17154 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17155 Added pad blocking functions.
17156 Reworked scheduling functions in GstPad to prepare for
17157 scheduling updates soon.
17158 Moved events out of data stream.
17159 Simplified GstEvent types.
17160 Added return values to push/pull.
17161 Removed clocking from GstElement.
17162 Added prototypes for state change function for next merge.
17163 Removed iterate from bins and state change management.
17164 Fixed some elements, disabled others for now.
17165 Fixed -inspect and -launch.
17166 Added check for GstBus.
17168 2005-03-10 Wim Taymans <wim@fluendo.com>
17170 * docs/design/part-MT-refcounting.txt:
17171 * docs/design/part-clocks.txt:
17172 * docs/design/part-gstelement.txt:
17173 * docs/design/part-gstobject.txt:
17174 * docs/design/part-standards.txt:
17175 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17176 (gst_bin_remove_func), (gst_bin_remove):
17180 * testsuite/clock/clock1.c: (main):
17181 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17183 * testsuite/dlopen/loadgst.c: (do_test):
17184 * testsuite/refcounting/bin.c: (add_remove_test1),
17185 (add_remove_test2), (main):
17186 * testsuite/refcounting/element.c: (main):
17187 * testsuite/refcounting/element_pad.c: (main):
17188 * testsuite/refcounting/pad.c: (main):
17189 * tools/gst-launch.c: (sigint_handler_sighandler):
17190 * tools/gst-typefind.c: (main):
17192 Added doc about clock.
17193 removed gst_bin_iterate_recurse_up(), marked methods
17195 Fix more testsuites.
17197 2005-03-09 Wim Taymans <wim@fluendo.com>
17199 * gst/gstpad.c: (gst_pad_get_direction),
17200 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17201 (gst_pad_collect_valist):
17202 * testsuite/bins/interface.c: (main):
17203 * testsuite/caps/audioscale.c: (test_caps):
17204 * testsuite/caps/caps.c: (test1), (test2), (test3):
17205 * testsuite/caps/deserialize.c: (main):
17206 * testsuite/caps/enumcaps.c: (main):
17207 * testsuite/caps/filtercaps.c: (main):
17208 * testsuite/caps/intersect2.c: (main):
17209 * testsuite/caps/random.c: (main):
17210 * testsuite/caps/renegotiate.c: (my_fixate), (main):
17211 * testsuite/caps/sets.c: (check_caps):
17212 * testsuite/caps/simplify.c: (check_caps), (main):
17213 * testsuite/caps/subtract.c: (check_caps):
17214 Fix _pad_get_direction wrt ghostpads.
17215 Fix caps testsuite.
17217 2005-03-09 Wim Taymans <wim@fluendo.com>
17219 * check/Makefile.am:
17220 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17221 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17222 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17223 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17224 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17225 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17226 (gst_bin_remove), (gst_bin_iterate_recurse_up),
17227 (bin_element_is_sink), (gst_bin_iterate_sinks),
17228 (gst_bin_iterate_all_by_interface):
17230 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17231 (gst_element_change_state), (gst_element_dispose),
17232 (gst_element_finalize), (gst_element_set_loop_function):
17233 * gst/gstelement.h:
17234 * gst/gstiterator.c: (find_custom_fold_func):
17235 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17236 (gst_pad_collectv), (gst_pad_collect_valist),
17237 (gst_pad_template_new):
17238 * gst/gstpipeline.c: (gst_pipeline_class_init),
17239 (gst_pipeline_dispose), (gst_pipeline_set_property),
17240 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17241 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17242 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17244 * gst/schedulers/entryscheduler.c:
17245 * gst/schedulers/gstbasicscheduler.c:
17246 (gst_basic_scheduler_cothreaded_chain),
17247 (gst_basic_scheduler_chain_add_element):
17248 * testsuite/bins/interface.c: (main):
17250 Added GstSystemClock test.
17251 Implemented clock distribution code in GstBin.
17252 Implemented iterate sinks method for future use.
17253 Rearranged gstelement.h
17254 Fix GstIterator comparison bug.
17255 Moved some code to GstPipeline, mostly clocking related.
17257 2005-03-09 Wim Taymans <wim@fluendo.com>
17260 * gst/gst_private.h:
17261 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17262 (gst_bin_remove_func), (gst_bin_remove),
17263 (gst_bin_get_by_name_recurse_up):
17264 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17265 (gst_clock_id_compare_func), (gst_clock_id_wait),
17266 (gst_clock_id_wait_async), (gst_clock_init),
17267 (gst_clock_adjust_unlocked), (gst_clock_get_time):
17268 * gst/gstelement.h:
17269 * gst/gstinfo.c: (_gst_debug_init):
17271 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17272 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17274 Bump version number, we're now 0.9.0
17275 Add future debugging category.
17276 Fix NULL _unref() in _get_by_name_recurse_up
17277 Rearrange gstpad.h.
17280 2005-03-08 Wim Taymans <wim@fluendo.com>
17282 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17283 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17284 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17285 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17286 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17287 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17288 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17289 * gst/elements/gstidentity.c: (gst_identity_class_init):
17290 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17291 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17292 * gst/elements/gstshaper.c: (gst_shaper_class_init):
17293 * gst/elements/gststatistics.c: (gst_statistics_class_init):
17294 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17296 * gst/gstelement.c: (gst_element_class_init),
17297 (gst_element_base_class_init), (gst_element_init),
17298 (gst_element_get_random_pad), (gst_element_wait_state_change),
17299 (gst_element_change_state), (gst_element_dispose),
17300 (gst_element_finalize), (gst_element_set_loop_function):
17301 * gst/gstelement.h:
17302 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17303 * gst/gstthread.c: (gst_thread_class_init),
17304 (gst_thread_release_children_locks), (gst_thread_change_state):
17305 * gst/schedulers/gstbasicscheduler.c:
17306 (gst_basic_scheduler_loopfunc_wrapper),
17307 (gst_basic_scheduler_chain_wrapper),
17308 (gst_basic_scheduler_src_wrapper),
17309 (gst_basic_scheduler_remove_element):
17310 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17311 Remove threadsafe properties. Fix elements because GObject
17312 complains when installing a property before declaring a
17313 set/get_property handler.
17314 Rearrange gstelement.h file, use STATE macros for state locks.
17315 Free mutexes in the finalize method instead of dispose.
17317 2005-03-08 Wim Taymans <wim@fluendo.com>
17319 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17320 * gst/gstthread.c: (gst_thread_release_children_locks):
17321 Added parentage check.
17322 Fix build og GstThread again.
17324 2005-03-08 Wim Taymans <wim@fluendo.com>
17326 * docs/design/part-MT-refcounting.txt:
17327 * docs/design/part-conventions.txt:
17328 * docs/design/part-gstobject.txt:
17329 * docs/design/part-relations.txt:
17330 * docs/design/part-standards.txt:
17331 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17332 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17333 (gst_bin_get_by_name), (gst_bin_get_by_interface),
17334 (gst_bin_iterate_all_by_interface):
17337 * gst/gstelement.c: (gst_element_class_init),
17338 (gst_element_change_state), (gst_element_set_loop_function):
17339 * gst/gstelement.h:
17340 * gst/gstiterator.c:
17341 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17342 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17343 (gst_object_dispatch_properties_changed), (gst_object_set_name),
17344 (gst_object_set_parent), (gst_object_unparent),
17345 (gst_object_check_uniqueness):
17347 Docs updates, clean up some headers.
17349 2005-03-07 Wim Taymans <wim@fluendo.com>
17351 * check/.cvsignore:
17352 * check/Makefile.am:
17353 * check/gst-libs/.cvsignore:
17354 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17355 * check/gst/.cvsignore:
17356 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17357 (START_TEST), (gstbus_suite), (main):
17358 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17359 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17360 (gst_data_suite), (main):
17361 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17362 (add_fold_func), (gstiterator_suite), (main):
17363 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17364 (thread_name_object), (thread_name_object_default),
17365 (gst_object_name_compare), (gst_object_suite), (main):
17366 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17367 (gst_pad_suite), (main):
17368 * check/gstcheck.c: (gst_check_log_message_func),
17369 (gst_check_log_critical_func), (gst_check_init):
17370 * check/gstcheck.h:
17371 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17372 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17375 2005-03-07 Wim Taymans <wim@fluendo.com>
17377 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17378 (gst_list_iterator_next), (gst_list_iterator_resync),
17379 (gst_list_iterator_free), (gst_iterator_new_list),
17380 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17381 (gst_iterator_free), (gst_iterator_push), (filter_next),
17382 (filter_resync), (filter_uninit), (filter_free),
17383 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17384 (gst_iterator_foreach), (find_custom_fold_func),
17385 (gst_iterator_find_custom):
17386 * gst/gstiterator.h:
17387 Added missing files.
17389 2005-03-07 Wim Taymans <wim@fluendo.com>
17393 * docs/design/part-MT-refcounting.txt:
17394 * docs/design/part-conventions.txt:
17395 * docs/design/part-gstobject.txt:
17396 * docs/design/part-relations.txt:
17397 * examples/mixer/mixer.c: (main):
17398 * examples/thread/thread.c: (eos), (main):
17400 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17401 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17402 (gst_spider_plug_from_srcpad):
17403 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17404 (gst_spider_identity_change_state),
17405 (gst_spider_identity_sink_loop_type_finding):
17406 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17407 * gst/elements/gstidentity.c: (gst_identity_init):
17408 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17409 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17410 * gst/elements/gsttypefindelement.c: (free_entry):
17413 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17414 (gst_bin_set_clock_func), (gst_bin_auto_clock),
17415 (gst_bin_set_index), (gst_bin_set_element_sched),
17416 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17417 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17418 (gst_bin_iterate_elements), (iterate_child_recurse),
17419 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17420 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17421 (compare_interface), (gst_bin_get_by_interface),
17422 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17424 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17425 (gst_buffer_default_free), (gst_buffer_default_copy),
17426 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17427 (gst_buffer_create_sub):
17429 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17430 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17431 (gst_caps_unref), (gst_static_caps_get),
17432 (gst_caps_remove_and_get_structure), (gst_caps_append),
17433 (gst_caps_append_structure), (gst_caps_remove_structure),
17434 (gst_caps_copy_nth), (gst_caps_set_simple),
17435 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17436 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17437 (gst_caps_structure_intersect_field), (gst_caps_intersect),
17438 (gst_caps_structure_subtract_field), (gst_caps_subtract),
17439 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17440 (gst_caps_structure_figure_out_union),
17441 (gst_caps_switch_structures), (gst_caps_do_simplify),
17442 (gst_caps_replace), (gst_caps_from_string),
17443 (gst_caps_copy_conditional):
17445 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17446 (_gst_clock_id_free), (gst_clock_id_unref),
17447 (gst_clock_id_compare_func), (gst_clock_id_wait),
17448 (gst_clock_id_wait_async), (gst_clock_class_init),
17449 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17450 (gst_clock_get_time), (gst_clock_set_time_adjust),
17451 (gst_clock_set_property), (gst_clock_get_property):
17454 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17455 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17457 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17458 (gst_element_requires_clock), (gst_element_provides_clock),
17459 (gst_element_set_clock), (gst_element_clock_wait),
17460 (gst_element_wait), (gst_element_set_time_delay),
17461 (gst_element_is_indexable), (gst_element_add_pad),
17462 (gst_element_add_ghost_pad), (gst_element_remove_pad),
17463 (pad_compare_name), (gst_element_get_static_pad),
17464 (gst_element_request_pad), (gst_element_get_request_pad),
17465 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17466 (gst_element_class_get_pad_template_list),
17467 (gst_element_class_get_pad_template), (gst_element_error_func),
17468 (gst_element_get_random_pad), (gst_element_get_event_masks),
17469 (gst_element_send_event), (gst_element_seek),
17470 (gst_element_get_query_types), (gst_element_query),
17471 (gst_element_get_formats), (gst_element_convert),
17472 (gst_element_is_locked_state), (gst_element_set_locked_state),
17473 (gst_element_sync_state_with_parent), (gst_element_change_state),
17474 (gst_element_finalize), (gst_element_yield),
17475 (gst_element_interrupt), (gst_element_set_scheduler),
17476 (gst_element_get_scheduler), (gst_element_set_loop_function):
17477 * gst/gstelement.h:
17479 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17480 (gst_format_get_by_nick), (gst_format_get_details),
17481 (gst_format_iterate_definitions):
17483 * gst/gstindex.c: (gst_index_gtype_resolver):
17486 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17487 (gst_mem_chunk_free):
17488 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17489 (gst_object_ref), (gst_object_unref), (gst_object_sink),
17490 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17491 (gst_object_dispatch_properties_changed),
17492 (gst_object_set_name_default), (gst_object_set_name),
17493 (gst_object_get_name), (gst_object_set_name_prefix),
17494 (gst_object_get_name_prefix), (gst_object_set_parent),
17495 (gst_object_get_parent), (gst_object_unparent),
17496 (gst_object_check_uniqueness), (gst_object_save_thyself),
17497 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17498 (gst_object_set_property), (gst_object_get_property),
17499 (gst_object_get_path_string):
17501 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17502 (gst_real_pad_init), (gst_real_pad_get_property),
17503 (gst_pad_custom_new), (gst_pad_get_direction),
17504 (gst_pad_set_active), (gst_pad_is_active),
17505 (gst_pad_set_event_function), (gst_pad_is_linked),
17506 (gst_pad_link_free), (gst_pad_link_intersect),
17507 (gst_pad_link_fixate), (gst_pad_set_caps),
17508 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17509 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17510 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17511 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17512 (gst_pad_get_caps), (gst_pad_peer_get_caps),
17513 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17514 (gst_pad_realize), (gst_pad_get_allowed_caps),
17515 (gst_real_pad_dispose), (gst_real_pad_finalize),
17516 (gst_pad_collectv), (gst_pad_collect_valist),
17517 (gst_pad_template_dispose), (gst_pad_template_new),
17518 (gst_pad_get_internal_links):
17520 * gst/gstpipeline.c: (gst_pipeline_dispose),
17521 (gst_pipeline_change_state):
17522 * gst/gstpipeline.h:
17524 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17525 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17526 * gst/gstpluginfeature.h:
17527 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17528 * gst/gstquery.c: (_gst_query_type_initialize),
17529 (gst_query_type_register), (gst_query_type_get_by_nick),
17530 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17532 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17533 * gst/gstscheduler.c: (gst_scheduler_add_element),
17534 (gst_scheduler_factory_create):
17535 * gst/gststructure.c: (gst_structure_set_parent_refcount),
17536 (gst_structure_free), (gst_structure_set_name),
17537 (gst_structure_id_set_value), (gst_structure_set_value),
17538 (gst_structure_set_valist), (gst_structure_remove_field),
17539 (gst_structure_remove_fields),
17540 (gst_structure_remove_fields_valist),
17541 (gst_structure_remove_all_fields), (gst_structure_foreach),
17542 (gst_structure_map_in_place),
17543 (gst_caps_structure_fixate_field_nearest_int),
17544 (gst_caps_structure_fixate_field_nearest_double):
17545 * gst/gststructure.h:
17546 * gst/gstsystemclock.c: (gst_system_clock_class_init),
17547 (gst_system_clock_init), (gst_system_clock_dispose),
17548 (gst_system_clock_async_thread),
17549 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17550 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17551 * gst/gstsystemclock.h:
17552 * gst/gsttag.c: (gst_tag_list_add_value_internal),
17553 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17554 * gst/gsttaginterface.c:
17555 * gst/gstthread.c: (gst_thread_dispose),
17556 (gst_thread_release_children_locks), (gst_thread_change_state),
17557 (gst_thread_main_loop):
17558 * gst/gsttrashstack.h:
17559 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17561 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17562 (gst_element_request_pad), (gst_element_get_pad_from_template),
17563 (gst_element_request_compatible_pad),
17564 (gst_element_get_compatible_pad_filtered),
17565 (gst_element_get_compatible_pad), (gst_element_state_get_name),
17566 (gst_element_link_pads_filtered), (gst_element_link_filtered),
17567 (gst_element_link_many), (gst_element_link),
17568 (gst_element_link_pads), (gst_element_unlink_pads),
17569 (gst_element_unlink_many), (gst_element_unlink),
17570 (gst_pad_can_link_filtered), (gst_pad_can_link),
17571 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17572 (gst_object_default_error), (gst_bin_add_many),
17573 (gst_bin_remove_many), (gst_element_populate_std_props),
17574 (gst_element_class_install_std_props), (gst_buffer_merge),
17575 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17576 (link_fold_func), (gst_pad_proxy_setcaps):
17578 * gst/gstvalue.c: (gst_value_deserialize_string):
17579 * gst/parse/grammar.y:
17580 * gst/schedulers/gstbasicscheduler.c:
17581 (gst_basic_scheduler_cothreaded_chain),
17582 (gst_basic_scheduler_chain_recursive_add),
17583 (gst_basic_scheduler_pad_link):
17584 * gst/schedulers/gstoptimalscheduler.c:
17585 (get_group_schedule_function),
17586 (gst_opt_scheduler_state_transition),
17587 (gst_opt_scheduler_add_element), (element_get_reachables_func):
17588 * libs/gst/bytestream/bytestream.c:
17589 * libs/gst/dataprotocol/dataprotocol.c:
17590 (gst_dp_header_from_buffer):
17593 * tests/threadstate/threadstate2.c: (eos):
17594 * tools/gst-compprep.c: (main):
17595 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17596 (print_pad_info), (print_children_info):
17597 * tools/gst-launch.c: (idle_func), (main):
17598 * tools/gst-md5sum.c: (idle_func), (main):
17599 * tools/gst-xmlinspect.c: (print_element_info):
17600 First THREADED backport attempt, focusing on adding locks and
17601 making sure the API is threadsafe. Needs more work. More docs
17604 2005-02-24 Andy Wingo <wingo@pobox.com>
17606 * tests/bench-complexity.scm:
17607 * tests/complexity.gnuplot: New files, good for running complexity
17610 * tests/Makefile.am:
17611 * tests/complexity.c: New test, sets up N elements, at each level
17612 teeing into M streams per element. Eeeenteresting.
17614 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17615 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17616 running bench-mass_elements.scm.
17618 * tests/bench-mass_elements.scm: New script, runs mass_elements
17619 for various numbers of identities, outputting the results to a
17620 file. Requires guile 1.6. Just for testing.
17622 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
17624 * gst/schedulers/fairscheduler.c:
17625 compile with debug disabled
17627 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
17630 hunting season on 0.9 is now OPEN