1 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
3 * docs/gst/gstreamer-sections.txt:
4 * gst/gstbin.c: (gst_bin_recalculate_latency),
5 (gst_bin_change_state_func):
7 Add method to recalculate and redistribute the latency on a bin.
8 API: gst_bin_recalculate_latency().
10 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
13 Document the free_func.
15 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
17 * libs/gst/controller/gstinterpolation.c:
18 * libs/gst/controller/gstlfocontrolsource.c:
19 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
20 as it is mapped to a cast on non-win32 platforms.
22 2008-11-17 Stefan Kost <ensonic@users.sf.net>
24 * libs/gst/controller/gstcontroller.c:
25 * libs/gst/controller/gstcontrollerprivate.h:
26 Keep last-value and only call set_property if value has changed. This
27 supresses all the g_object_notifies we would trigger otherwise. It
28 also allows the user to chage the value while there is no controller
31 2008-11-17 Stefan Kost <ensonic@users.sf.net>
34 Don't crash if either of the string GValues is empty.
36 2008-11-17 Andy Wingo <wingo@pobox.com>
38 * tools/gst-inspect.c (print_all_uri_handlers): New function,
39 prints a summary of what URI schemes are supported by what
41 (main): Plumb in support for --uri-handlers or -u, and fix the
42 argc check for -a and -u.
44 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
47 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
50 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
52 * gst/gstbuffer.c: (gst_buffer_finalize):
53 Avoid costly typechecking for trivially correct pointers.
55 * gst/gstpoll.c: (gst_poll_wait):
56 Add some G_LIKELY here and there.
58 * libs/gst/base/gstadapter.c: (gst_adapter_push):
61 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
63 * docs/random/wtay/poll-timeout:
66 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
68 * tests/old/testsuite/caps/intersection.c: (main):
69 * tests/old/testsuite/plugin/loading.c: (main):
70 Remove references to deprecated API g_mem_chunk*.
73 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
75 * tools/gst-inspect.c: (main):
76 Add --plugin option. Fixes #560301.
78 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
80 * docs/random/wtay/poll-timeout:
81 Quick braindump for a possible (not totally verified) atomic case.
83 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
85 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
86 (gst_registry_binary_initialize_magic),
87 (gst_registry_binary_write_cache),
88 (gst_registry_binary_check_magic):
89 * gst/gstregistrybinary.h:
90 Don't write and check a CRC for the binary registry file. It's
91 guaranteed that the registry is completely written (it's first written
92 to a temporary file and then moved) and if the registry was corrupted
93 by some hardware failure we would have bigger problems.
95 Bump binary registry version to 0.10.21.1 for this as it's an
96 incompatible change and to ensure that the registry gets rebuild
99 This saves some milliseconds for reading/writing the registry.
102 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
104 * docs/random/wtay/poll-timeout:
105 Some pseudo code for how we could implement clock timeouts with GstPoll.
107 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
109 * plugins/elements/gstfilesink.c:
110 Update Author string to match others.
112 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
114 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
115 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
116 being fixed and inline the trivial check.
118 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
120 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
121 (gst_caps_merge_structure), (gst_caps_get_structure),
122 (gst_caps_copy_nth), (gst_caps_set_simple),
123 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
124 (gst_caps_is_equal_fixed), (gst_caps_intersect),
125 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
126 (gst_caps_to_string):
127 Callgrind micro optimisations.
128 Avoid array bounds checks and force inline of trivial function.
130 * gst/gstobject.c: (gst_object_set_name_default):
131 -1 is equivalent to letting glib to the strlen but then there is more
132 room for optimisations and it's not our fault.
134 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
135 no need to clear the array, we're cool.
137 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
138 The most common _is_fixed() check is done on fundamental glib base
139 types so we check this first instead of doing a huge amount of
140 useless GST_TYPE_ARRAY calls.
142 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
145 Add a SKIP seek flag for use with advanced trickmodes.
146 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
148 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
150 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
151 No need to memset, we can clear the value ourselves.
153 * gst/gstvalue.c: (gst_type_is_fixed),
154 (gst_value_get_compare_func):
155 Some optimisations from a few callgrind sessions:
156 When checking if a type is fixed, check for trivial fundamental types
157 first before checking types for which we need to get the type followed
158 by the heavy duty type checks, this reduces the amount of
159 g_type_fundamental() calls a lot.
160 When getting the compare function, first check for our registered types.
161 If that fails, do the heavy duty g_type_is_a() checks, reduces the
162 amount of g_type_is_a() considerably.
164 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
166 * docs/design/part-TODO.txt:
167 Mumble something about removing GstXML.
169 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
171 * gst/gstbin.c: (gst_bin_handle_message_func):
172 Get the seqnum before we dispose the message.
174 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
176 * docs/design/part-TODO.txt:
177 Refer to the framestepping document.
179 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
181 * gst/gstbin.c: (bin_handle_async_start),
182 (gst_bin_handle_message_func), (gst_bin_query):
183 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
184 (gst_base_sink_event), (gst_base_sink_change_state):
185 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
186 (gst_base_src_loop), (gst_base_src_change_state):
187 Copy seqnums from events to messages so that they can all be related
190 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
192 * tools/gst-launch.c: (event_loop):
193 Print the message seqnums.
195 2008-11-04 Andy Wingo <wingo@pobox.com>
197 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
199 2008-11-04 Andy Wingo <wingo@pobox.com>
201 Add sequence numbers to events and messages. See #559250.
203 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
207 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
208 events with a new sequence number, and copy it when copying.
209 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
210 an event's sequence number.
213 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
214 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
217 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
219 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
221 * docs/manual/advanced-position.xml:
222 * docs/manual/basics-bins.xml:
223 * docs/manual/basics-bus.xml:
224 * docs/manual/basics-pads.xml:
225 * docs/manual/intro-gstreamer.xml:
226 * docs/manual/intro-preface.xml:
227 Some Application Development Manual fixes thanks to
228 Andrew Feren. Fixes #558459.
230 2008-11-03 Stefan Kost <ensonic@users.sf.net>
232 * gst/gstregistrybinary.c:
233 Don't bother with the GTimer if we don't output the results.
235 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
237 Patch by: David Schleef <ds@schleef.org>
239 * libs/gst/net/Makefile.am:
240 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
242 2008-10-31 Stefan Kost <ensonic@users.sf.net>
244 * gst/gstregistrybinary.c:
245 Oh my, studip, stupid me. Remove double stat() call.
247 2008-10-31 Stefan Kost <ensonic@users.sf.net>
250 Use g_unlink instead of unlink.
252 * gst/gststructure.c:
261 Formatting & whitespaces.
263 2008-10-31 Stefan Kost <ensonic@users.sf.net>
265 * plugins/elements/gstidentity.c:
266 Doc typo. Use return value of parent_class->event.
268 * plugins/elements/gsttypefindelement.c:
269 Chain up at the end for consistency.
271 2008-10-30 Stefan Kost <ensonic@users.sf.net>
274 * docs/gst/gstreamer-docs.sgml:
275 * docs/gst/gstreamer-sections.txt:
276 * docs/gst/running.xml:
277 * docs/libs/gstreamer-libs-docs.sgml:
278 Change to xinclude based build - its faster and easier to maintain.
280 2008-10-30 Stefan Kost <ensonic@users.sf.net>
282 * gst/gstregistrybinary.c:
283 * gst/gstregistryxml.c:
284 Use g_unlink() as none of these are directories.
286 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
288 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
291 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
293 * libs/gst/base/gstbasetransform.c:
294 (gst_base_transform_find_transform), (gst_base_transform_getrange):
295 If we have a fixate function, call it even if we already have fixed caps
296 because the subclass might add some caps. Makes audioconvert add a
297 default channel layout.
299 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
301 * libs/gst/base/gstbasetransform.c:
302 (gst_base_transform_prepare_output_buffer),
303 (gst_base_transform_getrange):
304 Clear the output buffer variable.
305 Cleanups to the error path in the getrange function.
308 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
310 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
311 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
312 Use gst_buffer_try_new_and_alloc() and handle errors instead of
313 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
316 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
318 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
319 Set the last_stop to a more meaningful position when configuring the
320 segment. ie. the start/stop of the segment or clipped against the
321 updated segment boundaries.
323 * tests/check/gst/gstsegment.c: (GST_START_TEST):
324 Add some unit tests for the last_stop.
326 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
328 * libs/gst/base/gstbytereader.c:
329 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
332 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
334 * docs/gst/gstreamer-sections.txt:
336 API: Move float endianness conversion macros from libgstfloatcast
337 to core as it's useful in general, even in core. Fixes bug #555196.
338 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
339 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
340 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
342 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
343 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
344 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
345 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
347 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
349 * docs/libs/gstreamer-libs-sections.txt:
350 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
351 (gst_byte_reader_peek_data):
352 * libs/gst/base/gstbytereader.h:
353 * win32/common/libgstbase.def:
354 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
355 to get a pointer to the data at the current position and have
358 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
361 Fix a bug in the output of the configure script summary
362 when --gst-disable-registry is supplied
364 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
366 * libs/gst/base/gstbitreader.c:
367 * libs/gst/base/gstbytereader.c:
368 Fix the names of 2 functions in the docs strings.
370 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
372 * libs/gst/base/gstbasetransform.c:
373 (gst_base_transform_prepare_output_buffer),
374 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
375 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
376 refcount problems as seen in banshee and maybe also in farsight2.
377 Remove atomic int now that we need to take the lock anyways.
379 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
381 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
382 (gst_base_sink_default_prepare_seek_segment),
383 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
384 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
385 (gst_base_sink_query):
386 Implement more seeking in pull mode.
387 Use pad convert functions to convert position to the requested format.
388 Fix position/duration reporting in pull mode.
389 Implement position and duration reporting in other formats than time.
391 * libs/gst/base/gstbasesink.h:
392 Add member to keep track of when the segment is playing.
394 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
396 * gst/gstpad.c: (gst_pad_configure_src):
397 When we use gst_pad_alloc_buffer() without wanting to set the caps we
398 also don't need to check if the caps are compatible because the caller
399 presumably is going to perform its own custom checks. Fixes some cases
400 where basetransform elements would error out when it was not needed.
402 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
404 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
407 * libs/gst/base/gstbasetransform.c:
408 (gst_base_transform_handle_buffer),
409 (gst_base_transform_reconfigure):
412 * win32/common/libgstbase.def:
415 2008-10-19 Stefan Kost <ensonic@users.sf.net>
417 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
418 Remove duplicated assignment and log a message in failure case.
420 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
422 Patch by: Dig Ge <dig.ge.cn at gmail com>
424 * tests/examples/helloworld/helloworld.c: (main):
425 Fix copy'n'paste bug in hello world example (#556900).
427 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
429 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
430 (gst_base_sink_query):
431 Query the total number of bytes when activating the pad in pull mode.
432 Implement duration query in pull mode by using the installed pad convert
433 function to convert from bytes to the requested format.
435 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
437 * docs/libs/gstreamer-libs-sections.txt:
438 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
439 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
440 (gst_base_sink_event), (gst_base_sink_perform_seek),
441 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
442 (gst_base_sink_send_event), (gst_base_sink_change_state):
443 * libs/gst/base/gstbasesink.h:
444 Add method to commit the state in subclasses.
445 Refactor the flush_start and flush_stop code because we need it for
446 flushing while seeking too.
447 Implement the beginnings of seeking in pull mode.
448 Use the segment last_stop field for the pulling offset.
449 Fix the pause method in pull mode.
450 Configure the segment to BYTES for pull mode.
451 API: GstBaseSink::gst_base_sink_do_preroll()
453 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
455 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
458 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
460 * gst/gstquark.c: (_priv_gst_quarks_initialize):
461 Fix printf format warning.
463 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
465 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
466 Fix flow aggregation of tee. Error out immediately for all flow returns
467 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
468 and return OK if at least one pad is linked.
470 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
471 and otherwise returned the flow return of the last pad, which is wrong.
473 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
474 (GST_START_TEST), (tee_suite):
475 Add unit tests for the flow aggregation.
477 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
479 * docs/design/part-TODO.txt:
480 Remove item from the todo list because it was fixed with the latency
481 state change rewrites.
483 * docs/design/part-seeking.txt:
484 * docs/design/part-segments.txt:
487 * gst/gstevent.c: (gst_event_new_new_segment_full),
488 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
489 (gst_event_parse_buffer_size), (gst_event_new_qos),
490 (gst_event_parse_qos), (gst_event_new_seek),
491 (gst_event_parse_seek), (gst_event_new_latency),
492 (gst_event_parse_latency):
493 Use quarks to construct and parse events.
495 * gst/gstquark.c: (_priv_gst_quarks_initialize):
497 Add some more quarks to the table.
498 Emit a warning when the quark tables are not in sync.
500 * tests/check/gst/gstbus.c: (GST_START_TEST):
503 2008-10-13 Stefan Kost <ensonic@users.sf.net>
505 * plugins/elements/Makefile.am:
506 * plugins/indexers/Makefile.am:
507 Don't install static libs for plugins. Fixes #550851 for core.
509 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
511 * gst/gstbus.c: (gst_bus_source_finalize),
512 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
513 (gst_bus_enable_sync_message_emission),
514 (gst_bus_disable_sync_message_emission),
515 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
516 Fix deadlock, g_source_get_id() cannot be called in finalize.
517 Keep track of the watch source by keeping a pointer to the source object
519 Use the bus lock to protect access to the pointer to the current
522 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
524 Base on Patch by: Olivier Crete <tester at tester dot ca>
526 * gst/gstbus.c: (gst_bus_source_finalize),
527 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
528 Only allow one bus watch to be set at a time. This is necessary
529 because the dispatcher pops the message from the bus and the second
530 watcher will then get NULL or the next message (and the first won't
531 get this next message then, etc). If more than one "watcher" is
532 required signal watches should be used. Fixes bug #526044.
534 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
536 * tools/gst-launch.c:
537 Change the printing of the 'buffering...' output to avoid putting
538 a \r in a translateable string (flagged by the TP).
540 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
543 Clarify that the save_thyself() and restore_thyself() virtual
544 functions of GstObject need to be overriden, not
545 gst_object_(save|restore)_thyself() which is impossible.
548 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
550 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
551 Revert a patch from 21 months ago that broke caps negotiation in pull
552 mode. Basically, having a buffer pass over a pad will trigger the
553 setcaps function when caps change, just like in push mode.
555 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
557 * docs/design/part-negotiation.txt:
558 Update the docs some more.
560 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
561 If we pull a buffer with non-trivial caps, suggest those caps with the
564 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
566 * docs/design/part-TODO.txt:
567 Add another limitation of pad-blocking with segment seeks not pushing
570 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
572 * win32/common/libgstbase.def:
573 * win32/common/libgstreamer.def:
574 Add new symbols to the win32 defs files
576 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
578 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
579 (gst_bin_handle_message_func):
580 The message src can be NULL, don't try to print the object names in that
583 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
584 Add some more debug info.
586 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
589 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
592 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
594 * docs/design/part-negotiation.txt:
597 * docs/libs/gstreamer-libs-sections.txt:
598 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
599 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
600 (gst_base_sink_init), (gst_base_sink_set_blocksize),
601 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
602 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
603 (gst_base_sink_loop), (gst_base_sink_pad_activate),
604 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
605 (gst_base_sink_change_state):
606 * libs/gst/base/gstbasesink.h:
607 Add blocksize property and methods to control the amount of data
609 Negotiate first before activating upstream in pull mode so that they can
610 negotiate themselves.
611 When we operate in pull mode, we only accept the caps that we
613 Make the sink go ASYNC to PAUSED, like all other sinks.
614 API: GstBaseSink::gst_base_sink_set_blocksize()
615 API: GstBaseSink::gst_base_sink_get_blocksize()
616 API: GstBaseSink::blocksize
618 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
619 (gst_base_src_set_live), (gst_base_src_is_live),
620 (gst_base_src_set_format), (gst_base_src_query_latency),
621 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
622 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
623 (gst_base_src_set_property), (gst_base_src_get_property):
624 * libs/gst/base/gstbasesrc.h:
625 Add typechecking in public API functions.
626 Add methods to control the blocksize in subclasses.
627 API: GstBaseSrc::gst_base_src_set_blocksize()
628 API: GstBaseSrc::gst_base_src_get_blocksize()
630 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
632 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
633 (buffer_probe), (event_probe), (GST_START_TEST):
634 We now see 3 events go through our pad, since basesink now sends
635 upstream latency events.
637 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
639 * gst/gstpipeline.c: (gst_pipeline_change_state):
640 Release the object lock before trying to flush the bus.
642 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
644 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
645 Forward LATENCY events upstreams so that elements know about the total
646 pipeline latency. Fixes #555307.
648 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
650 * plugins/elements/gstqueue.c:
651 Allow through queries when we don't know how
652 to adjust them (not TIME or BYTES), as otherwise it's
653 not possible to query the current position in order
654 to seek in other formats at all.
656 2008-10-08 Andy Wingo <wingo@pobox.com>
658 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
660 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
664 Unbreak -good build, private is a reserved c++ keyword.
666 2008-10-08 Andy Wingo <wingo@pobox.com>
668 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
669 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
670 removal: re-add GST_GHOST_PAD_CAST to the header.
672 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
673 (GstGhostPadClass): Publically expose these structures so as to
674 allow easy subclassing from C. Hide the member data behind a
675 private opaque data pointer.
677 * gst/gstghostpad.c: Adapt to store instance data in the type
678 instance's private data region, not in the public struct.
680 2008-10-08 Andy Wingo <wingo@pobox.com>
682 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
683 template via g_object_get(), be sure to unref it.
685 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
687 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
689 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
690 If we can't get a cache file don't try to save something to it.
691 Dereferencing NULL pointers usually isn't a good idea.
693 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
695 * tests/check/Makefile.am:
696 * tests/check/gst/gstabi.c:
697 * tests/check/gst/struct_sparc.h:
698 * tests/check/libs/libsabi.c:
699 * tests/check/libs/struct_sparc.h:
702 * tests/check/gst/gstvalue.c: (GST_START_TEST):
703 Cast signed integer to unsigned to avoid a compiler warning.
705 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
707 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
708 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
709 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
710 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
711 (gst_byte_reader_peek_int24_be):
712 Use new GST_READ_UINT24_(LE|BE) macros.
714 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
716 * docs/gst/gstreamer-sections.txt:
718 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
719 as it's too easy to break the ISO C strict aliasing rules with simple
720 casts to the corresponding type and this would introduce hard to debug
721 bugs. Fixes bug #545714.
723 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
725 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
727 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
728 * gst/gstghostpad.c: (gst_ghost_pad_construct):
729 Add 'Since' bits to gtk-doc chunks for new API.
731 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
733 * docs/gst/gstreamer-sections.txt:
736 2008-10-06 Andy Wingo <wingo@pobox.com>
738 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
739 that will be called on the malloc_data to free it. Basically a way
740 to avoid subclassing when all you need is a different free
741 function, i.e. free() instead of g_free().
743 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
744 calling the free function.
745 (gst_buffer_init): Initialize the free function to g_free.
747 2008-10-06 Andy Wingo <wingo@pobox.com>
750 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
751 finishes the initialization of ghost pad. Useful for language
752 bindings and subclassers of GstGhostPad. Fixes #539108.
753 (gst_ghost_pad_new_full): Use the new constructor.
755 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
757 Base on Patch by: Olivier Crete <tester at tester dot ca>
759 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
760 (gst_bin_remove_func), (update_degree),
761 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
762 Keep track of pads that are being linked/unlinked and resync the state
765 * gst/gstpad.c: (gst_pad_get_direction),
766 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
767 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
768 (gst_pad_link_prepare), (gst_pad_link),
769 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
770 (gst_pad_check_pull_range), (gst_pad_get_range),
771 (gst_pad_pull_range):
772 Some code cleanups, use macros to check pad direction.
773 Don't need to take the lock on the pad direction.
774 Post structure change when pads are linked/unlinked.
775 Change some checks into _return_if_fail().
777 * tests/check/gst/gstbin.c:
778 (test_link_structure_change_state_changed_sync_cb),
779 (GST_START_TEST), (gst_bin_suite):
780 Add testcase for pad link/unlinke resync during a state change.
783 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
785 * docs/gst/gstreamer-sections.txt:
786 * gst/gstmessage.c: (gst_message_new_structure_change),
787 (gst_message_parse_structure_change):
789 Implement STRUCTURE_CHANGED messages. These messages will be used to
790 signal the parent bin of link/unlink operations that could require a
791 resync when doing a state change. See ##510354.
792 API: gst_message_new_structure_change()
793 API: gst_message_parse_structure_change()
795 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
799 Add some more quarks for new message. See #510354.
801 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
803 * docs/libs/gstreamer-libs-docs.sgml:
804 * docs/libs/gstreamer-libs-sections.txt:
805 * libs/gst/base/Makefile.am:
806 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
807 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
808 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
809 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
810 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
811 (gst_bit_reader_skip_to_byte):
812 * libs/gst/base/gstbitreader.h:
813 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
814 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
815 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
816 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
817 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
818 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
819 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
820 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
821 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
822 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
823 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
824 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
825 * libs/gst/base/gstbytereader.h:
826 * tests/check/Makefile.am:
827 * tests/check/libs/bitreader.c: (GST_START_TEST),
828 (gst_bit_reader_suite):
829 * tests/check/libs/bytereader.c: (GST_START_TEST),
830 (gst_byte_reader_suite):
831 API: Add bit reader and byte reader classes, including documentation
832 and an extensive unit test suite. Fixes bug #553554.
834 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
836 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
837 (gst_base_sink_query):
838 Improve position reporting while flushing and other intermediate state
839 changes. Fixes #553874.
841 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
843 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
845 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
846 Original patch by : Simon Descaries
847 Fix small refount leak in caps compatibility check.
850 2008-10-06 Stefan Kost <ensonic@users.sf.net>
852 * docs/pwg/advanced-request.xml:
853 Fix 0.8 api usage in example. Fixes #554561
855 * docs/pwg/appendix-porting.xml:
856 Change 0.9 to 0.10 here.
858 2008-10-06 Stefan Kost <ensonic@users.sf.net>
860 * docs/manual/basics-data.xml:
861 Change "event-event interaction" to "element-element interaction".
862 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
865 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
868 Back to development -> 0.10.21.1
870 === release 0.10.21 ===
872 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
875 releasing 0.10.21, "Take These Things From Me"
877 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
880 0.10.20.4 pre-release
882 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
884 * libs/gst/base/gstbasetransform.c:
885 * plugins/elements/gstcapsfilter.c:
886 * tests/check/Makefile.am:
887 * tests/check/elements/.cvsignore:
888 * tests/check/elements/capsfilter.c:
889 Fix assertion in basetransform when the subclass chooses not to
890 allocate a buffer in prepare_buffer(), and make capsfilter error out
891 cleanly if requested to apply caps that don't completely specify the
892 buffer. Fixes #551509
894 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
896 * libs/gst/base/gstbasetransform.c:
897 (gst_base_transform_prepare_output_buffer):
898 Take new caps ref because our old one might have been gone when the
899 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
901 2008-09-15 Stefan Kost <ensonic@users.sf.net>
904 Do not probe availability of check unit test library when cross
905 compiling, as test would not work anyway. Also cleanup verbose output
906 of the check test. Fixes #551952.
908 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
910 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
912 * gst/gstelement.c: (gst_element_sync_state_with_parent):
913 Avoid leaking the parent ref when we fail changing the state of the
914 element using gst_element_sync_state_with_parent(). Fixes #551978.
916 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
918 * docs/manual/intro-motivation.xml::
919 Remove some bits that no longer apply, update others (#551642).
921 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
924 0.10.20.2 pre-release
932 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
934 * win32/common/config.h.in:
935 Add GST_DATADIR, hard-code cpu to x86.
937 * win32/common/libgstreamer.def:
940 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
943 Fix Since: markers for new geo tags.
945 2008-09-02 Stefan Kost <ensonic@users.sf.net>
948 Fix actual tag name define after renaming from altitude to elevation.
950 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
952 * gst/gstpad.c: (add_unref_pad_to_list),
953 (gst_pad_get_internal_links_default):
954 Add fallback when calling the deprecated function on an element that
955 implements the new internal_link handler.
957 2008-09-01 Stefan Kost <ensonic@users.sf.net>
959 * docs/gst/gstreamer-sections.txt:
962 Add new tags for geo location and clarify purpose of existing location
965 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
967 Patch by: Olivier Crete <tester at tester dot ca>
969 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
970 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
971 Use thread-safe internal links iterator. Fixes #549504.
973 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
975 Based on patch by: Olivier Crete <tester at tester dot ca>
977 * docs/gst/gstreamer-sections.txt:
978 * win32/common/libgstreamer.def:
979 * gst/gstpad.c: (gst_pad_init),
980 (gst_pad_set_iterate_internal_links_function),
981 (int_link_iter_data_free), (iterate_pad),
982 (gst_pad_iterate_internal_links_default),
983 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
985 Add threadsafe replacement functions for getting internal links of an
986 element. Deprecate the old internal links functions.
987 API:GstPad::gst_pad_set_iterate_internal_links_function()
988 API:GstPad::GstPadIterIntLinkFunction
989 API:GstPad::gst_pad_iterate_internal_links()
990 API:GstPad::gst_pad_iterate_internal_links_default()
992 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
993 (gst_proxy_pad_init):
994 Implement threadsafe internal links.
996 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
997 Unit test for internal links on tee. See #549504.
999 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1001 * tests/check/Makefile.am:
1002 libs/transform1 test requires libs/test_transform.c
1004 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1006 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1007 Die evil deadlock, die !
1009 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1011 * gst/gstutils.c: (gst_element_get_compatible_pad):
1012 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1013 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1014 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1015 not steal the refcount of the given caps as stated.
1017 REVERT THIS COMMIT ONCE FIXED !
1018 REVERT THIS COMMIT ONCE FIXED !
1019 REVERT THIS COMMIT ONCE FIXED !
1020 REVERT THIS COMMIT ONCE FIXED !
1021 REVERT THIS COMMIT ONCE FIXED !
1022 REVERT THIS COMMIT ONCE FIXED !
1024 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1026 * gst/gstiterator.c:
1027 * gst/gstiterator.h:
1028 After 3 years it's about time to revise the documentation of the
1031 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1033 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1034 Make the internal links function less thread-unsafe and add some
1035 comments, dunno why.
1037 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1039 * gst/gst_private.h:
1040 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1041 build with --disable-gst-debug.
1043 2008-08-28 David Schleef <ds@schleef.org>
1045 * gst/gstpadtemplate.c: Revert last change, since it breaks
1046 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1047 but shouldn't be enabled until we've released fixed versions
1048 of -good and -ffmpeg.
1050 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1053 Put the gst_object_get_name() back in.
1055 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1057 * gst/gstpadtemplate.c:
1058 The old behaviour was that gst_pad_template_new() takes ownership of
1059 the caps. As we now call g_object_new() which calls g_object_set() and
1060 which copies the caps, we have to unref them to not leak them. Fixes
1061 make valgrid for me.
1063 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1066 Don't segfault on input like "tel:+1-123-555-1234".
1068 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1071 Due to popular request also include ObjectType in
1072 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1074 2008-08-26 David Schleef <ds@schleef.org>
1076 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1077 src_val must be positive, because that's not a requirement.
1078 This causes problems with converting negative granulepos
1080 * gst/gstquery.c: Same, gst_query_new_convert().
1082 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1084 * gst/gstclock.c: (gst_clock_add_observation):
1085 Add some more debugging to the clock slaving code.
1087 * win32/common/libgstbase.def:
1088 Add new basetransform method.
1090 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1092 * gst/gstbin.c: (gst_bin_element_set_state):
1093 Take the (recursive) state lock between getting the locked state of an
1094 element and changing the element state. This allows the application to
1095 lock an element's state and then change its state without races.
1097 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1099 * gst/gstbin.c: (gst_bin_element_set_state):
1100 When an element is in the locked state we still want to update the
1101 base_time of the element.
1103 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1105 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1106 Use the result from gst_pad_set_caps() instead of assuming the element
1107 always accepted the caps computed by the default negotiate function.
1109 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1111 * docs/libs/gstreamer-libs-sections.txt:
1112 * libs/gst/base/gstbasetransform.c:
1113 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1114 (gst_base_transform_chain), (gst_base_transform_suggest),
1115 (gst_base_transform_reconfigure):
1116 * libs/gst/base/gstbasetransform.h:
1117 Implement method for reconfiguring basetransform.
1118 API: GstBaseTransform::gst_base_transform_reconfigure()
1120 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1122 patch by: Murray Cumming <murrayc@murrayc.com>
1125 Mention that this is just like gst_buffer_merge() but with extra
1126 unreffing for C coders. Advise language bindings not to wrap it.
1129 Also fix file comment.
1131 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1133 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1135 * plugins/elements/gstfakesink.c:
1136 * plugins/elements/gstfakesrc.c:
1137 Call super::event() when not handling it. Fixes #544855.
1139 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1141 Patch by: Alessandro Decina <alessandro@nnva.org>
1142 * plugins/elements/gstfilesrc.c:
1143 Use 64 bit variants of stat functions on win32, to enable support
1144 of large files there.
1147 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1149 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1150 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1151 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1152 (gst_base_sink_get_position), (gst_base_sink_change_state):
1153 Improve position reporting in the flushing state.
1154 Also report the position when we are not yet prerolled but we
1155 have a newsegment event. Fixes #543444.
1156 Improve the pull-based negotiation code.
1158 * tests/check/elements/fakesink.c: (GST_START_TEST),
1160 Add testcase for position reporting while flushing in PAUSED and
1163 * tests/check/generic/sinks.c: (GST_START_TEST):
1164 Update unit-test, we can now query the position as soon as we receive a
1167 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1169 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1171 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1172 When the subclass event handler releases the PREROLL_LOCK, we could be
1173 in the flushing state and we have to ignore the event. Fixes #548394.
1175 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1177 * tools/gst-launch.1.in:
1178 Document GST_REGISTRY_UPDATE environment variable.
1180 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1182 * libs/gst/base/gstbasetransform.c:
1183 (gst_base_transform_prepare_output_buffer):
1184 If the element is configured in passthrough mode but the
1185 prepare_output_buffer gave us a new output buffer, discard that buffer
1186 and reuse the input buffer.
1188 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1190 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1192 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1193 (gst_tee_request_new_pad), (gst_tee_release_pad),
1194 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1195 * plugins/elements/gsttee.h:
1196 Protect pad_alloc with a new lock so that we can be sure that nothing is
1197 performing a pad_alloc when removing the pad. Fixes #547835.
1199 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1200 (buffer_alloc_harness_teardown), (app_thread_func),
1201 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1202 Added testcase for shutdown race.
1204 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1209 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1211 * libs/gst/base/gstbasetransform.c:
1212 (gst_base_transform_prepare_output_buffer),
1213 (gst_base_transform_buffer_alloc):
1214 Go over the buffer_alloc function again and make sure we always end up
1215 allocating a buffer.
1217 Avoid doing pad alloc when we have a pending suggestion because we
1218 cannot yet deal with changing caps in that case. Fixes #547728
1220 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1222 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1224 * docs/manual/advanced-clocks.xml:
1225 * docs/manual/clocks.png:
1226 * docs/manual/diagrams-clocks.svg:
1227 Add one more image showing different times together with a describing
1228 paragraph. Fixes #547729.
1230 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1232 * win32/common/libgstbase.def:
1235 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1237 * libs/gst/base/gstbasetransform.c:
1238 (gst_base_transform_transform_caps),
1239 (gst_base_transform_prepare_output_buffer),
1240 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1241 Don't overwrite the outsize when calculating the expected size of a new
1242 buffer because we still need it in case we cannot process the new
1244 When converting the size of the new buffer to an upstream size, actually
1245 use the expected size of the buffer, not some other random value.
1246 Use an atomic int to signal that a new upstream caps suggestion is
1248 When we can convert the current buffer to a new format, check if the
1249 buffer size is of the expected size and allocate a new buffer of the
1250 expected size when this is not the case. Fixes #546883.
1252 * tests/check/libs/transform1.c: (GST_START_TEST):
1253 remove ifdeffed code from the unit test.
1255 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1257 * pkgconfig/gstreamer-uninstalled.pc.in:
1258 * pkgconfig/gstreamer.pc.in:
1259 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1260 called gstcontroller-0.10.
1262 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1264 * gst/gstchildproxy.h:
1266 Remove double interface from doc-string.
1268 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1270 * libs/gst/base/gstbasesrc.c:
1271 * libs/gst/base/gstbasetransform.c:
1272 Fix headings in docs and gtk-doc warnings.
1274 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1276 * gst/gstregistrybinary.c:
1277 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1281 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1283 * libs/gst/base/gstbasetransform.c:
1284 (gst_base_transform_buffer_alloc):
1285 Fix a "may be used unitialized" warning.
1287 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1289 * docs/gst/gstreamer-sections.txt:
1291 Document preset-iface vmethods.
1293 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1295 * docs/manual/advanced-interfaces.xml:
1296 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1297 only used to discover devices.
1299 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1301 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1303 * gst/gst.c: (init_pre):
1304 Make sure gettext returns translations in UTF-8 encoding rather
1305 than in the current locale encoding (#546822).
1307 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1309 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1312 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1313 Improve unit test subset tests and add a testcase for the subset failure
1316 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1317 Improve subtraction unit test.
1319 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1321 * plugins/elements/gsttee.c:
1322 Unlock, instead of locking again.
1324 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1327 Clarify the docs a bit more.
1329 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1331 * tests/examples/metadata/read-metadata.c:
1332 Don't leak old taglist.
1334 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1336 Patch by: Olivier Crete <tester at tester dot ca>
1338 * gst/gststructure.c:
1339 (gst_structure_fixate_field_nearest_fraction):
1340 Avoid overflows in fixation code when dealing with MAXINT values, which
1341 v4l2src seems to do.
1344 * tests/check/gst/gststructure.c: (GST_START_TEST):
1345 Make a unit test to check the fix.
1347 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1349 * plugins/elements/gstcapsfilter.c: (copy_func),
1350 (gst_capsfilter_set_property):
1351 Use new caps suggestion feature of basetransform to request a caps
1352 negotiation upstream.
1354 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1356 * docs/libs/gstreamer-libs-sections.txt:
1358 API: GstBaseTransform::gst_base_transform_suggest()
1360 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1361 (gst_base_transform_init), (gst_base_transform_transform_caps),
1362 (gst_base_transform_transform_size),
1363 (gst_base_transform_configure_caps),
1364 (gst_base_transform_can_transform),
1365 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1366 (gst_base_transform_prepare_output_buffer),
1367 (gst_base_transform_buffer_alloc),
1368 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1369 (gst_base_transform_chain), (gst_base_transform_activate),
1370 (gst_base_transform_set_passthrough),
1371 (gst_base_transform_is_passthrough),
1372 (gst_base_transform_set_in_place),
1373 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1374 (gst_base_transform_set_qos_enabled),
1375 (gst_base_transform_is_qos_enabled),
1376 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1377 (gst_base_transform_reconfigure):
1378 * libs/gst/base/gstbasetransform.h:
1379 Rewrite of basetransform to perform negotiation outside of the
1380 buffer_alloc functions. Fixes #545853.
1382 * tests/check/libs/transform1.c: (GST_START_TEST),
1386 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1388 * tests/check/gst/gstpreset.c:
1389 Only run preset tests when $HOME is writable. Preliminary fix for
1392 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1394 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1395 (gst_bin_change_state_func), (bin_handle_async_done),
1396 (gst_bin_handle_message_func):
1397 Fix race for bins that simulate ASYNC state changes by inserting
1398 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1399 pending ASYNC messages even when the bin does not have ASYNC children.
1400 We note detect this behaviour because we will receive an ASYNC message
1401 that is originating from the bin itself.
1402 Fixes races with decodebin2 state changes.
1404 * tests/check/gst/gstbin.c: (GST_START_TEST):
1405 Add some more debug.
1407 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1409 * gst/gsttaglist.c: (_gst_tag_initialize):
1412 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1415 Argh. actually save the text before committing. Now adds
1416 gst_tag_merge_strings_with_comma() to gst_tag_register().
1418 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1422 Do as tim pointed out and actually register the new tag. Also improve
1423 te docs and use gst_tag_merge_strings_with_comma() method to allow
1424 retriving all keywords merged in one list.
1426 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1429 * docs/gst/gstreamer.types:
1430 Revert 'accidential' change of the configure option removal. We still
1431 need to generate the types file in configure --disable-load-save.
1433 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1435 * docs/gst/gstreamer-sections.txt:
1437 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1439 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1441 * gst/gstpadtemplate.c:
1442 (gst_pad_template_class_init), (gst_static_pad_template_get),
1443 (gst_pad_template_new), (gst_pad_template_pad_created),
1444 (gst_pad_template_set_property), (gst_pad_template_get_property):
1445 Add "name-template", "direction", "presence" and "caps" properties,
1446 so that gst_pad_template_new() is just a thin wrapper around
1447 g_object_new(), which is better for bindings. (Fixes: #539772)
1449 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1452 Be more liberal in what URIs we accept.
1453 Do not unescape bits of the URI for no apparent reason before passing to
1454 the element. Fixes #545352.
1456 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1458 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1461 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1463 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1466 * docs/gst/gstreamer-sections.txt:
1467 * docs/gst/gstreamer.types:
1468 * docs/gst/gstreamer.types.in:
1471 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1472 * gst/gstconfig.h.in:
1473 * gst/gstelement.c: (gst_element_get_index):
1474 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1475 (gst_registry_binary_load_feature),
1476 (gst_registry_binary_read_cache):
1477 * gst/gstregistryxml.c: (load_feature),
1478 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1479 * plugins/Makefile.am:
1481 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1482 (print_plugin_features), (print_element_features):
1483 * tools/gst-xmlinspect.c: (print_event_masks),
1484 (print_element_info):
1485 * win32/common/gstconfig.h:
1486 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1488 Disabling the indexers and URI handler code will only reduce the
1489 required amount of memory by a very small amount but on the other hand
1490 requires much more maintaince work. Apart from that many places of
1491 code are broken when disabling them.
1493 Disabling the enum types doesn't reduce the required amount of memory
1494 by more than a few bytes and makes it hard to fix bugs like #539772,
1495 i.e. use the enums as GObject properties.
1497 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1499 * docs/design/part-TODO.txt:
1500 Add some thoughts and problems with upstream renegotiation.
1502 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1504 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1505 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1506 Remove silly redundant debug.
1507 Add some more debug info.
1508 Clarify the docs regarding new caps received from pad_alloc.
1510 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1512 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1513 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1514 Make setting the caps more threadsafe.
1516 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1518 * docs/design/part-element-transform.txt:
1521 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1523 * plugins/elements/gstqueue.c: (gst_queue_init),
1524 (gst_queue_acceptcaps):
1525 Add and use a custom acceptcaps function instead of falling back to the
1526 potentially less optimized default implementation.
1528 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1530 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1531 Only sanity-check the buffer size if requested_caps == buffer_caps
1532 (ie. don't take pad caps into account, they're not relevant here)
1534 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1536 * plugins/elements/gsttee.c:
1537 * plugins/elements/gsttee.h:
1538 Reverting as not everything is clear yet. Needs some general design
1541 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1544 ChangeLog surgery for tee commit.
1546 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1548 * docs/gst/gstreamer-sections.txt:
1549 Cleanup section-file.
1551 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1553 * plugins/elements/gsttee.c:
1554 * plugins/elements/gsttee.h:
1555 Relay tag events in tee. Fixes parts of #474016.
1556 Downgrades 3 reoccurring debugs to log.
1558 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1561 * libs/gst/Makefile.am:
1562 Build the net library if we have winsock2.
1564 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1566 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1568 * docs/manual/advanced-threads.xml:
1569 * docs/manual/diagrams-pipelines.svg:
1570 * docs/manual/hello-world.png:
1571 * docs/manual/linked-elements.png:
1572 * docs/manual/mime-world.png:
1573 * docs/manual/queue.png:
1574 * docs/manual/thread-buffering.png:
1575 * docs/manual/thread-synchronizing.png:
1576 Replace one diagram with two separate ones and updates others.
1579 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1582 Fix link in documentation.
1584 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1587 Fix confusing documentation.
1589 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1591 * libs/gst/base/gstbasesrc.h:
1592 revert the changes to the header file for the ABI.
1594 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1596 * libs/gst/base/gstbasesrc.c:
1597 * libs/gst/base/gstbasesrc.h:
1598 Don't cache the seekable status.
1601 2008-07-24 Rene Stadler <mail@renestadler.de>
1603 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1604 code to close the pipeline graph. This prevents the program from
1605 printing internal data flow errors.
1607 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1609 * docs/manual/basics-bus.xml:
1610 Correct typo. Fixes bug #544320.
1612 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1615 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1616 Add check (taken from -base) for winsock, adds WIN32_LIBS
1618 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1620 Define GST_EXPORTS when building libgstreamer (only used on win32)
1621 * gst/gst_private.h:
1623 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1624 for symbols that we need to export in both these files.
1626 Include gst_private.h higher up to avoid some compile problems on win32.
1628 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1633 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1636 Previous commit was wrong NULL caps does not exist
1637 and indicate an error, so also add a FIXME to
1638 gst_caps_is_equal where NULL caps are accepted.
1640 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1643 Allow passing of NULL to gst_caps_union
1645 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1647 * gst/gstghostpad.c:
1648 Add in doc that gst_ghost_pad_set_target can accept
1649 NULL to clear target
1651 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1654 * gst/gstregistry.c:
1655 GstRegistryPool doesn't exist; don't refer to it in docs.
1656 Don't refer to functions that don't exist in docs, it's
1659 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1662 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1664 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1666 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1668 * docs/pwg/building-testapp.xml:
1669 Don't use an undeclared variable in the example program.
1672 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1674 * gst/gstdebugutils.c:
1675 Squeeze ghost-pad links and remove <> from classname labels to save
1676 more horizontal space.
1678 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1680 * gst/gstdebugutils.c:
1681 Give request and sometimes pads a different shpe style. Condense the
1682 graphs a little more.
1684 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1687 Don't require flex and bison if the parser is disabled.
1689 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1691 * libs/gst/controller/gstinterpolationcontrolsource.c:
1692 (_list_find_sorted_custom):
1693 Don't use declarations after statements.
1695 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1697 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1698 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1699 of the the child-added / -removed signals as GstChildProxy
1700 only supports GstObjects.
1702 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1704 * gst/gstdebugutils.c:
1707 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1709 Patch by: Alessandro Decina <alessandro at nnva dot org>
1712 Fix "ignored return value" compiler warning with newer glibc.
1714 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1716 * gst/gstchildproxy.c:
1717 Fix copy&paste error in gst_child_proxy_removed() documentation.
1719 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1721 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1722 Print error debug message if plugin description fields that should
1725 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1726 Don't crash if the string to serialise is NULL (it really should
1727 not be, but apparently this used to work with the xml registry ...).
1729 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1731 * tools/gst-plot-timeline.py:
1732 Fix parsing of log messages
1734 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1736 * win32/common/libgstbase.def::
1737 Sort alphabetically so make check-exports doesn't barf.
1739 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1742 Use gst_format_get_name() to improve debug output.
1745 Remove #ifdef'ed code. Add TODO comment.
1748 Add debug output to ease spotting format != segment.format assertions.
1750 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1752 * tests/check/libs/gdp.c: (gst_dp_suite):
1753 Also enable the GDP unit test again on PPC now that the bug
1756 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1758 * libs/gst/dataprotocol/dataprotocol.c:
1759 Don't write to the same region of memory as a uint64 and uint16
1760 as this breaks strict aliasing rules and apparantly breaks on PPC
1761 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1763 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1765 * libs/gst/controller/gstinterpolationcontrolsource.c:
1766 Optimize list handling. Use own find function. Exploit that fact that
1767 the list is sorted. Also pass back the node before, so that we can
1768 insert quickly. Have a fast path for append.
1770 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1772 * docs/design/draft-framestep.txt:
1773 * docs/design/part-negotiation.txt:
1776 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1779 Show configuration sumary after configure run. Based on patch by
1780 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1782 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1784 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1786 * docs/manual/advanced-autoplugging.xml:
1787 * docs/manual/advanced-threads.xml:
1788 * docs/manual/basics-bins.xml:
1789 * docs/manual/basics-elements.xml:
1790 * docs/manual/basics-helloworld.xml:
1791 * docs/manual/basics-pads.xml:
1792 Add scale factor for pdf output.
1794 * docs/manual/intro-basics.xml:
1795 Switched sections "pads" and "bins" and added a pipeline diagram.
1797 * docs/manual/intro-gstreamer.xml:
1798 Added more info on gstreamer.
1800 * docs/manual/intro-motivation.xml:
1801 Commented out the whole section "current problem", which sounds
1802 historical and somehow osolete; it could be turned in a positive
1803 way and reused to improve the design principles.
1805 * docs/manual/intro-preface.xml:
1806 - Update URLs to library.gnome.org.
1807 - Do not mention GTK+ in preliminary reading (irrelevant).
1808 - Mention Plugin Writer's Manual and further reading only in the
1810 - Added a list of most relevant GObject/glib topics.
1812 * docs/manual/Makefile.am:
1813 * docs/manual/bin-element-ghost.fig:
1814 * docs/manual/bin-element-ghost.png:
1815 * docs/manual/bin-element-noghost.fig:
1816 * docs/manual/bin-element-noghost.png:
1817 * docs/manual/bin-element.fig:
1818 * docs/manual/bin-element.png:
1819 * docs/manual/filter-element-multi.fig:
1820 * docs/manual/filter-element-multi.png:
1821 * docs/manual/filter-element.fig:
1822 * docs/manual/filter-element.png:
1823 * docs/manual/gstreamer-overview.png:
1824 * docs/manual/hello-world.fig:
1825 * docs/manual/hello-world.png:
1826 * docs/manual/linked-elements.fig:
1827 * docs/manual/linked-elements.png:
1828 * docs/manual/mime-world.fig:
1829 * docs/manual/mime-world.png:
1830 * docs/manual/queue.fig:
1831 * docs/manual/queue.png:
1832 * docs/manual/simple-player.png:
1833 * docs/manual/sink-element.fig:
1834 * docs/manual/sink-element.png:
1835 * docs/manual/src-element.fig:
1836 * docs/manual/src-element.png:
1837 * docs/manual/diagrams-general.svg:
1838 * docs/manual/diagrams-pipelines.svg:
1839 Removed .fig, added .png counterpart.
1843 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1845 * plugins/elements/gstmultiqueue.c:
1846 * plugins/elements/gstmultiqueue.h:
1847 revert extra-size-buffers stuff, caused some race conditions
1848 and extra-size-buffers is not used anymore. Docs needs some updates
1850 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1852 * win32/common/config.h:
1853 * win32/common/gstenumtypes.c:
1854 * win32/common/gstenumtypes.h:
1855 * win32/common/gstversion.h:
1858 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1860 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1861 (GST_DEBUG_BIN_TO_DOT_FILE):
1862 Add missing Since' markers to gtk-doc blurbs.
1864 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1866 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1867 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1868 (set_caps_1), (set_caps_ct1), (transform_ct1),
1869 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1870 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1871 (transform_size_ct2), (buffer_alloc_ct2):
1872 Add some more tests with switching caps in buffer_alloc.
1874 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1876 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1877 (gst_test_trans_class_init), (result_sink_chain),
1878 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1879 (gst_test_trans_push), (gst_test_trans_pop):
1880 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1881 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1882 (set_caps_1), (set_caps_ct1), (transform_ct1),
1883 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1884 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1885 (transform_size_ct2), (buffer_alloc_ct2),
1886 (gst_basetransform_suite):
1887 More tests, prepare for tests with switching caps in buffer_alloc.
1889 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1891 * plugins/elements/gstmultiqueue.c:
1892 * plugins/elements/gstmultiqueue.h:
1893 Fix dead-lock in underrun_cb
1895 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1897 * docs/design/part-states.txt:
1898 Fix device open/close docs.
1900 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1903 Mention bugnumber for last commit.
1905 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1907 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1909 * docs/manual/manual.xml:
1910 - Reorganised the previous "introduction" bundle into Foreword,
1911 Introduction, and About GStreamer. The two first are <preface>
1912 docbook elements. The later is the first part of the book.
1913 - added intro-gstreamer.xml (content partially from
1915 - moved appendix-win32.xml into appendix-integration.xml
1917 * docs/manual/intro-preface.xml: gstreamer section moved...
1918 * docs/manual/intro-gstreamer.xml: ...here. new file.
1920 * docs/manual/appendix-win32.xml: removed file. Content moved...
1921 * docs/manual/appendix-integration.xml: ...here.
1923 * docs/manual/highlevel-components.xml: section about GstEditor moved...
1924 * docs/manual/appendix-checklist.xml: ...here.
1928 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1930 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1932 * docs/manual/basics-helloworld.xml:
1933 * docs/manual/hello-world.fig:
1934 - Explicitely include glib.h.
1935 - Do not use global variables.
1936 - Use g_printerr() instead of g_print().
1937 - Minor formating/renaming to increase readibility.
1938 - Renamed new_pad() to on_pad_added()
1939 - Improved explenatory comments.
1940 - renamed ogg parser to ogg demuxer
1941 - Use "autoaudiosink" instead of "alsasink".
1944 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1947 Remove cvs conflict marker.
1949 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1952 Document that for plgin-docs we extraxt he short-desc from the element
1955 * docs/design/part-states.txt:
1956 Tell that devices should be closed in PAUSED -> READY.
1958 * docs/manual/README:
1959 Document how tests in the manual are handled.
1964 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1966 * gst/gstbin.c: (bin_query_latency_fold):
1967 Only care about latency min and max when the sink is actually a live
1970 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1972 * docs/design/part-block.txt:
1975 * docs/design/part-element-transform.txt:
1976 Add notes about why transform needs to know input/output sizes.
1977 Add some issues that need to be solved.
1978 Add some more use cases.
1980 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1981 (gst_test_trans_class_init), (result_sink_chain),
1982 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1983 (gst_test_trans_push), (gst_test_trans_pop):
1984 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1985 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1986 (set_caps_1), (set_caps_ct1), (transform_ct1),
1987 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1988 (gst_basetransform_suite):
1989 Add suport for different pad templates and buffer-alloc.
1990 Add more checks for caps and buffer-alloc.
1991 Add checks for proxy buffer alloc.
1992 Add unit test for copy transform.
1994 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
1996 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
1998 * docs/manual/appendix-integration.xml:
1999 * docs/manual/appendix-licensing.xml:
2000 * docs/manual/basics-elements.xml:
2001 * docs/manual/basics-helloworld.xml:
2002 * docs/manual/basics-pads.xml:
2003 * docs/manual/highlevel-components.xml:
2004 * docs/manual/highlevel-xml.xml:
2005 * docs/manual/intro-basics.xml:
2006 * docs/manual/intro-preface.xml:
2007 Typo and formatting fixes (#538594).
2009 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2011 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2012 Fix some memory leaks and uses of object instances that we don't
2015 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2017 * plugins/elements/gstmultiqueue.c:
2018 Add functionality to extra-size-buffers property.
2020 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2022 * plugins/elements/gstmultiqueue.c:
2023 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2024 activate the pads if they are added in STATE_NULL.
2026 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2028 * docs/libs/gstreamer-libs-sections.txt:
2030 * libs/gst/check/gstcheck.c:
2031 * libs/gst/check/gstcheck.h:
2032 API: gst_check_teardown_pad_by_name
2034 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2036 * libs/gst/check/gstcheck.c:
2037 * libs/gst/check/gstcheck.h:
2038 Also setup request pads and allow setup pads by name (#537812)
2039 API: gst_check_setup_src_pad_by_name
2040 API: gst_check_setup_sink_pad_by_name
2042 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2044 * tests/check/gst/gstbuffer.c:
2045 * tests/check/pipelines/parse-launch.c:
2046 Use HAVE_VALGRIND_H some more.
2048 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2050 * scripts/cvs-update.sh:
2051 Pass arguments to make.
2052 Run autoregen.sh if Makefile is not there.
2054 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2058 Don't assume that <valgrind/valgrind.h> exists just because
2059 the binary is there.
2061 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2063 * tests/check/Makefile.am:
2064 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2065 (gst_test_trans_class_init), (gst_test_trans_init),
2066 (gst_test_trans_set_data), (result_sink_chain),
2067 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2068 (gst_test_trans_pop):
2069 * tests/check/libs/transform1.c: (GST_START_TEST),
2070 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2071 Add some test basetransform element and the beginnings of various
2074 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2076 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2077 Increase code readability.
2078 Don't try to compare buffer offsets when ther are invalid.
2080 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2082 * docs/design/Makefile.am:
2083 Dist some more design docs.
2085 * docs/random/moving-plugins:
2086 Small addition: good plugins mustn't have functional code
2087 within assertion macros.
2089 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2091 * docs/design/draft-framestep.txt:
2092 Some ideas about a framestep API
2094 * docs/design/part-element-transform.txt:
2095 Start design and use cases for basetransform in order to get it
2098 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2101 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2102 be in UTF-8 encoding.
2104 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2107 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2109 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2111 * plugins/elements/gstcapsfilter.c:
2112 * plugins/elements/gstfakesink.c:
2113 * plugins/elements/gstfakesrc.c:
2114 * plugins/elements/gstfdsink.c:
2115 * plugins/elements/gstfdsrc.c:
2116 * plugins/elements/gstfilesink.c:
2117 * plugins/elements/gstfilesrc.c:
2118 * plugins/elements/gstidentity.c:
2119 * plugins/elements/gstmultiqueue.c:
2120 * plugins/elements/gstqueue.c:
2121 * plugins/elements/gsttee.c:
2122 * plugins/elements/gsttypefindelement.c:
2123 Remove short_description. Add basic docs for gsttypefindelement.
2124 Simplify markup for fakesrc/fdsrc.
2126 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2128 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2131 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2133 Patch by: Joel Larsson <tilljoel at gmail dot com>
2135 * docs/plugins/gstreamer-plugins.args:
2136 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2137 (gst_fd_src_init), (gst_fd_src_update_fd),
2138 (gst_fd_src_set_property), (gst_fd_src_get_property),
2139 (gst_fd_src_create):
2140 * plugins/elements/gstfdsrc.h:
2141 Add timeout property like udpsrc. Fixes #538628.
2142 Add some more docs and example pipelines.
2144 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2146 * docs/libs/gstreamer-libs-sections.txt:
2147 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2148 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2149 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2150 (gst_base_sink_do_sync):
2151 * libs/gst/base/gstbasesink.h:
2152 * win32/common/libgstbase.def:
2153 Add method to allow sinks to specify additional delay between the sync
2154 times and the actual rendering of the data.
2155 API: gst_base_sink_set_render_delay()
2156 API: gst_base_sink_get_render_delay()
2158 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2161 Bump version number back to dev -> 0.10.20.1
2163 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2165 * docs/gst/gstreamer-sections.txt:
2166 * gst/gsttaglist.c: (_gst_tag_initialize):
2168 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2171 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2173 * libs/gst/controller/gstcontroller.c:
2174 Revert one change, that make ret value possible uninitialized.
2176 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2178 * libs/gst/controller/gstcontroller.c:
2179 Use freeze/thaw notify to sync notify emission a bit (its also more
2180 efficient). Move debug output to LOG (is called a lot in a loop).
2181 Always unset g_values if the have been initialized.
2183 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2185 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2186 (gst_base_sink_wait_eos), (gst_base_sink_event):
2187 If we have not seen a buffer before EOS, use the segment values to
2188 report the current position instead of invalid positions.
2190 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2192 * docs/plugins/tmpl/.cvsignore:
2193 * tests/check/gst/.cvsignore:
2196 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2198 * libs/gst/controller/gstinterpolation.c:
2199 * libs/gst/controller/gstinterpolationcontrolsource.c:
2200 * tests/check/libs/controller.c:
2201 Rewrite handling of default values. Fix overflow with unsigned types
2202 in linear interpolation. Remove now obsolete _first_value() function.
2203 Add more tests. Fixes #538201.
2205 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2207 * libs/gst/base/gstbasetransform.c:
2208 (gst_base_transform_class_init), (gst_base_transform_init),
2209 (gst_base_transform_transform_caps),
2210 (gst_base_transform_prepare_output_buffer):
2212 When a buffer is writable, its metadata is also writable so we don't
2213 need to subbuffer (which then makes the buffer not-writable anymore).
2215 === release 0.10.20 ===
2217 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2220 releasing 0.10.20, "You Crazy Diamond"
2222 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2225 0.10.19.3 pre-release
2227 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2231 Rename DATADIR to GST_DATADIR to avoid build problems
2232 on win32. Patch By: David Schleef <ds@schleef.org>
2235 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2238 Explicitely link with -ldl if dladdr() is found there. Before it was
2239 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2240 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2242 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2244 * gst/gsterror.c: (_gst_stream_errors_init):
2245 Fix typo (spotted by Fabricio Godoy, #536723).
2247 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2250 0.10.19.2 pre-release
2252 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2254 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2255 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2257 Make sure we don't generate invalid QoS messages.
2259 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2261 * gst/gstevent.c: (gst_event_new_qos):
2262 Add some assert and docs for invalid input to the qos function.
2264 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2266 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2267 (gst_base_sink_get_position):
2268 The reported position must always be smaller than the last seen
2269 timestamps (or timestamp + duration for reverse).
2271 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2273 Patch by: Rob Bradford <rob at robster dot org dot uk>
2275 * gst/gstregistry.c: (gst_registry_scan_path_level):
2276 Don't recurse into .debug directories as some distros install
2277 the debugging symbols next to the plugins in .debug directories
2278 and dlopen() crashes on them sometimes. Fixes bug #508070.
2280 Add FIXME for 0.11 to not recurse into directories at all because
2281 it's very inconsistent to the behaviour of other PATH environment
2284 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2286 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2287 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2288 Fix position query range checks in reverse playback.
2290 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2294 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2295 clear of the reference to the resulting pad must be released later
2296 or not, resulting in possible leaks. Fixes bug #533865.
2298 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2300 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2302 * gst/gstelementfactory.c:
2303 Small doc fix. Fixes #535285.
2305 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2307 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2309 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2310 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2311 (gst_base_src_loop), (gst_base_src_set_flushing),
2312 (gst_base_src_change_state):
2313 Make sending an EOS event to the basesrc non-blocking even if the
2314 implementation does blocking waits in the create function. This is done
2315 by unlocking the create function when EOS is sent.
2318 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2320 * tools/gst-inspect.c: (print_element_properties_info):
2321 If possible print the element type of GValueArray properties.
2323 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2325 * gst/gstiterator.c:
2326 Remove an unused field from the private GstListIterator struct.
2328 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2330 * libs/gst/controller/gstcontroller.c:
2331 Add parameter guards.
2333 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2335 * tests/check/gst/gstpipeline.c:
2336 Revert test change and add comment why it should not work.
2338 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2340 * tests/check/gst/gstpipeline.c:
2341 Extending the test a little to verify that we also get the NULL state-
2344 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2346 * gst/gstpreset.c: (gst_preset_default_get_meta),
2347 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2348 (gst_preset_load_preset), (gst_preset_save_preset),
2349 (gst_preset_rename_preset), (gst_preset_delete_preset),
2350 (gst_preset_set_meta):
2351 Add Since: markers to docs blurbs.
2353 * win32/common/libgstreamer.def:
2354 Add recently-added API.
2356 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2358 Patch by: Stefan Kost <ensonic@users.sf.net>
2361 Add DATADIR for storing presets.
2363 * docs/gst/gstreamer-docs.sgml:
2364 * docs/gst/gstreamer-sections.txt:
2365 * docs/gst/gstreamer.types.in:
2366 Add GstPreset to docs.
2370 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2371 (preset_open_and_parse_header), (preset_parse_version),
2372 (preset_merge), (preset_get_keyfile),
2373 (gst_preset_default_get_preset_names),
2374 (gst_preset_default_get_property_names),
2375 (gst_preset_default_load_preset),
2376 (gst_preset_default_save_presets_file),
2377 (gst_preset_default_save_preset),
2378 (gst_preset_default_rename_preset),
2379 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2380 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2381 (gst_preset_default_reset), (gst_preset_get_preset_names),
2382 (gst_preset_get_property_names), (gst_preset_load_preset),
2383 (gst_preset_save_preset), (gst_preset_rename_preset),
2384 (gst_preset_delete_preset), (gst_preset_set_meta),
2385 (gst_preset_get_meta), (gst_preset_class_init),
2386 (gst_preset_base_init), (gst_preset_get_type):
2388 Add GstPreset to core. Fixes #396779
2390 * tests/check/Makefile.am:
2391 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2392 (gst_preset_test_set_property), (gst_preset_test_class_init),
2393 (gst_preset_test_base_init), (gst_preset_test_get_type),
2394 (gst_preset_test_plugin_init), (GST_START_TEST),
2395 (remove_preset_file), (test_setup), (test_teardown),
2397 Add GstPreset unit tests.
2399 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2401 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2402 The default event function on a sinkpad should return TRUE when
2403 there are no internal links but should collect the return values from
2404 the internal links otherwise.
2406 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2408 * plugins/elements/gsttypefindelement.c:
2409 (gst_type_find_element_src_event),
2410 (gst_type_find_element_handle_event):
2411 Use faster and safer _pad_push_event().
2413 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2415 * docs/gst/gstreamer-sections.txt:
2416 * gst/gstutils.c: (element_find_unlinked_pad),
2417 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2419 API: add gst_bin_find_unlinked_pad()
2420 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2422 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2428 Fixed a bunch of typos.
2430 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2433 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2434 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2435 (gst_parse_bin_from_description_full):
2437 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2439 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2441 * docs/pwg/advanced-tagging.xml:
2442 Small docs update, can't be bothered to rewrite the nonsensical
2445 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2448 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2450 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2452 * gst/parse/grammar.y:
2453 Remove unneeded casts.
2455 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2457 * gst/parse/grammar.y:
2458 * tests/check/pipelines/parse-launch.c:
2459 Get all missing elements from a parse launch string if possible
2460 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2462 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2464 * tests/check/Makefile.am:
2465 * tests/check/pipelines/parse-launch.c:
2466 Add some unit tests for the new gst_parse_launch*_full() API.
2467 (Exposes a previously-existing memory leak in the error code
2468 path, so adding to VALGRIND_TO_FIX for now).
2470 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2472 * docs/gst/gstreamer-sections.txt:
2473 * gst/gst.c: (init_post):
2474 * gst/gst_private.h: (_GstParseContext):
2475 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2476 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2477 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2478 (gst_parse_launch_full):
2479 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2480 (GstParseFlags), (GstParseContext):
2481 * gst/gstutils.c: (gst_parse_bin_from_description),
2482 (gst_parse_bin_from_description_full):
2484 * gst/parse/grammar.y:
2485 * gst/parse/types.h:
2486 * win32/common/libgstreamer.def:
2487 Add new gst_parse_*_full API (#528178):
2488 API: gst_parse_launch_full()
2489 API: gst_parse_launchv_full()
2490 API: gst_parse_bin_from_description_full()
2491 API: gst_parse_context_new()
2492 API: gst_parse_context_free()
2493 API: gst_parse_context_get_missing_elements()
2495 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2497 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2499 * docs/faq/gst-uninstalled:
2500 Also support ffmpeg in gst-uninstalled.
2502 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2505 After discussion on IRC use the binary registry as default
2506 but allow to disable it with --disable-binary-registry.
2508 * win32/common/libgstreamer.def:
2509 Add the two new symbols for the binary registry.
2511 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2513 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2514 * gst/gstutils.c: (gst_parse_bin_from_description):
2515 * gst/parse/grammar.y: (graph):
2516 More guards against bad input; typo fix; some minor clean-ups.
2518 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2520 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2522 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2523 If nothing else can be used, use the last buffer's start time as
2524 the segment's last stop. Fixes bug #534258.
2526 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2528 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2529 Move size sanity check to the right place: downstream may return
2530 a buffer with a smaller size if the buffer caps are different than
2531 the requested ones, as may happen when doing reverse negotiation.
2533 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2535 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2536 (gst_file_sink_render):
2537 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2538 (gst_file_src_start):
2539 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2542 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2544 * gst/gstpad.c: (gst_pad_load_and_link):
2545 * gst/gstutils.c: (gst_element_link_pads),
2546 (gst_element_unlink_pads):
2547 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2548 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2549 (gst_check_teardown_sink_pad),
2550 (gst_check_element_push_buffer_list):
2551 * tests/check/elements/fakesink.c: (GST_START_TEST):
2552 * tests/check/elements/filesink.c:
2553 * tests/check/elements/filesrc.c: (GST_START_TEST):
2554 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2555 (mq_sinkpad_to_srcpad):
2556 * tests/check/elements/tee.c: (GST_START_TEST):
2557 * tests/check/generic/sinks.c: (GST_START_TEST):
2558 * tests/check/gst/gstbin.c: (GST_START_TEST):
2559 * tests/check/gst/gstevent.c: (GST_START_TEST):
2560 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2561 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2562 * tests/check/gst/gstquery.c: (GST_START_TEST):
2563 * tests/check/gst/gstutils.c: (GST_START_TEST):
2564 * tests/check/libs/basesrc.c: (GST_START_TEST):
2565 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2566 (gst_parse_test_element_change_state):
2567 Don't use gst_element_get_pad().
2569 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2572 Fix installing plugin documentation when gtk-doc is disabled.
2574 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2576 * docs/manual/advanced-autoplugging.xml:
2577 * docs/manual/basics-helloworld.xml:
2578 * docs/manual/basics-pads.xml:
2579 * docs/manual/highlevel-components.xml:
2580 Avoid using a bad function in the example code.
2582 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2584 * gst/gstclock.c: (gst_clock_set_calibration):
2585 Fix debug of the new clock rate.
2587 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2589 * win32/common/libgstbase.def:
2590 Add gst_base_sink_wait_clock() to the exported symbols.
2592 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2594 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2596 * libs/gst/base/gstbasetransform.c:
2597 (gst_base_transform_sink_event):
2598 Unref events that the GstBaseTransform::event vfunc didn't want to
2599 have forwarded by the base class. Closes a leak in identity.
2602 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2604 * docs/libs/gstreamer-libs-sections.txt:
2605 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2606 * libs/gst/base/gstbasesink.h:
2607 Expose a method that was previously used internally to synchronize
2608 against the clock because it can be useful for subclasses too.
2609 API: GstBaseSink::gst_base_sink_wait_clock()
2611 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2613 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2614 Add sanity check to make sure we don't get smaller buffers
2615 than requested (and fallback to normal buffer alloc if we do).
2617 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2619 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2620 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2621 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2622 Refactor adjusting the running_time with latency and offset into a
2624 When doing clipping, we still want to use the subclass get_times method,
2625 just in case the DURATION or TIMESTAMP are not set.
2627 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2629 * docs/gst/gstreamer-sections.txt:
2630 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2631 * gst/gsttypefind.h:
2632 * win32/common/libgstreamer.def:
2633 API: add gst_type_find_suggest_simple(), #533740.
2635 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2637 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2638 Use right error code when typefinding fails, so we can use
2639 the default (translated) error messages.
2641 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2643 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2644 (gst_base_src_start):
2645 When the subclass did not set caps on outgoing buffers, configure the
2646 caps we negotiated on the source pad.
2647 When the typefind helper does not find caps, error out properly instead
2648 of doing things with NULL caps.
2650 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2652 * gst/gsttypefind.h:
2653 Tabs to spaces, oh yes!
2655 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2657 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2658 Add David's and Benjamin's tests for array intersection to the
2659 unit test suite (#147931).
2661 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2664 Document that gst_event_new_tag() and gst_event_new_navigation()
2665 take ownership of the taglist/structure passed to them. (#533635).
2667 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2670 Don't descend into the plugins dir if plugin docs building
2674 Add a note about the new type:GTypeName syntax for the plugin
2675 documentation .types file.
2677 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2679 * gst/gstmessage.c: (gst_message_new_error),
2680 (gst_message_new_warning), (gst_message_new_info):
2682 Mark the debug string parameters as const. Fixes bug #533490.
2684 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2686 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2687 Sort buffer cache list by end offsets. This makes sure that we don't
2688 stop to search for a cached buffer that contains the requested data
2690 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2691 more efficient. Fixes bug #459862.
2693 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2696 Explain why we copy the list.
2698 * gst/gstpipeline.c:
2702 Add one debug-log statement to help tracing probelms with linking pads.
2704 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2706 * tests/check/gst/gstinfo.c:
2707 Add a test for removing the default log handler. Seems to fail under
2710 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2712 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2713 Release pad lock before calling out to avoid a possible deadlock.
2715 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2717 * gst/parse/grammar.y:
2718 Remove unneeded value unset.
2720 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2721 Add unit test for de/serialization of caps.
2723 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2725 * plugins/elements/gstfakesink.c:
2726 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2727 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2728 (gst_fake_src_class_init):
2729 Use custom marshalers that take GstMiniObject as first parameter.
2730 Using OBJECT as parameter while a GstMiniObject is given will lead
2731 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2733 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2735 * plugins/elements/gsttypefindelement.c:
2736 (gst_type_find_element_handle_event),
2737 (gst_type_find_element_send_cached_events),
2738 (gst_type_find_element_change_state):
2739 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2742 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2744 * plugins/elements/gsttypefindelement.c:
2745 (gst_type_find_handle_src_query), (stop_typefinding),
2746 (gst_type_find_element_handle_event),
2747 (gst_type_find_element_send_cached_events),
2748 (gst_type_find_element_change_state):
2749 Forward FLUSH_START events immediately and clean up instead of
2752 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2754 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2756 * libs/gst/base/gstbasetransform.c:
2757 (gst_base_transform_buffer_alloc):
2758 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2759 fall back to default negotiation in the chain function if the caps
2760 are different from what was requested. Fixes bug #526768.
2762 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2765 * tests/check/gst/gstsegment.c:
2766 No, let's not use g_slice_{dup|copy} here, since they only exist
2767 since GLib 2.14 and we still depend only on >= 2.12. Also add
2768 unit test for gst_segment_copy().
2770 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2772 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2773 Try to fix 'dereferencing type-punned pointer will break strict
2774 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2775 changed the default GType typedef from gulong to gsize at some point,
2776 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2777 g_once_* functions all take a gsize * though, so work around the type
2778 mismatch for C++ by doing everything in gsize and casting to GType
2781 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2783 * plugins/elements/gstmultiqueue.c:
2784 Add documentation for the signals to push our core plugin docs
2785 coverage back up to 100%.
2787 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2789 * gst/gstinfo.h (GST_FUNCTION):
2790 Reverted GST_FUNCTION to the old version as we don't want the
2791 full signature in C++ code. Also added support for MSVC.
2793 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2796 Intern the type name string, similar to what G_DEFINE_TYPE does.
2798 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2801 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2803 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2805 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2807 * libs/gst/base/gstbasetransform.c:
2808 (gst_base_transform_buffer_alloc):
2809 Don't passthrough buffer allocation too easily if the caps change.
2810 This breaks when working in passthrough mode and upstream changes
2811 it's caps. Fixes bug #526768.
2813 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2815 * gst/gstinfo.c (gst_debug_log_valist):
2816 Improved the __FILE__ part of debug output for MSVC.
2818 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2820 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2821 Declaration after statement fix for compilers like MSVC.
2823 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2825 * win32/common/config.h.in:
2826 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2827 use the real thing than having "???" unconditionally.
2829 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2831 * gst/gstinfo.h (GST_FUNCTION):
2832 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2834 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2836 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2839 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2840 (gst_base_sink_set_flushing):
2841 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2844 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2846 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2847 (gst_fake_src_init), (gst_fake_src_set_property),
2848 (gst_fake_src_get_property), (gst_fake_src_start):
2849 * plugins/elements/gstfakesrc.h:
2850 Added format property to control the format of the newsegment events.
2851 API: GstFakeSrc:format
2853 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2855 * win32/common/libgstreamer.def:
2856 Add gst_pad_has_name() to the exported symbols.
2858 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2860 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2861 * libs/gst/base/gstbasetransform.c:
2862 (gst_base_transform_prepare_output_buffer):
2863 Don't allow negative sizes when allocating new buffers.
2866 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2868 Patch by: Sjoerd Simons <sjoerd at luon net>
2870 * gst/gstbus.c: (gst_bus_source_dispatch):
2871 Don't print a warning if the queue is empty when we try to pop
2872 here. That could happen if another thread or callback set the
2873 bus to flushing between the source's check/prepare and the
2874 dispatch being called (#531538).
2876 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2878 * plugins/elements/gstmultiqueue.c:
2881 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2883 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2884 Add unit test for deserializing uint64s and check some really large
2885 numbers in the int64 test.
2887 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2889 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2890 (print_interfaces), (print_element_properties_info),
2891 (print_signal_info):
2892 Use "%s" as format string instead of printing strings directly.
2894 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2896 * gst/gstclock.c: (gst_clock_set_calibration):
2897 Make some checks actually useful.
2899 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2900 Remove some unused code. Unsigned integers tend to be >= 0.
2902 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2904 * gst/gstminiobject.c: (gst_value_get_mini_object):
2905 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2906 function was not in the unscheduled 0.10.19 release.
2908 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2910 * gst/gstregistry.c: (gst_registry_scan_path_level):
2911 Only print one log message per non-plugin file.
2913 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2915 * gst/gstinfo.c: (gst_debug_log_default):
2916 Fix alignment of debug log columns on 64-bit.
2918 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2920 * docs/libs/Makefile.am:
2921 * docs/libs/gstreamer-libs-sections.txt:
2922 Ignore private controller headers for docs.
2924 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
2926 * libs/gst/controller/gstcontrollerprivate.h:
2927 * libs/gst/controller/gsthelper.c:
2928 * libs/gst/controller/gstinterpolation.c:
2929 * libs/gst/controller/gstinterpolationcontrolsource.c:
2930 (gst_interpolation_control_source_set_interpolation_mode):
2931 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2932 * libs/gst/controller/lib.c:
2933 Move some private declarations into private headers.
2935 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
2937 * gst/gstdebugutils.c: (debug_dump_element_pad):
2938 Remove some code that is unused after Stefan's refactoring and uses
2939 uninitialized variables now, resulting in a compiler warning.
2941 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
2943 * gst/gstregistry.c: (gst_registry_scan_path_level):
2944 Run g_str_has_suffix() only on the file name, not the
2947 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
2949 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2950 Since we're not called only from the chain function any longer,
2951 we can't assume that there's always data in the queue, so move
2952 the is_full check to the beginning of the loop (otherwise we'd
2953 hit the assert when changing the limit properties while the
2954 queue is empty or not running yet).
2955 Also, only set a discont if items were actually removed from
2958 * tests/check/elements/queue.c: (test_leaky_downstream):
2959 Test case for the above.
2961 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
2963 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2965 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2966 (gst_queue_chain), (queue_capacity_change),
2967 (gst_queue_set_property):
2968 When changing thr max capacity of a leaky queue, immediatly drop buffers
2969 instead of waiting for a push on the sinkpad. Fixes #530637.
2971 2008-04-30 Stefan Kost <ensonic@users.sf.net>
2973 * gst/gstdebugutils.c:
2974 Refactor code and fix handling of ghostpads and their proxypads.
2976 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
2978 * docs/gst/gstreamer-sections.txt:
2979 * gst/gstevent.c: (gst_event_has_name):
2981 * tests/check/gst/gstevent.c: (GST_START_TEST):
2982 Add method to conveniently check the name of a custom event with
2983 gst_event_has_name().
2984 Reformat the event docs so that related methods are put together instead
2985 of the default alphabetical sort.
2986 Update unit test with new method.
2987 API: GstEvent::gst_event_has_name()
2989 2008-04-28 Michael Smith <msmith@songbirdnest.com>
2991 * libs/gst/check/Makefile.am:
2992 Don't add an explicit link to libgstreamer-0.10.la; it's already
2993 included in GST_OBJ_LIBS.
2995 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
2998 Register GstClock type from a type-safe context. Fixes bug #530317.
3000 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3002 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3004 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3006 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3008 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3010 Use the GLib stuff to create a private structure.
3011 Add some locking around some dispose methods to make them a little
3012 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3014 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3016 * libs/gst/base/gstbasesink.h:
3017 * libs/gst/base/gstbasesrc.h:
3018 * libs/gst/base/gstbasetransform.h:
3019 * libs/gst/base/gstcollectpads.h:
3020 Fix doc typos and unify caps a bit.
3022 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3024 * tools/gst-launch.1.in:
3025 Forgot to also add the envvar docs here.
3027 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3029 * gst/gst.c: (init_post), (gst_deinit):
3030 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3031 (test_concurrent_create), (gst_pipeline_suite):
3032 Ref some more classes in gst_init() to work around thread-safety
3033 issues in pre-2.16 GLibs, and add basic unit test.
3035 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3037 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3038 (gst_base_sink_send_event):
3039 Rearrange the latency query code. We always want to do the upstream
3040 query, even if we are not live so that the upstream elements can get the
3041 latency results too. If we fail doing the query and we are live, we
3042 return TRUE afterwards.
3044 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3046 patch by: Jason Zhao <e3423c@motorola.com>
3048 * docs/gst/running.xml:
3050 Enable/disable scan_and_update_registry() based on commandline switch
3051 or environment variable. Fixes #520468.
3054 Fix typo in my previous commit.
3056 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3058 * gst/gstregistrybinary.c:
3059 Add a warning if we hit unhandled factories when saving.
3060 More debug logging detail, but move to LOG category.
3062 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3064 * gst/gstregistry.c:
3065 Tell the *truth* when improving the documentation.
3067 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3069 * gst/gstelementfactory.c: (gst_element_factory_make):
3070 Unref the factory after it was used the last time, not before.
3072 * gst/gstindexfactory.c: (gst_index_factory_make):
3073 Improve debugging a bit and don't leak a ref to the index factory with
3076 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3078 * gst/gstregistry.c:
3079 Improve the documentation.
3081 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3084 The glib macro seems to be borked. Use g_slice_copy directly and cast
3085 in the hope that this fixes the warning on 64bit.
3087 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3090 Document the new function. Use g_slice_dup() (no need for
3091 gst_segment_init()).
3093 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3095 * docs/gst/gstreamer-sections.txt:
3096 Move GParamSepc macros to standart section.
3099 Dn't document _get_type - its in private section in docs anyway and
3100 this doc-blob was incomplete.
3103 Fix wrong symbol names in docs.
3106 Add once doc sentence.
3108 * tests/check/gst/.cvsignore:
3111 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3113 * docs/gst/Makefile.am:
3114 And remove those libs here.
3116 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3118 * docs/libs/Makefile.am:
3119 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3121 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3123 Patch by: Olivier Crete <tester at tester dot ca>
3125 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3126 Add the min-threshold to the min latency if possible. Fixes #529148.
3128 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3130 * docs/gst/gstreamer.types.in:
3131 Stupid editor, I removed that line as it should go in yet.
3133 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3135 * docs/gst/gstreamer.types.in:
3136 * docs/libs/gstreamer-libs.types:
3137 Remove library types fro core docs and have them in libs docs.
3138 Reformat and cleanup. Add comment for miniobject types.
3140 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3142 * gst/gsturi.c: (gst_uri_get_protocol):
3143 Fix leak: g_strdown operates on the string in place, while
3144 g_ascii_strdown() returns a newly-allocated string.
3146 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3148 * tools/gst-inspect.c: (print_uri_handler_info),
3149 (print_element_info):
3150 Print the URI protocols and the URI type supported by the element.
3152 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3154 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3155 Use g_value_take_string() instead of the deprecated
3156 g_value_set_string_take_ownership().
3158 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3160 * gst/gstregistrybinary.c: (_gst_crc32):
3161 Return the old CRC instead of 0 if we give a NULL buffer
3162 or a buffer with a length of 0.
3164 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3166 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3167 (gst_uri_get_protocol), (gst_uri_has_protocol),
3168 (gst_uri_construct), (gst_uri_handler_set_uri):
3169 A valid URI scheme can also include '+', '-' and '.' additional
3170 to alphanumeric characters as per RFC 3986 Section 3.1.
3172 Handle URI schemes case insensitive in all places and convert
3173 to lower-case when constructing an URI or setting an URI with
3174 the GstURIHandler interface. Fixes bug #528868.
3175 All elements can still assume (as before) that they will
3176 get passed URIs with a lower-case URI scheme by the GstURIHandler
3179 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3181 * gst/gstcaps.c: (gst_static_caps_get):
3182 * gst/gstclock.c: (gst_clock_entry_new):
3183 Don't use g_atomic_set_int where it's not needed.
3185 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3187 * gst/gstvalue.c: (gst_value_deserialize_caps):
3188 * gst/parse/grammar.y:
3191 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3193 * gst/gstutils.c: (gst_atomic_int_set):
3194 Use g_atomic_int_set() here too instead of assignment +
3197 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3201 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3202 now that we depend on new enough GLib.
3204 * gst/gstcaps.c: (gst_static_caps_get):
3205 * gst/gstclock.c: (gst_clock_entry_new):
3206 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3207 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3208 (gst_debug_category_set_threshold):
3209 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3210 (gst_base_sink_set_qos_enabled):
3211 * libs/gst/net/gstnettimeprovider.c:
3212 (gst_net_time_provider_set_property):
3213 Use g_atomic_int_set() instead of gst_atomic_int_set().
3215 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3218 Also use G_GINT64_CONSTANT for the queries.
3220 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3223 Use G_GINT64_CONSTANT in varargs function.
3225 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3227 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3228 Initialize the registry magic with zeroes.
3230 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3232 * gst/gstregistrybinary.c: (_gst_crc32),
3233 (gst_registry_binary_write),
3234 (gst_registry_binary_initialize_magic),
3235 (gst_registry_binary_write_cache),
3236 (gst_registry_binary_check_magic),
3237 (gst_registry_binary_read_cache):
3238 * gst/gstregistrybinary.h:
3239 Add crc32 checksum to the binary registry file and check this before
3240 accepting a registry file.
3242 Also free the data list when writing to the registry file fails.
3244 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3246 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3247 (gst_registry_binary_load_feature),
3248 (gst_registry_binary_load_plugin):
3249 If an element supports the Uri interface, returns a valid pointer
3250 to the supported URI protocols but this pointer contains nothing
3251 don't try to save that as it will corrupt the registry.
3253 Don't unref the plugin if we added it to the registry already but
3254 fail to load a feature as gst_registry_add_plugin() takes ownership
3257 Improve debugging a bit.
3259 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3262 Clarify some tag item docs after discussion on irc.
3264 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3266 * docs/gst/gstreamer-docs.sgml:
3267 Remove commented out plugins (they have their own docs). Update
3270 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3272 * docs/gst/gstreamer-docs.sgml:
3273 * docs/gst/gstreamer-sections.txt:
3274 * gst/gstparamspecs.c:
3275 * gst/gstparamspecs.h:
3276 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3277 docs to own section.
3280 This now only documents GValue.
3282 * docs/libs/gstreamer-libs-sections.txt:
3283 * libs/gst/controller/gstcontroller.h:
3284 Remove GST_PARAM_CONTROLLABLE.
3286 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3289 Correct file path. Tell about how to use -overrides.txt.
3290 * docs/design/draft-tagreading.txt:
3291 Small design update.
3293 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3295 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3296 (gst_registry_binary_load_plugin):
3297 Fix a typo in a debug message and revert change from yesterday as
3298 gst_registry_add_plugin() will only fail if something is really wrong
3299 already and we can't survive it anyway.
3301 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3303 * gst/gst.c: (init_post), (gst_deinit):
3304 Pre-register GstGError GType from a thread-safe context
3305 (fixes #527967); unref enum type classes in deinit.
3307 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3309 Patch by: Rene Stadler <mail at renestadler de>
3311 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3312 Merging an empty list with another list in KEEP_ALL mode should
3313 yield an empty list as result and not the second list (#512578).
3315 * tests/check/gst/gsttagsetter.c:
3316 Add unit test for tag merge modes and the aforementioned bug.
3318 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3320 Patch by: Rene Stadler <mail at renestadler de>
3323 Fix description to match the order in the table (#512577).
3325 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3327 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3329 * libs/gst/net/gstnettimepacket.h:
3330 * docs/libs/gstreamer-libs-sections.txt:
3331 Define socklen_t as int if it's not defined yet. Fixes compilation
3332 with MSVC6 and other versions where socklen_t is not defined in
3333 the windows headers (#518022).
3335 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3337 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3338 If gst_registry_add_plugin() fails our reference to the plugin is
3339 invalid so don't try to use it anymore and instead error out.
3341 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3343 * tools/gst-xmlinspect.c: (print_element_info), (main):
3344 De-cruft a bit. If no argument is specified, print all elements in
3345 XML syntax rather than a freestyle list of elements like gst-inspect.
3346 Also, don't print XML header chunk unless we actually have something
3347 to print (ie. don't print it before an error message); print error
3348 message to stderr not stdout. Remove support for printing plugin
3349 info (it would just output something freestyle along the lines of
3350 gst-inspect so far), which fixes #514507. Also add license header.
3352 2008-04-11 Julien Moutte <julien@fluendo.com>
3355 * configure.ac: Merge platform specific defines, introduce a new
3356 define on OS X to remember that forking when updating registry is
3358 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3360 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3362 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3363 condition that leads to absolutely no plugins being registered on
3366 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3368 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3370 * gst/gstutils.c: (gst_pad_add_data_probe),
3371 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3372 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3373 (gst_pad_add_buffer_probe_full):
3375 * docs/gst/gstreamer-sections.txt:
3376 * win32/common/libgstreamer.def:
3377 Add gst_pad_add_*_probe_full() functions with a notify callback that
3378 lets the caller free the data it passes to the probe functions. This
3379 is useful for bindings such as gst-python or gstreamermm (#526814).
3380 API: gst_pad_add_data_probe_full
3381 API: gst_pad_add_buffer_probe_full
3382 API: gst_pad_add_event_probe_full
3384 * tests/check/gst/gstutils.c:
3385 Add minimal unit test to make sure freeing the data actually works
3388 * tests/benchmarks/.cvsignore:
3389 Random cvsignore addendum.
3391 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3393 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3394 (GST_DEBUG_BIN_TO_DOT_FILE):
3395 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3396 to it in the docs (since these are macros the types of the arguments
3397 won't be shown in the docs otherwise).
3399 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3402 Do not abort on out of memory for pad_alloc_buffer.
3404 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3406 * libs/gst/check/gstcheck.c:
3407 Remove blank line between symbol name ad parameters to fix gtkdoc
3410 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3412 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3414 * docs/gst/gstreamer-sections.txt:
3417 * win32/common/libgstreamer.def:
3418 Expose gst_segment_copy() to make things easier for the c++ bindings.
3420 API: gst_segment_copy()
3422 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3424 * gst/gst.c: (gst_init_get_option_group), (init_post):
3425 Fix const position; ref GType classes for enum types to work
3426 around thread-safety issues in GLib versions < 2.16.
3428 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3430 * docs/design/part-buffering.txt:
3431 Fix some typos and set the estimated total for push mode to -1.
3433 * gst/gstquery.c: (gst_query_new_buffering):
3434 Set buffering-left to 0 as we're not buffering by default.
3436 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3437 Implement BUFFERING query.
3439 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3441 Based on patch by: Milosz Derezynski <internalerror gmail com>
3443 * gst/gsterror.c: (_gst_stream_errors_init):
3445 Add two new error codes for encrypted content. Fixes #524659.
3446 API: GST_STREAM_ERROR_DECRYPT
3447 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3449 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3454 * win32/common/libgstreamer.def:
3457 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3459 * plugins/elements/gstidentity.c: (gst_identity_event),
3460 (gst_identity_start):
3461 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3462 event after processing some data. Fixes bug #526042.
3464 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3466 * docs/gst/gstreamer-sections.txt:
3467 * gst/gstquery.c: (gst_query_parse_latency),
3468 (gst_query_set_buffering_percent),
3469 (gst_query_parse_buffering_percent),
3470 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3472 Rename _avail -> _range
3473 API: gst_query_set_buffering_range
3474 API: gst_query_parse_buffering_range
3476 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3478 * docs/design/part-buffering.txt:
3481 * gst/gstquery.c: (gst_query_parse_latency),
3482 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3483 (gst_query_parse_buffering_percent):
3485 Add busy field and quark for the buffering query so that the app can
3486 only use the query to see if buffering is in progress.
3488 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3490 * docs/gst/gstreamer-sections.txt:
3491 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3492 (gst_message_parse_buffering_stats):
3494 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3495 (gst_query_parse_latency), (gst_query_new_buffering),
3496 (gst_query_set_buffering_percent),
3497 (gst_query_parse_buffering_percent),
3498 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3499 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3501 Reorder the message docs and headers for clarity.
3502 Add aditional buffering stats API for messages.
3503 Add buffering query.
3504 Convert some leftover queries to use GstQuark.
3505 API: gst_message_set_buffering_stats
3506 API: gst_message_parse_buffering_stats
3507 API: GST_QUERY_BUFFERING
3508 API: GstBufferingMode
3509 API: gst_query_new_buffering
3510 API: gst_query_set_buffering_percent
3511 API: gst_query_parse_buffering_percent
3512 API: gst_query_set_buffering_stats
3513 API: gst_query_parse_buffering_stats
3515 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3517 * gst/gstmessage.c: (gst_message_new_error),
3518 (gst_message_new_warning), (gst_message_new_info),
3519 (gst_message_new_buffering), (gst_message_new_state_changed),
3520 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3521 (gst_message_new_new_clock), (gst_message_new_segment_start),
3522 (gst_message_new_segment_done), (gst_message_new_duration),
3523 (gst_message_new_async_start), (gst_message_parse_buffering),
3524 (gst_message_parse_state_changed),
3525 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3526 (gst_message_parse_new_clock), (gst_message_parse_error),
3527 (gst_message_parse_warning), (gst_message_parse_info),
3528 (gst_message_parse_segment_start),
3529 (gst_message_parse_segment_done), (gst_message_parse_duration),
3530 (gst_message_parse_async_start):
3531 Use GstQuark for messages.
3533 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3535 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3537 Add some more quarks needed for messages and queries.
3539 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3541 * docs/design/part-buffering.txt:
3542 Remove the "none" buffering mode, STREAM is a good default.
3543 Move estimated-time to the avail query, that's when it will be needed.
3544 Other small typo fixes and updates.
3546 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3548 * gst/gstindex.c: (gst_index_resolver_get_type):
3549 Don't put descriptions into the nick field of a GEnumValue: it's not
3550 meant for that and some language bindings rely on the nick field to
3551 construct constants and the like. Fixes #526705.
3553 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3558 Merge other changes from 0.10.19 release branch.
3560 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3562 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3565 Actually build dlls when cross-compiling with mingw32.
3568 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3570 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3573 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3575 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3577 * docs/design/draft-latency.txt:
3580 * docs/design/part-buffering.txt:
3581 Update design docs with more buffering ideas.
3583 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3586 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3588 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3591 Revert part that belongs to the preset patch.
3593 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3596 Add qoutes to the define. Fixes # 525961.
3598 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3600 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3601 (gst_file_index_load), (gst_file_index_add_id),
3602 (gst_file_index_get_assoc_entry):
3603 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3604 (gst_mem_index_free_id), (gst_mem_index_add_id),
3605 (gst_mem_index_index_format):
3606 Use GSlice when possible.
3608 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3610 * libs/gst/controller/gstinterpolationcontrolsource.c:
3611 (gst_control_point_free),
3612 (gst_interpolation_control_source_set_internal):
3613 Use GSlice for allocating the control points.
3615 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3617 * plugins/elements/gsttypefindelement.c:
3618 (gst_type_find_element_class_init),
3619 (gst_type_find_element_set_property),
3620 (gst_type_find_element_get_property),
3621 (gst_type_find_element_activate):
3622 * plugins/elements/gsttypefindelement.h:
3624 Fix pad leak when peer query fails.
3625 We can still typefind when the peer returns -1.
3626 Add property to force caps and bypass typefinding. This will be used in
3630 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3635 * gst/glib-compat-private.h:
3636 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3637 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3638 Unconditionally use GSlice for allocation.
3640 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3641 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3642 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3643 (gst_structure_free):
3644 Use GSlice for allocation.
3646 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3648 * gst/parse/Makefile.am:
3649 * gst/parse/grammar.tab.pre.c:
3650 * gst/parse/grammar.tab.pre.h:
3651 * gst/parse/lex._gst_parse_yy.pre.c:
3652 Require a new enough flex and bison and remove the parser hacks to use
3653 a pre-regenerated version.
3655 2008-04-01 Julien Moutte <julien@fluendo.com>
3657 patch by: Jason Zhao <E3423C@motorola.com>
3659 * configure.ac: Add a configure switch to disable option parsing
3663 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3666 * gst/gstregistry.c:
3667 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3668 and handle this case.
3671 Add a comment here describing, why we stat each plugin and not try to
3674 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3676 * libs/gst/base/gstbasetransform.c:
3677 (gst_base_transform_prepare_output_buffer):
3678 Also unset the GAP flag on buffers if we're working inplace but
3679 the element is not GAP-aware.
3681 Mark a comment as FIXME 0.11.
3683 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3686 Fix type in log message and add one to ease seeing how long registry
3687 cache verification takes.
3689 * gst/gstregistry.c:
3690 Only test plugin filenames against G_MODULE_SUFFIX.
3692 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3694 * gst/gstdebugutils.c:
3695 Improve handling ghost/proxy pads.
3697 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3699 * docs/gst/gstreamer-sections.txt:
3702 Expose macro to docs and fix link to it.
3704 2008-03-27 Michael Smith <msmith@fluendo.com>
3706 * libs/gst/dataprotocol/dataprotocol.c:
3707 (gst_dp_packet_from_event_1_0):
3708 When calculating GDP body CRC, use the correct pointer.
3709 Fixes part of #522401.
3711 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3713 Patch by: Mark Nauwelaerts <manauw at skynet be>
3715 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3716 (gst_identity_init), (gst_identity_prepare_output_buffer):
3717 Identity is not always a passthrough element, it can modify the buffer
3718 timestamps when it has a datarate and operates in single-segment mode.
3719 We therefore make it an in_place filter with a custom buffer prepare
3720 function that conditionally makes the input buffer metadata writable
3721 when needed. Fixes #523985.
3723 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3725 Patch by: Mark Nauwelaerts <manauw at skynet be>
3728 * libs/gst/base/gstbasesrc.h:
3729 * libs/gst/base/gstbasetransform.c:
3730 * libs/gst/check/gstcheck.c:
3731 Small documentation fixes. Fixes #523978.
3733 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3735 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3736 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3737 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3739 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3741 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3742 (single_queue_underrun_cb):
3743 When trying to make room in the queue, bump the max allowed buffers
3744 bigger than the current amount of buffers in the queue. this fixes some
3745 nasty deadlocks in multiqueue when dynamically changing the limits of
3748 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3750 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3752 * gst/gstcaps.c: (gst_caps_set_simple),
3753 (gst_caps_set_simple_valist), (gst_caps_intersect):
3755 Constify the field gchar * params in set_simple and friends.
3758 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3760 * gst/gstvalue.c: (gst_value_transform_object_string):
3761 Transform a GstObject to a more meaningfull string that includes the
3762 object type in addition to its name.
3764 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3767 ChangeLog surgery to add bugnumber to commit.
3769 2008-03-23 Rene Stadler <mail@renestadler.de>
3771 * libs/gst/base/gstbasetransform.c:
3772 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3774 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3776 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3777 Rename constant everywhere and don't forget one occurence.
3779 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3781 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3782 Align memory to the pointer size even if the architecture allows
3783 unaligned memory access. Unaligned memory access usually comes with
3784 performance penality.
3786 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3788 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3789 (gst_registry_binary_check_magic),
3790 (gst_registry_binary_load_pad_template),
3791 (gst_registry_binary_load_feature),
3792 (gst_registry_binary_load_plugin):
3793 Align memory to the pointer size instead of always 32 bit. Fixes
3794 unaligned memory accesses on ia64 and friends.
3796 * gst/gstregistrybinary.h:
3797 Bump binary registry format version for this as it changes the
3798 format on those architectures that don't have unaligned access
3799 and 64 bit pointers.
3801 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3803 * docs/pwg/advanced-dparams.xml:
3804 * docs/pwg/building-props.xml:
3805 * docs/pwg/other-source.xml:
3806 * gst/glib-compat.h:
3807 * gst/gstbin.c: (gst_bin_class_init):
3808 * gst/gstclock.c: (gst_clock_class_init):
3809 * gst/gstindex.c: (gst_index_class_init):
3810 * gst/gstobject.c: (gst_object_class_init):
3811 * gst/gstpad.c: (gst_pad_class_init):
3812 * gst/gstpipeline.c: (gst_pipeline_class_init):
3813 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3814 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3815 * libs/gst/base/gstbasetransform.c:
3816 (gst_base_transform_class_init):
3817 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3818 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3819 (_gst_check_fault_handler_sighandler),
3820 (_gst_check_fault_handler_setup), (gst_check_init):
3821 * libs/gst/controller/gstcontroller.c:
3822 (_gst_controller_class_init):
3823 * libs/gst/controller/gstlfocontrolsource.c:
3824 (gst_lfo_control_source_class_init):
3825 * libs/gst/net/gstnetclientclock.c:
3826 (gst_net_client_clock_class_init):
3827 * libs/gst/net/gstnettimeprovider.c:
3828 (gst_net_time_provider_class_init):
3829 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3830 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3831 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3832 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3833 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3834 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3835 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3836 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3837 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3838 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3839 * plugins/elements/gsttee.c: (gst_tee_class_init):
3840 * plugins/elements/gsttypefindelement.c:
3841 (gst_type_find_element_class_init):
3842 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3843 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3844 use it everywhere for GParamSpecs that use static strings (i.e. all).
3845 This gives us less memory usage, fewer allocations and thus less
3846 memory defragmentation. Fixes bug #523806.
3848 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3850 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3851 (gst_param_spec_mini_object):
3852 * gst/gstminiobject.h:
3853 * win32/common/libgstreamer.def:
3854 * docs/gst/gstreamer-sections.txt:
3855 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3856 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3857 GstParamSpecMiniObject into a public header for this.
3859 This make GstMiniObject a bit more consistent with GObject and makes
3860 it possible to extend the param specs.
3862 gst_value_dup_mini_object is mainly useful for set_property methods.
3866 * tools/gst-inspect.c: (print_element_properties_info):
3867 Print something useful for GstMiniObject properties and not just
3870 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3872 * docs/gst/gstreamer-sections.txt:
3873 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3874 (gst_registry_binary_check_magic):
3875 * gst/gstregistrybinary.h:
3876 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3877 and add it to the (private part) of the docs to fix the build.
3879 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3881 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3882 (gst_registry_binary_check_magic),
3883 (gst_registry_binary_read_cache):
3884 * gst/gstregistrybinary.h:
3885 Don't use GST_MAJORMINOR for the binary registry version. Instead
3886 hardcode a value that must be changed whenever the format changes
3887 in an incompatible way.
3888 Also don't GST_ERROR when there is a version mismatch, just
3889 regenerate the registry silently.
3891 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3894 Back to development - 0.10.18.1
3896 === release 0.10.18 ===
3898 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
3901 releasing 0.10.18, "So far away"
3903 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
3906 * win32/common/config.h:
3907 0.10.17.4 pre-release
3909 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
3911 Patch by: Ole André Vadla Ravnås
3912 <ole dot andre dot ravnas at tandberg dot com>
3914 * docs/gst/gstreamer-sections.txt:
3915 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3916 (gst_poll_update_winsock_event_mask),
3917 (gst_poll_prepare_winsock_active_sets),
3918 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3919 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3920 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3921 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3922 (gst_poll_check_ctrl_commands), (gst_poll_wait):
3924 * win32/common/libgstreamer.def:
3925 Add new function gst_poll_fd_ignored() for improved Windows
3927 Various minor fixes and cleanups. See #520808.
3929 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
3931 * gst/gstindex.c: (gst_index_entry_free):
3933 Don't free key strings which we don't own. Fixes crash in
3934 gst_index_entry_free() (#522741).
3936 * tests/check/Makefile.am:
3937 * tests/check/gst/.cvsignore:
3938 * tests/check/gst/gstindex.c: (test_index_entries),
3939 (gst_index_suite), (gst_index):
3940 Add unit test for the above.
3942 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
3944 * win32/common/libgstreamer.def:
3945 Remove symbols that were removed recently. Fixes bug #521740.
3947 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
3950 * win32/common/config.h:
3951 0.10.17.3 pre-release
3953 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
3955 Patch by: Ole André Vadla Ravnås
3956 <ole dot andre dot ravnas at tandberg dot com>
3958 * docs/gst/gstreamer-sections.txt:
3959 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3960 (gst_poll_update_winsock_event_mask), (gst_poll_new),
3961 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3962 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3963 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3964 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3965 (gst_poll_fd_can_write), (gst_poll_wait),
3966 (gst_poll_set_controllable), (gst_poll_restart),
3967 (gst_poll_set_flushing):
3969 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3970 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3971 (gst_net_time_provider_new):
3972 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3973 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3974 * tests/benchmarks/gstpollstress.c: (main):
3975 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3976 Remove GstPollMode from the API, it does not make sense to let the
3977 application control this.
3978 Add support for Win32.
3979 Fix the testsuite. Fixes #520671.
3981 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
3983 Patch by: Ole André Vadla Ravnås
3984 <ole dot andre dot ravnas at tandberg dot com>
3986 * gst/gstregistrybinary.c:
3987 Include io.h for write() and close() when building with MSVC. Fixes
3990 2008-03-07 Stefan Kost <ensonic@users.sf.net>
3993 * gst/gst_private.h:
3994 * gst/gstconfig.h.in:
3995 * gst/gstregistry.h:
3996 * gst/gstregistrybinary.c:
3997 * win32/common/gstconfig.h:
3998 Move registry backend API to private headers where we can. Add
3999 fixme-0.11 comments for the others. Add stubs for the xml backend when
4000 using the binary to ensure they functions exists (they should not be
4001 used though). Fixes #520756.
4003 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4006 * win32/common/config.h:
4009 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4011 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4012 (gst_registry_binary_read_cache):
4013 * gst/gstregistryxml.c: (gst_registry_save):
4014 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4015 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4016 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4017 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4018 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4021 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4023 * gst/gstminiobject.c:
4024 Import gst_private.h before any other header that might include other
4025 glib headers. This fixes the build on windows using native compilers.
4027 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4029 * win32/common/gstconfig.h:
4030 Add here too, just for completeness.
4032 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4035 * gst/gstconfig.h.in:
4036 * gst/gstregistry.h:
4037 Fix broken use of config.h-defined preprocessor directive in a public
4038 header file. Add a corresponding define to gstconfig.h, since we can't
4039 really remove those function declarations from the header file now
4040 (or can we? and why are they there in the first place?).
4042 2008-03-03 Andy Wingo <wingo@pobox.com>
4044 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4047 * gst/gststructure.c (gst_structure_from_string): Warn if
4048 structure_from_string didn't consume the whole string, but the
4049 caller did not provide an end pointer.
4051 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4053 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4055 * gst/gstregistryxml.c: (read_string), (load_feature):
4056 Strings allocated by libxml2 should be freed with xmlFree(), not
4057 with g_free(). Fixes issues on windows in certain contexts (#519698).
4059 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4061 * gst/gstinterface.c: (gst_element_implements_interface):
4062 Don't crash if the element supports the interface queried, but does
4063 not implement GstImplementsInterface. Fixes #519584.
4065 * tests/check/Makefile.am:
4066 * tests/check/gst/.cvsignore:
4067 * tests/check/gst/gstinterface.c:
4068 Add unit test for the above.
4070 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4072 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4075 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4077 * gst/gstsegment.c: (gst_segment_set_seek),
4078 (gst_segment_to_stream_time):
4079 Improve some comment.
4080 Update variables where it makes more sense.
4082 2008-02-29 Rene Stadler <mail@renestadler.de>
4084 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4085 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4086 URIHandlers implemented using language bindings.
4088 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4090 * gst/gstelementfactory.h:
4091 * tests/check/elements/fakesink.c:
4092 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4093 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4094 * tests/check/elements/filesink.c: (setup_filesink):
4095 * tests/check/elements/filesrc.c: (setup_filesrc):
4096 * tests/check/elements/identity.c: (setup_identity):
4097 * tests/check/elements/tee.c:
4098 * tests/check/generic/sinks.c:
4099 * tests/check/generic/states.c: (setup), (teardown):
4100 * tests/check/gst/gst.c:
4101 * tests/check/gst/gstabi.c:
4102 * tests/check/gst/gstbin.c:
4103 * tests/check/gst/gstbus.c: (pull_messages):
4104 * tests/check/gst/gstcaps.c:
4105 * tests/check/gst/gstelement.c:
4106 * tests/check/gst/gstevent.c:
4107 * tests/check/gst/gstghostpad.c:
4108 * tests/check/gst/gstiterator.c:
4109 * tests/check/gst/gstmessage.c:
4110 * tests/check/gst/gstminiobject.c: (my_foo_init):
4111 * tests/check/gst/gstobject.c: (thread_name_object),
4113 * tests/check/gst/gstpad.c:
4114 * tests/check/gst/gstplugin.c:
4115 * tests/check/gst/gstpoll.c:
4116 * tests/check/gst/gstquery.c:
4117 * tests/check/gst/gstsegment.c:
4118 * tests/check/gst/gststructure.c:
4119 * tests/check/gst/gstsystemclock.c:
4120 * tests/check/gst/gsttask.c:
4121 * tests/check/gst/gstutils.c:
4122 * tests/check/gst/gstvalue.c:
4123 * tests/check/gst/struct_hppa.h:
4124 * tests/check/gst/struct_i386.h:
4125 * tests/check/gst/struct_ppc32.h:
4126 * tests/check/gst/struct_ppc64.h:
4127 * tests/check/gst/struct_x86_64.h:
4128 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4129 * tests/check/libs/basesrc.c:
4130 * tests/check/libs/controller.c: (GST_START_TEST):
4131 * tests/check/libs/gdp.c:
4132 * tests/check/libs/gstnetclientclock.c:
4133 * tests/check/libs/gstnettimeprovider.c:
4134 * tests/check/libs/libsabi.c:
4135 * tests/check/libs/struct_hppa.h:
4136 * tests/check/libs/struct_i386.h:
4137 * tests/check/libs/struct_ppc32.h:
4138 * tests/check/libs/struct_ppc64.h:
4139 * tests/check/libs/struct_x86_64.h:
4140 * tests/check/pipelines/cleanup.c:
4141 * tests/check/pipelines/simple-launch-lines.c:
4142 * tests/check/pipelines/stress.c:
4143 And correct even more valid sparse warnings.
4145 * win32/common/libgstreamer.def:
4146 Add gst_poll_fd_init to the list of symbols.
4148 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4150 * gst/gstconfig.h.in:
4151 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4152 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4153 (gst_check_log_critical_func), (gst_check_drop_buffers),
4154 (gst_check_element_push_buffer_list):
4155 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4156 (gst_controller_get_type):
4157 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4158 (gst_object_get_controller), (gst_object_get_control_source):
4159 * libs/gst/controller/gstinterpolationcontrolsource.c:
4160 (gst_interpolation_control_source_new):
4161 * libs/gst/controller/gstlfocontrolsource.c:
4162 (gst_lfo_control_source_new):
4163 * libs/gst/dataprotocol/dataprotocol.c:
4164 (gst_dp_event_from_packet_0_2):
4165 * plugins/elements/gstfdsrc.c:
4166 * plugins/elements/gstmultiqueue.c:
4167 * plugins/elements/gsttee.c:
4168 * plugins/elements/gsttypefindelement.c:
4169 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4170 (gst_file_index_add_association):
4171 * plugins/indexers/gstmemindex.c:
4172 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4173 * tests/check/elements/queue.c: (setup_queue):
4174 * tests/check/gst/gstpipeline.c:
4175 * tests/check/libs/collectpads.c: (setup), (teardown),
4176 (gst_collect_pads_suite):
4177 * tests/examples/adapter/adapter_test.c:
4178 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4179 * tests/examples/xml/createxml.c:
4180 * tests/examples/xml/runxml.c:
4181 * tools/gst-inspect.c:
4183 Correct all relevant warnings found by the sparse semantic code
4184 analyzer. This include marking several symbols static, using
4185 NULL instead of 0 for pointers, not using variable sized arrays
4186 on the stack, moving variable declarations to the beginning of
4187 a block and using "foo (void)" instead of "foo ()" for declarations.
4189 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4191 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4192 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4193 Don't reset GstPollFDs, this is not necessary at all.
4195 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4196 (delayed_restart), (delayed_control):
4197 Use GST_POLL_FD_INIT.
4199 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4201 * gst/gstpoll.c: (gst_poll_fd_init):
4205 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4206 Use some more init macros.
4208 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4210 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4211 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4212 Use init macros and functions.
4214 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4216 * docs/gst/gstreamer-sections.txt:
4217 * gst/gstpoll.c: (gst_poll_fd_init):
4219 Add INIT macro and _init method for initializing the GstPollFD.
4221 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4223 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4224 (gst_fd_sink_update_fd):
4225 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4226 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4227 (delayed_restart), (delayed_control):
4228 Initialize some uninitialized variables as spotted by valgrind.
4230 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4232 * tests/benchmarks/Makefile.am:
4233 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4235 Add poll stress test.
4237 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4239 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4241 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4242 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4243 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4244 * plugins/elements/gstfdsink.h:
4245 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4246 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4247 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4248 (gst_fd_src_uri_set_uri):
4249 * plugins/elements/gstfdsrc.h:
4250 Port to GstPoll. See #505417.
4252 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4254 * win32/common/libgstreamer.def:
4255 Add new gst_poll_ symbols to win32 defs.
4257 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4259 * docs/libs/gstreamer-libs-sections.txt:
4260 * libs/gst/net/gstnetclientclock.c:
4261 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4262 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4263 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4264 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4265 * libs/gst/net/gstnetclientclock.h:
4266 * libs/gst/net/gstnettimeprovider.c:
4267 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4268 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4269 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4270 (gst_net_time_provider_new):
4271 * libs/gst/net/gstnettimeprovider.h:
4272 Use a private stuct to not break ABI.
4274 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4276 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4278 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4279 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4280 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4281 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4282 * libs/gst/net/gstnetclientclock.h:
4283 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4284 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4285 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4286 (gst_net_time_provider_new):
4287 * libs/gst/net/gstnettimeprovider.h:
4288 Massive code removal and cleanups because of GstPoll.
4291 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4294 Add checks for poll, ppoll and pselect.
4296 * docs/gst/gstreamer-docs.sgml:
4297 * docs/gst/gstreamer-sections.txt:
4298 Add docs for GstPoll.
4302 * gst/gstpoll.c: (find_index), (selectable_fds),
4303 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4304 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4305 (gst_poll_set_mode), (gst_poll_get_mode),
4306 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4307 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4308 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4309 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4310 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4311 (gst_poll_fd_can_write), (gst_poll_wait),
4312 (gst_poll_set_controllable), (gst_poll_restart),
4313 (gst_poll_set_flushing):
4315 Add generic poll abstraction. We ideally don't want to have this in core
4316 here but in glib intead...
4317 This code will be used in various network elements and ultimately for
4318 the nanosecond precision monotonic clock (that's why it's here in core).
4319 It'll allow us to implement cancelable socket operations for windows too.
4321 * tests/check/Makefile.am:
4322 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4323 (delayed_stop), (delayed_restart), (delayed_flush),
4324 (delayed_control), (gst_poll_suite):
4325 Add GstPoll unit test.
4327 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4330 Improve documentation of gst_filter_run(). Fixes #518627.
4332 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4335 Add a few lines about the new 'check-inspected-versions' target.
4337 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4339 * tests/check/gst/gstevent.c:
4340 Add qos to the event test. Rename tcase/tsuite; is not only about
4343 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4345 * plugins/elements/gstqueue.c:
4346 Ensure that buffer metadata is writeable, before modifying. Spotted by
4349 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4351 * plugins/elements/gstqueue.c:
4352 * plugins/elements/gstqueue.h:
4353 When dropping buffers in leaky modes, mark next buffers we sent as
4356 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4358 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4359 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4361 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4363 * plugins/elements/Makefile.am:
4364 * plugins/elements/gstbufferstore.c:
4365 * plugins/elements/gstbufferstore.h:
4366 * plugins/elements/gsttypefindelement.h:
4367 Remove GstBufferStore, no idea why we were still building it.
4368 It's not used anywhere and superseded by GstAdapter.
4370 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4371 (gst_file_src_create_mmap):
4372 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4373 Printf format fixes for 64-bit integers.
4375 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4378 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4379 We're not in 0.8 times anymore.
4381 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4383 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4384 (gst_check_element_push_buffer_list):
4385 * libs/gst/check/gstcheck.h:
4386 Make the declaration in the header for
4387 gst_check_element_push_buffer_list match the implementation.
4389 Fix up spelling, grammar and wording of the documentation in a few
4390 places, and add the Since keyword to new API functions.
4391 Use g_list_delete_link instead of g_list_remove in
4392 gst_check_drop_buffers, since it's immeasurably more efficient.
4394 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4395 Use new gst_check_drop_buffers function where appropriate.
4397 * win32/common/libgstbase.def:
4398 * win32/common/libgstreamer.def:
4399 Add new symbols gst_collect_pads_take_buffer,
4400 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4403 Changelog surgery to add API keyword to new gst_check API.
4405 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4407 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4408 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4409 Update pre-generated flex files with flex 2.3.34.
4411 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4413 * gst/gstminiobject.c:
4414 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4415 friendly to subclasses and not require them to know all internals
4416 of their parent class.
4418 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4420 * docs/libs/gstreamer-libs-sections.txt:
4421 * libs/gst/base/gstcollectpads.c:
4422 * libs/gst/base/gstcollectpads.h:
4423 Add sub-buffer functions to collectpads. Fixes #516187.
4424 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4426 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4429 Copy selected buffer-flags when creating subbuffers.
4432 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4434 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4435 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4436 * gst/gstmessage.c: (gst_message_class_init),
4437 (gst_message_finalize):
4438 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4439 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4440 (gst_mmap_buffer_finalize):
4441 Properly chain up finalize functions to the parent class.
4443 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4445 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4447 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4448 (gst_index_set_resolver_full):
4450 Add new function with option to dispose of user_data in resolver.
4451 Actually call the dispose function when finalizing the object and not
4452 just when changing the resolver/filter.
4453 API: GstIndex::gst_index_set_resolver_full()
4455 * docs/gst/gstreamer-sections.txt:
4456 Add new function to docs. Fixes #515469.
4458 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4460 * gst/gstindex.c: (gst_index_finalize):
4461 Chain up finalize to the parent class. Fixes leaking the GstObject
4462 name and other things.
4464 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4467 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4468 pre-releases or releases.
4470 * docs/faq/gst-uninstalled:
4473 * docs/random/release:
4474 Change one of the steps - we only upload core & base to Gnome FTP
4476 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4478 * gst/gstconfig.h.in:
4479 Add 'id' for example.
4483 * plugins/elements/gstfdsink.c:
4484 Link to signals. Doc and comment fixes.
4486 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4488 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4489 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4490 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4491 unused and unimplemented; finally, it is plugin features, not
4492 plugins, that have ranks.
4494 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4496 * gst/gstpluginfeature.h:
4497 Clarify GstRank range docs.
4499 2008-02-05 David Schleef <ds@schleef.org>
4501 * gst/gst.c: Add a separate gst_deinitialized that prevents
4502 gst_init() from being called after gst_deinit(). Fixes #509559
4504 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4506 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4507 (gst_bin_class_init):
4508 * gst/gstelement.c: (gst_element_base_class_init),
4509 (gst_element_class_add_pad_template):
4510 * gst/gstpadtemplate.c: (gst_pad_template_init):
4511 * gst/gstpipeline.c: (gst_pipeline_get_type),
4512 (gst_pipeline_base_init), (gst_pipeline_class_init):
4513 * libs/gst/base/gstbasesink.c:
4514 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4515 (gst_base_src_base_init), (gst_base_src_class_init):
4516 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4517 (gst_capsfilter_class_init):
4518 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4519 (gst_fake_sink_class_init):
4520 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4521 (gst_fake_src_class_init):
4522 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4523 (gst_fd_sink_class_init):
4524 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4525 (gst_fd_src_class_init):
4526 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4527 (gst_file_sink_class_init):
4528 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4529 (gst_file_src_class_init):
4530 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4531 (gst_identity_class_init):
4532 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4533 (gst_multi_queue_class_init):
4534 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4535 (gst_queue_class_init):
4536 * plugins/elements/gsttee.c: (gst_tee_base_init),
4537 (gst_tee_class_init):
4538 * plugins/elements/gsttypefindelement.c:
4539 (gst_type_find_element_base_init),
4540 (gst_type_find_element_class_init):
4541 * tests/check/gst/gstelement.c: (gst_element_suite):
4542 Revert previous changes to the behaviour of GstPadTemplates, etc
4543 and the possiblity to call them in class_init as it breaks too
4544 many elements. Reopens bug #491501.
4546 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4549 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4551 * tools/gst-launch.c:
4552 Dump one graph per pipeline state-change and state change name
4553 (if GST_DEBUG_DUMP_DOT_DIR is set).
4555 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4558 * tests/check/gst/gstpad.c:
4559 Be sure that we have a new copy of the caps and not
4560 reffed caps from a template
4562 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4564 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4565 * gst/gstpipeline.c: (gst_pipeline_get_type),
4566 (gst_pipeline_class_init):
4567 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4568 (gst_base_sink_class_init):
4569 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4570 (gst_base_src_class_init):
4571 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4572 (gst_base_transform_class_init):
4573 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4574 (gst_collect_pads_class_init):
4575 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4576 * libs/gst/net/gstnettimeprovider.c:
4577 (gst_net_time_provider_base_init),
4578 (gst_net_time_provider_class_init):
4579 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4580 (gst_capsfilter_class_init):
4581 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4582 (gst_fake_sink_class_init):
4583 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4584 (gst_fake_src_class_init):
4585 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4586 (gst_fd_sink_class_init):
4587 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4588 (gst_fd_src_class_init):
4589 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4590 (gst_file_sink_class_init):
4591 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4592 (gst_file_src_class_init):
4593 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4594 (gst_identity_class_init):
4595 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4596 (gst_multi_queue_class_init):
4597 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4598 (gst_queue_class_init):
4599 * plugins/elements/gsttee.c: (gst_tee_base_init),
4600 (gst_tee_class_init):
4601 * plugins/elements/gsttypefindelement.c:
4602 (gst_type_find_element_base_init),
4603 (gst_type_find_element_class_init):
4604 Don't use base_init where not absolutely necessary. For example it's
4605 not necessary anymore for adding pad templates or setting element
4608 Leave empty base_init functions in several places as GST_BOILERPLATE
4609 still defines and uses them.
4611 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4613 * gst/gstelement.c: (gst_element_base_class_init),
4614 (gst_element_class_add_pad_template):
4615 * gst/gstpadtemplate.c:
4616 Make it possible (and recommended) to set element details and add
4617 pad templates in the class_init functions by copying the details/pad
4618 templates in GstElement's base_init.
4620 Also make it possible to replace existing pad templates by adding
4621 a new one with the same name. This was done in a hackish fashion
4622 in same elements before already.
4624 Don't reference pad templates that are added a second time. A
4625 new pad template has a refcount of one and is not floating anymore
4626 and to be owned by the element's class. Make this more explicit by
4627 mentioning it in the docs of gst_element_class_add_pad_template().
4629 These changes are backwards compatible. Fixes bug #491501.
4631 * tests/check/gst/gstelement.c:
4632 Add unit test for setting element details, adding pad templates and
4633 replacing them in a subclass.
4635 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4637 * tools/gst-inspect.c: (print_interfaces),
4638 (print_element_properties_info), (print_pad_info),
4639 (print_signal_info), (print_element_info):
4640 Fix a few memory leaks.
4642 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4644 * docs/libs/gstreamer-libs-sections.txt:
4645 * libs/gst/check/gstcheck.c:
4646 * libs/gst/check/gstcheck.h:
4647 Add more functions for unit testing: gst_check_drop_buffers,
4648 gst_check_caps_equal, gst_check_element_push_buffer_list,
4649 gst_check_element_push_buffer
4650 API: gst_check_drop_buffers
4651 API: gst_check_caps_equal
4652 API: gst_check_element_push_buffer_list
4653 API: gst_check_element_push_buffer
4655 2008-02-01 Julien Moutte <julien@fluendo.com>
4657 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4658 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4659 (gst_index_finalize), (gst_index_entry_free),
4660 (gst_index_add_association): Fix memory leaks.
4661 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4662 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4663 (gst_mem_index_free_format), (gst_mem_index_free_id),
4664 (gst_mem_index_finalize): Fix memory leaks.
4665 * win32/common/config.h: Updated to CVS HEAD.
4667 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4670 Some more details about how the plugin docs works.
4672 * docs/plugins/gstreamer-plugins-sections.txt:
4675 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4677 * gst/parse/grammar.tab.pre.c:
4678 * gst/parse/grammar.tab.pre.h:
4679 * gst/parse/grammar.y:
4680 * gst/parse/lex._gst_parse_yy.pre.c:
4681 Add delayed set-property. This allows to set properties on dynamicaly
4682 created objects (pads in videomxer). Fixes #509391.
4684 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4687 Check if caps are not NULL (fix bug #510194)
4689 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4691 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4692 (gst_base_sink_get_position_paused):
4693 Add fixme regarding EOS in pull mode.
4694 Fix position reporting in PAUSED for negative rates.
4696 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4698 * gst/gstminiobject.c: (gst_mini_object_replace):
4699 When replacing a miniobject, do a quick equality check first so that we
4700 can avoid a ref/unref pair.
4702 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4704 * docs/design/part-synchronisation.txt:
4707 * docs/plugins/Makefile.am:
4708 * docs/plugins/gstreamer-plugins-docs.sgml:
4709 * docs/plugins/gstreamer-plugins-sections.txt:
4710 * plugins/elements/gstmultiqueue.c:
4711 Add multiqueue to the docs.
4713 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4718 === release 0.10.17 ===
4720 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4723 releasing 0.10.17, "Due Negligence"
4725 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4728 Revert caps != NULL check temporarily for 0.10.17 release.
4730 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4733 Check if caps are not NULL (fix bug #510194)
4735 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4738 Fix compilation on systems that have posix timers but no
4741 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4744 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4746 * tools/gst-inspect.c:
4747 Revert previous commit in preparation for an impromptu 0.10.17 release
4749 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4751 * tools/gst-inspect.c: (print_interfaces),
4752 (print_element_properties_info), (print_pad_info),
4753 (print_signal_info), (print_element_info):
4754 Fix a few memory leaks.
4756 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4761 === release 0.10.16 ===
4763 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4766 releasing 0.10.16, "Special Dispensation"
4768 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4771 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4772 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4773 not fail when trying to crosscompile on OpenEmbedded (#511750).
4775 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4778 Use $(MAKE) instead of make to fix the build if GNU make is
4779 called different. Fixes bug #510747.
4781 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4783 * gst/gstplugin.c: (_gst_plugin_initialize):
4784 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4785 again, which I broke two commits ago when changing the API
4786 of gst_plugin_register_static(): the g_list_foreach() in
4787 _gst_plugin_register_static still assumed the old function
4788 signature and would therefore fail (re-fixes #510187).
4790 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4791 (_gst_plugin_register_static), (gst_plugin_register_static):
4792 Revert the (technically correct) change to call g_thread_init() from
4793 the pre-main() constructor. This will break programs which call
4794 g_thread_init() without an if (!g_thread_supported()) guard in their
4795 main function. We could just blame it on GLib or the application, but
4796 it's probably best to just avoid this altogether and simply not use
4797 any GLib functions here and use plain old malloc() with a simple
4798 array to store the plugins to register later when gst_init() is
4799 finally called (re-fixes #510187).
4801 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4802 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4803 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4804 (GST_START_TEST), (gst_plugin_suite):
4805 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4808 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4810 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4811 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4812 This makes gtk-doc complain, but results in slightly better
4813 compiler errors. The old _gst_plugin_register_static() is
4814 still guarded, so there'll be a compiler warning about that
4815 instead. Fixes #510187 too.
4817 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4819 * gst/gst.c: (init_post):
4820 * gst/gstplugin.c: (_gst_plugin_register_static),
4821 (gst_plugin_register_static), (_gst_plugin_initialize):
4822 * gst/gstplugin.h: (GstPluginFilter):
4823 Change API of gst_plugin_register_static() to not take
4824 a GstPluginDesc, but rather just take all the arguments
4825 in a GstPluginDesc directly. This is more intuitive and
4826 avoids certain mistakes when porting code from
4827 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4830 * tests/check/gst/gstplugin.c:
4831 Fix up for changed API.
4833 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4835 * docs/faq/legal.xml:
4836 Update FAQ, Totem actually has an exception these days.
4838 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4840 * win32/common/libgstreamer.def:
4841 Add new API declarations
4843 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4845 * gst/gstminiobject.c:
4846 Spelling fixes for the API docs.
4848 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4850 * libs/gst/base/gstbasetransform.c:
4851 Fix long property description for QoS.
4853 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4856 _gst_trace_on is already provided by gsttrace.h, no need to declare
4859 * docs/libs/gstreamer-libs-sections.txt:
4860 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4861 and remove strange tcase_add_test which is outputting a warning.
4863 * libs/gst/check/gstcheck.c:
4864 * libs/gst/check/gstcheck.h:
4865 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4866 and define them in gstcheck.c instead of having every .c file whcih
4867 includes gstcheck.h be defining its own copy and relying on symbol
4868 interposing to marry them all, which doesn't work on Solaris.
4870 * tests/check/elements/identity.c: (GST_START_TEST):
4871 Don't define 'buffers' locally, it comes from libgstcheck.
4873 * tests/check/generic/sinks.c: (send_buffer):
4874 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4876 * tests/check/gst/gststructure.c: (GST_START_TEST):
4877 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4878 * tests/check/gst/gstutils.c: (GST_START_TEST):
4879 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4880 Add a bunch of casts to make various constants fit the types
4881 they're being assigned to.
4883 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4885 * gst/gstchildproxy.c:
4886 Improve docs and add some ideas for making this more general-purpose.
4888 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4890 * gst/gst_private.h: (GST_CAT_TYPES):
4891 Add GST_CAT_TYPES, for consistency, and so that the other
4892 debug categories don't make fun of it. Spotted by Saur on IRC.
4894 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4896 * gst/parse/Makefile.am:
4897 Move types.h from EXTRA_DIST to noinst_HEADERS.
4899 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4902 Add -Wno-portability to the automake parameters to stop warnings
4903 about GNU make extensions being used. We require GNU make in almost
4904 every Makefile anyway.
4907 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4908 at the same time is required for per target flags.
4910 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4913 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4914 __GNUC__ is defined before using it.
4916 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4918 * docs/gst/gstreamer-sections.txt:
4919 * gst/gst.c: (init_post):
4920 * gst/gstplugin.c: (_gst_plugin_register_static),
4921 (gst_plugin_register_static), (_gst_plugin_initialize),
4922 (gst_plugin_register_func):
4923 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4924 API: add gst_plugin_register_static() and deprecate
4925 GST_PLUGIN_DEFINE_STATIC, since it's not portable
4927 Also, in _gst_plugin_register_static(), make sure to call
4928 g_thread_init() before calling GLib functions such as
4929 g_list_append() if we're not initialised yet, since that
4930 may lead to random crashes with older GSlice/GLib versions.
4932 * tests/check/gst/gstplugin.c:
4933 Adapt unit test to above changes.
4935 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4937 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4938 * gst/gstcaps.c: (gst_caps_to_string):
4939 * gst/gststructure.c: (GST_ASCII_IS_STRING),
4940 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4941 Yet another gratuitous GString micro-optimisation: add a (private)
4942 function that serialises a structure appending to an existing
4943 GString, so that when we serialise caps we don't need to alloc+free
4944 a throwaway GString for each structure (each of which also entailing
4945 multiple reallocs on the way); also use g_string_sized_new() in
4946 various places with an approximate string length to avoid reallocs
4947 within GString. See #500143.
4949 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4951 * gst/gststructure.c: (gst_structure_id_set_value):
4952 Always check UTF-8 conformance of structure strings and not only
4953 if the debugging system is enabled; reasoning: the behaviour of
4954 the actual code shouldn't really change depending on whether the
4955 debugging system is enabled or not (#508291).
4957 2008-01-09 Stefan Kost <ensonic@users.sf.net>
4960 Remove old coverage target in favour of "make lcov".
4962 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4964 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4965 (gst_base_src_loop):
4966 The start segment for reverse playback goes from start to last_stop.
4968 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4970 Patch by: Peter Kjellerstedt <pkj axis com>
4973 Cast the results from the timeval/spec_to_time macros to what the
4974 docs say it casts to, a GstClockTime. fixes #508175.
4976 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4979 Update some comments.
4981 * tools/gst-inspect.c: (print_element_properties_info):
4982 Improve printing of flags.
4984 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
4986 * libs/gst/base/gstbasetransform.c:
4987 (gst_base_transform_transform_size):
4988 Print element name with g_warning() if there's a problem
4991 2008-01-07 David Schleef <ds@schleef.org>
4993 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4995 * libs/gst/controller/gstcontroller.h:
4996 * libs/gst/controller/gstcontrolsource.h:
4997 * libs/gst/controller/gstinterpolationcontrolsource.h:
4998 * libs/gst/controller/gstlfocontrolsource.h:
4999 * libs/gst/dataprotocol/dataprotocol.h:
5000 Fix empty prototypes. Fixes bug #507957.
5002 2008-01-07 David Schleef <ds@schleef.org>
5004 * docs/faq/dependencies.xml: Fix typo.
5006 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5008 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5009 (gst_base_src_loop):
5010 Don't update the last_stop position in do_seek, that's the position we
5012 Read backwards when we have a negative rate.
5014 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5015 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5017 Add check for reverse reading.
5019 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5021 Patch by: Alexis Ballier <aballier at gentoo org>
5023 * tests/check/gst/gstabi.c:
5024 * tests/check/gst/struct_ppc64.h:
5025 * tests/check/libs/libsabi.c:
5026 * tests/check/libs/struct_ppc64.h:
5027 Decide which header to include based on the userland ABI target
5028 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5029 for 64-bit userland (#503590). Might need something similar for
5032 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5034 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5035 Log the reason why fopen fails in addition to the fact that it failed.
5037 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5039 * gst/parse/parse.l:
5040 Use "%option never-interactive" to prevent useless calls to isatty()
5041 on every input when parsing. Also use "%option noinput" to not define
5042 the static input/yyinput functions which we don't use anyway. This
5043 removes a compiler warning with gcc 4.3 and saves some bytes in the
5046 * gst/parse/lex._gst_parse_yy.pre.c:
5047 Regenerated for the above change.
5049 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5051 * gst/gstpad.c: (fixate_value):
5052 Don't crash when trying to fixate and empty list.
5055 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5057 * docs/faq/gst-uninstalled:
5058 Clarify the comments to make the usage of this script and what it
5059 does easier to understand.
5061 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5063 * tools/gst-plot-timeline.py:
5064 Add more options to gst-plot-timeline
5066 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5068 * docs/design/part-synchronisation.txt:
5069 Some more info on how the stream_time in GstBaseSink is done.
5071 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5073 * tests/check/generic/sinks.c: (gst_sinks_suite):
5074 Put back the tcase_set_timeout(), apparently it's needed after
5075 all; fix it up in a way that makes things work with valgrind too.
5077 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5079 * gst/gstdebugutils.c:
5080 Add warning when failed to open file for writing.
5082 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5084 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5086 * gst/gstvalue.c: (gst_value_is_fixed):
5087 Optimisation: bail out of the loop as early as possible (#500143).
5089 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5091 * gst/gstcaps.c: (gst_caps_to_string):
5092 * gst/gstinfo.c: (gst_debug_construct_term_color):
5093 * gst/gstparse.c: (gst_parse_launchv):
5094 * gst/gstutils.c: (gst_util_dump_mem):
5095 * gst/gstvalue.c: (gst_value_serialize_any_list),
5096 (gst_value_transform_any_list_string):
5097 Bunch of gratuitous nano-optimisations.
5099 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5101 * tests/check/generic/sinks.c: (async_done_func),
5102 (async_done_eos_func):
5103 Fix leak in unit test (bus sync handler must unref the message
5104 if it returns GST_BUS_DROP). Don't fiddle with the default test
5105 timeout, this is smaller than the current preconfigured value
5106 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5107 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5109 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5111 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5114 Check for stdio_ext.h for the filesink changes.
5116 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5117 (gst_file_sink_class_init), (gst_file_sink_init),
5118 (gst_file_sink_dispose), (gst_file_sink_set_property),
5119 (gst_file_sink_get_property), (gst_file_sink_open_file),
5120 (gst_file_sink_close_file):
5121 * plugins/elements/gstfilesink.h:
5122 Add two properties to control the buffering mode and size.
5123 API: GstFileSink::buffer-mode
5124 API: GstFileSink::buffer-size
5127 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5129 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5130 Add some more docs to explain why a FIXME was wrongly added.
5132 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5135 Fix typo in the gst_object_{ref,unref} documentation.
5137 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5139 * tests/check/libs/controller.c:
5140 * tests/check/libs/typefindhelper.c:
5141 * tests/check/pipelines/parse-launch.c:
5142 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5143 going to be deprecated (see #498924).
5145 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5147 * gst/gsttypefind.c: (gst_type_find_register):
5148 Make gst_type_find_register work for static typefind functions,
5149 ie. allow passing plugin == NULL (prerequisite for #498924).
5151 * gst/gstelementfactory.c: (gst_element_register):
5152 Small docs addition.
5154 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5156 * gst/gstpad.c: (gst_pad_dispose):
5157 Really unlink the peer pad instead of setting the peer pointer to NULL
5158 when we dispose the pad.
5159 This correctly calls the unlink functions and makes sure that the peer
5160 does not have a handle to invalid memory. See #504671.
5162 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5163 Add testsuite for above case.
5165 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5167 Patch by: Peter Kjellerstedt <pkj axis com>
5169 * libs/gst/check/gstcheck.h:
5170 Fix detection of the check version we're compiling against (would
5171 otherwise break if check goes v0.10.0); correctly report the
5172 name of the failed test again in case of failure, instead of
5173 just 'tf' (fixes #504499).
5175 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5177 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5178 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5179 (gst_base_src_loop), (gst_base_src_set_flushing),
5180 (gst_base_src_change_state):
5181 Allow sending EOS to the source to make it send out an EOS event from
5182 the streaming thread.
5183 Update docs and deprecate the old NULL/READY shutdown method.
5185 * tests/check/libs/basesrc.c: (GST_START_TEST),
5186 (gst_basesrc_suite):
5187 Add unit test for controlled shutdown.
5189 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5191 * docs/design/part-synchronisation.txt:
5194 * gst/gstsegment.c: (gst_segment_set_seek),
5195 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5196 (gst_segment_to_running_time):
5197 The seek format can be different from the segment format when the start
5198 and stop values are not to be updated, when we only do a rate change for
5201 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5202 (gst_segment_suite):
5203 Add a testcase for the rate-only seeks, checking that the format is
5204 correctly ignored when start and stop are not updated.
5206 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5208 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5210 * win32/vs8/grammar.vcproj:
5211 * win32/vs8/libgstcontroller.vcproj:
5212 * win32/vs8/libgstreamer.vcproj:
5213 Fix compilation with VS8 and include some missing files.
5215 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5218 Small docs addition: mention that the strings returned by
5219 gst_tag_list_get_string*() are in UTF-8 encoding.
5221 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5224 The check-exports stuff moved to common/win32.mak, so include that.
5226 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5228 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5229 (gst_base_src_perform_seek), (gst_base_src_get_range),
5230 (gst_base_src_set_playing), (gst_base_src_change_state):
5231 Make _wait_playing() not check any variables so that we can call this
5232 function from subclasses. Move the checks elsewhere similar to
5233 _wait_preroll() in basesink.
5235 Only signal the LIVE cond when we are going back to PLAYING.
5237 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5239 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5240 Use g_remove() and g_rename(). Check result of g_rename(), and
5241 don't leak the open file descriptor if we error out when writing.
5243 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5244 Must check the return value of close() after writing out the new
5245 registry file. Sometimes write problems such as out-of-diskspace
5246 are only reported when the file is closed and not already during
5247 the write. This may have caused partial/broken registry files in
5248 some rare circumstances. Should fix #503675.
5250 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5252 * docs/gst/.cvsignore:
5253 * docs/libs/.cvsignore:
5254 * docs/plugins/.cvsignore:
5255 Ignore files generated by new common/* modifications
5257 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5259 * win32/common/libgstbase.def:
5260 Yes, you can also have a <TAB> if you want.
5262 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5264 * win32/common/libgstbase.def:
5265 Add new basetransform API to win export file.
5267 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5269 * tests/check/gst/gstbin.c:
5270 Adjust the test to the refcount change two days ago.
5272 2007-12-14 David Schleef <ds@schleef.org>
5274 * docs/faq/getting.xml: Fix typo.
5276 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5278 * docs/libs/gstreamer-libs-sections.txt:
5279 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5280 (gst_base_transform_prepare_output_buffer),
5281 (gst_base_transform_set_gap_aware):
5282 * libs/gst/base/gstbasetransform.h:
5283 API: Add gst_base_transform_set_gap_aware() to control whether
5284 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5285 get buffers with this flag at all. Fixes #503231.
5287 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5289 * libs/gst/base/gstbasesink.c:
5290 * libs/gst/base/gstbasesrc.c:
5291 * libs/gst/base/gstbasetransform.c:
5292 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5293 thread. Correct log message in gstbasesrc.c.
5295 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5297 * gst/gstutils.c: (element_find_unconnected_pad):
5298 Fix possible compiler warning (#503417).
5300 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5302 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5303 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5305 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5307 * tools/gst-inspect.c: (print_element_properties_info):
5308 Add support for GstFraction properties.
5310 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5313 Add check-exports target and run it as part of 'make check'
5314 (see #499140 and #493983).
5316 * gst/gst_private.h:
5317 * gst/gstelementfactory.h:
5318 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5319 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5320 (_priv_gst_in_valgrind):
5321 * gst/gstinfo.h: (GstLogFunction):
5322 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5323 (gst_type_find_register):
5324 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5325 (gst_type_find_factory_get_type):
5326 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5327 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5328 (gst_controller_new_valist), (gst_controller_new_list),
5329 (_gst_controller_dispose), (_gst_controller_class_init):
5330 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5331 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5332 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5333 (gst_object_get_controller), (gst_object_set_controller),
5334 (gst_object_suggest_next_sync), (gst_object_sync_values),
5335 (gst_object_set_control_source), (gst_object_get_control_source),
5336 (gst_object_get_value_arrays), (gst_object_get_value_array),
5337 (gst_object_get_control_rate), (gst_object_set_control_rate):
5338 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5339 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5340 Make some functions that should be static static; rename some
5341 private symbols so that they don't get exported; add some FIXME
5342 comments so we can move accidentally exported functions into
5343 our private section in 0.11.
5345 * win32/common/libgstreamer.def:
5346 Add gst_utils_get_timestamp().
5348 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5352 Add more missing "Since:" tags to docs.
5354 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5357 Add mising "Since:" to docs.
5359 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5362 Include "glib-compat-private.h" to fix the build on system with
5363 glib < 2.10. Fixes #503131.
5365 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5369 Actually its not PURE as it gets the time from elsewhere.
5371 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5373 * docs/gst/gstreamer-sections.txt:
5375 * gst/gstdebugutils.c:
5379 * libs/gst/base/gstbasesink.c:
5380 * tools/gst-launch.c:
5381 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5382 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5383 Thanks Tim for spotting.
5384 API: gst_util_get_timestamp
5386 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5389 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5391 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5393 * gst/gststructure.c: (gst_structure_validate_name),
5394 (gst_structure_new_valist), (gst_structure_parse_value),
5395 (gst_structure_from_string):
5396 Don't crash in _from_string() if the structure name is not valid
5397 (fixes #501560). Allow structure names to start with a number
5398 again (this apparently broke the ubuntu codec installer).
5400 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5402 Add unit test for the crash; update unit tests for new behaviour.
5404 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5407 Clarify gst_element_get_compatible_pad() documentation.
5410 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5412 * tests/check/Makefile.am:
5413 Don't forget to dist {gst,libs}/struct_hppa.h.
5415 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5417 * libs/gst/base/gstbasesink.c:
5418 Use new API to get elapsed time.
5420 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5422 * gst/gstdebugutils.c:
5424 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5426 * tools/gst-launch.c:
5427 Use new API to get elapsed time.
5429 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5431 * docs/gst/gstreamer-sections.txt:
5433 * gst/gstdebugutils.c:
5435 Rename new API + ChangeLog surgery to remove old name from last entry..
5437 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5439 * docs/gst/gstreamer-sections.txt:
5441 * gst/gstdebugutils.c:
5443 Now hide the different clock stuff behind a macro.
5445 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5448 * gst/gstdebugutils.c:
5450 Apply the posix-timer check from #361155. Conditionally use the posix
5451 timer for logging. This gives better timestamp precission, less
5452 overhead and no ntp jitter.
5454 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5456 * gst/gstminiobject.c: (gst_mini_object_get_type),
5457 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5458 (gst_mini_object_finalize), (gst_mini_object_copy),
5459 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5460 (gst_mini_object_replace), (param_mini_object_validate),
5461 (gst_param_spec_mini_object_get_type):
5462 Some cleanup and checking against invalid function parameters.
5464 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5466 * docs/gst/gstreamer-sections.txt:
5468 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5469 (gst_systemclock_suite):
5470 Start merging in the easy bits of #361155, the monotonic clock patch.
5471 This one adds a few handy macros with docs and a testsuite.
5473 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5475 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5476 Be a bit smarter when seeking, like, don't try to do a seek when it's
5477 not needed. This avoids errors when the file is not seekable.
5480 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5482 * docs/gst/gstreamer-docs.sgml:
5483 * docs/gst/gstreamer-sections.txt:
5484 * docs/gst/gstreamer.types.in:
5489 * plugins/elements/gstqueue.c:
5490 Due to popular request remove preset interface again. :-(.
5492 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5494 * tools/gst-inspect.c:
5495 Print 'default value' for enums and flags too.
5497 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5499 * docs/random/ensonic/profiling.txt:
5503 Fix typo and give better log output.
5505 * gst/gstdebugutils.c:
5506 * gst/gstdebugutils.h:
5507 More ideas, make graphs a bit smaller and fix param name in macro.
5509 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5512 Try harder to use the return value from fgets().
5514 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5517 For theses two fgets we handle the error below.
5519 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5521 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5522 Only send upstream events upstream. Fixes #498746.
5524 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5526 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5528 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5529 (gst_identity_init), (gst_identity_transform_ip),
5530 (gst_identity_set_property), (gst_identity_get_property):
5531 * plugins/elements/gstidentity.h:
5532 Add property to disable handoff signal emission. Fixes #498694.
5533 API: GstIdentity::signal-handoffs
5535 2007-11-21 Julien Moutte <julien@fluendo.com>
5537 * docs/faq/gst-uninstalled: Yet another missing library for the
5538 uninstalled script (fft)
5540 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5542 * docs/faq/developing.xml:
5543 Add a question about how to submit new translations.
5545 * docs/random/release:
5546 Update the contact email address for the Translation Project
5548 * plugins/elements/gstfdsrc.c:
5549 The parent_class for fdsrc is pushsrc, not GstElement.
5551 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5554 Plug a leak and fix saving.
5556 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5558 * docs/gst/gstreamer-sections.txt:
5559 Add new gst_preset__get_property_names() function to the docs
5562 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5566 Change _get_preset_names API to return a strv with copies. Add
5567 _get_property_names to allow implementations to filter and provide
5568 good default implementation.
5570 2007-11-20 Julien MOUTTE <julien@moutte.net>
5572 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5575 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5578 More cleanups, docs, and TODOs from comments that now slowly come in.
5580 2007-11-19 Julien MOUTTE <julien@moutte.net>
5582 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5585 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5588 Fix bogus warning and make the property type specific code more
5591 2007-11-19 Julien MOUTTE <julien@moutte.net>
5593 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5596 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5598 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5599 (gst_bin_add_func), (gst_bin_remove_func),
5600 (gst_bin_change_state_func), (gst_bin_continue_func):
5601 Change email, cleanups add some more debug and comments.
5602 Also set bus and clock on new elements when the pipeline was in error.
5604 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5607 * gst/gstdebugutils.c:
5608 Fix build with --disable-gst-debug. Fixes #497859.
5609 Spotted by Sameer Naik.
5611 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5614 Little documentation improvment.
5617 More TODO cleanups. Remove c++ comments.
5619 * libs/gst/controller/gstcontroller.c:
5620 Add TODO and use quark from static string.
5622 * tests/check/gst/gstmessage.c:
5623 * tests/check/gst/gststructure.c:
5624 Use quark from static string.
5626 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5629 Add some comments and TODOs.
5632 Add padding for future changes.
5634 * plugins/elements/gstqueue.c:
5635 Implement the iface.
5637 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5639 * docs/gst/gstreamer-docs.sgml:
5640 * docs/gst/gstreamer-sections.txt:
5641 * docs/gst/gstreamer.types.in:
5646 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5648 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5654 === release 0.10.15 ===
5656 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5659 releasing 0.10.15, "October"
5661 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5663 * win32/vs6/libgstreamer.dsp:
5664 Convert line endings back to DOS.
5666 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5668 * docs/design/draft-tagreading.txt:
5669 * docs/random/ensonic/profiling.txt:
5670 Update fast tagreading draft and performance profiling ideas.
5672 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5674 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5675 Don't hold the object lock when unreffing a buffer because it could
5676 cause a deadlock when the finalize function wants to grab the object
5677 lock too. Fixes #495133.
5679 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5681 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5682 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5683 Also accumulate time correctly when doing reverse playback. Fixes
5685 When converting to running and stream time, use default values for
5686 start/stop/time/accum when comparing different formats. Fixes #494245.
5688 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5689 Do running/stream time in TIME format.
5691 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5692 (gst_segment_suite):
5693 2 new unit tests for segment accumulation.
5695 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5697 * gst/gst.c: (init_pre):
5698 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5699 (_gst_debug_bin_to_dot_file):
5700 Move getenv() back into gst_init, so everyone can live happily
5701 ever after. Make sure the symbol isn't exported though.
5703 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5705 Patch by: Sebastien Moutte <sebastien moutte net>
5707 * win32/common/gstenumtypes.c:
5708 * win32/common/gstenumtypes.h:
5711 * win32/vs6/libgstreamer.dsp:
5712 Update vs6 project files (#494343).
5714 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5716 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5717 (gst_base_src_perform_seek), (gst_base_src_default_event),
5718 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5719 (gst_base_src_activate_pull):
5720 Unify flushing code, remove some old unlock code that is no longer used.
5721 Take the streaming lock when seeking to avoid races. Fixes #492729.
5722 Added some more comments.
5724 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5726 * gst/gst.c: (_gst_disable_segtrap):
5727 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5728 we can use gst_segtrap_is_enabled() there now that we have that API.
5729 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5730 to do the getenv here (and export the variable).
5732 * gst/gstdebugutils.c: (debug_dump_element),
5733 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5734 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5736 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5737 (gst_debug_log_default):
5738 Rename _gst_info_start_time to priv_gst_info_start_time so it
5739 doesn't get exported (was never in any header).
5741 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5742 (gst_plugin_loading_mutex):
5743 Make static mutex gst_plugin_loading_mutex really static (was never
5744 in any header), and use gst_segtrap_is_enabled() instead of
5745 _gst_disable_segtrap.
5747 * gst/gsttrace.c: (_gst_trace_default):
5748 Make local _gst_trace_default static (was never in any header).
5750 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5752 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5754 * win32/common/libgstbase.def:
5755 * win32/common/libgstcontroller.def:
5756 * win32/common/libgstdataprotocol.def:
5757 * win32/common/libgstnet.def:
5758 * win32/common/libgstreamer.def:
5759 Add more missing symbols, remove some duplicates, and sort
5760 as the 'sort' command sorts it (partially fixes #493983).
5762 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5764 * gst/gstelement.c: (gst_element_set_state_func):
5765 Only change the state cookie if a different state was set on the
5766 element. See #492729.
5768 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5771 Remove unused and uninitialised type variables that were still
5772 exported for some reason (they were never in any header files
5775 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5777 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5778 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5779 (gst_base_sink_event), (gst_base_sink_get_position_last),
5780 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5781 (gst_base_sink_change_state):
5782 Don't try to report a 0 position when we don't know, return -1 and FALSE
5783 instead. This mostly happens when we are prerolling.
5784 Make sure we can report the right position before we post the ASYNC_DONE
5785 message so that a message handler can query position without races.
5787 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5788 (async_done_handoff), (async_done_func), (send_buffer),
5789 (async_done_eos_func), (gst_sinks_suite):
5790 Add two tests for the above.
5792 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5795 Update with new email address.
5797 * docs/design/part-TODO.txt:
5798 Add some more info about future pad-block and negotiation changes.
5800 * docs/design/part-buffering.txt:
5801 Add some ideas about buffering reporting.
5803 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5805 * tests/check/gst/gstobject.c:
5806 Disable silly racy test that always fails on this combination of CPU
5809 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5811 Patch by: Murray Cumming <murrayc@murrayc.com>
5814 Corrected the registration of the parent-set and parent-unset
5815 signals: The parameter is a GstObject, not a GObject (#493134).
5817 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5819 * gst/gst_private.h:
5828 Move declaration of private _gst_foo_initialize() functions into
5829 our private header file where they should have been all along.
5831 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5833 * docs/plugins/gstreamer-plugins-sections.txt:
5834 * gst/gstdebugutils.h:
5836 * plugins/elements/gstqueue.c:
5837 gtk-doc fixes; trailing-comma-in-enum fix.
5839 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5841 * gst/gst.c: (gst_deinit):
5842 Clean up on deinit (not the external ones though, doesn't seem to be
5843 needed for some reason).
5845 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5847 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5848 Remove __declspec(dllimport) for MSVC that was copied over into core
5849 from a plugin, obviously without ever having been tested (note the
5850 single underscore in _declspec in the initial commit), and that doesn't
5851 really make sense. See #492077.
5853 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5855 * gst/gst.c: (init_post):
5856 * gst/gstevent.c: (_gst_event_initialize):
5857 * gst/gstquery.c: (_gst_query_initialize):
5858 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5859 g_type_class_ref() other types as well, see #349410 and #64764.
5861 * gst/gstbuffer.c: (_gst_buffer_initialize):
5862 * gst/gstmessage.c: (_gst_message_initialize):
5863 Simplify existing g_type_class_ref().
5865 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5867 * gst/gstformat.c: (_gst_format_initialize):
5868 g_type_class_ref() our GstFormat type to make sure we avoid the
5869 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5870 bug #64764. Should fix intermittent tee unit test failures (#474823).
5872 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5874 * tests/check/elements/tee.c: (test_num_buffers):
5875 Simplify, simplify, simplify - or not. Rewrite unit test
5876 not to use gst_parse_launch(); allow N sub-streams. Increasing
5877 the number of sub-streams seems to reproduce #474823 more easily.
5879 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5881 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5884 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5885 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5886 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5887 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5888 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5889 so use _pipe() directly (#492077).
5891 * win32/common/dirent.c: (_treaddir):
5892 Add a couple of casts to make it build without warnings with MSVC.
5894 * win32/common/libgstreamer.def:
5895 Add some more symbols that need to be exported.
5897 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5899 * tests/examples/metadata/read-metadata.c: (message_loop):
5900 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5901 arriving in a second or third tag message are added to
5902 the tag list as well.
5904 2007-10-31 Stefan Kost <ensonic@users.sf.net>
5906 * libs/gst/base/gstbasesrc.c:
5907 Its "Since:" and not "@Since:". And remove an superflous cast.
5909 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
5911 * docs/libs/gstreamer-libs-sections.txt:
5912 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5913 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5914 (gst_base_sink_get_property), (gst_base_sink_render_object),
5915 (gst_base_sink_preroll_object),
5916 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5917 (gst_base_sink_change_state):
5918 * libs/gst/base/gstbasesink.h:
5919 Add a new last-buffer property that contains the last buffer used in
5920 basesink for preroll or rendering. useful for making snapshots.
5921 API: gst_base_sink_get_last_buffer()
5922 API: GstBaseSink::last-buffer
5924 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5926 * docs/gst/running.xml:
5928 * gst/gstdebugutils.c:
5929 * gst/gstdebugutils.h:
5930 * tools/gst-launch.c:
5931 Improve bin graph dumping, by using the envvar to specify a path.
5932 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5934 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
5936 * plugins/elements/gsttypefindelement.c:
5937 (gst_type_find_element_handle_event),
5938 (gst_type_find_element_activate):
5939 Post special error message if we can't determine the type of a stream
5942 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5944 * docs/gst/running.xml:
5945 * gst/gstdebugutils.c:
5946 Document new env-var. Add one log-line after dumpng a graph.
5948 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
5951 Ugly hack to put the (recently removed and non-portable, apparently)
5952 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5953 GNU ld, because without that 'make check' fails miserably on my debian
5954 stable box. Someone with more knowledge of linker intricacies and
5955 portability issues than me fix this properly please.
5957 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
5959 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5960 Reset last seen position after flushing so that we don't report the old
5963 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5965 * gst/gstelementfactory.c: (gst_element_register):
5967 Patch from Alessandro Decina adding get_type_full and
5968 get_protocols_full private vfuncs to the URIHandler interface
5969 to allow bindings to support creating URI handlers.
5970 Partially fixes: #339279
5971 API: GstURIHandlerInterface::get_type_full
5972 API: GstURIHandlerInterface::get_protocols_full
5974 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5976 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5977 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5978 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5979 Make it so that pads are considered linked until a buffer is pushed
5980 and discovered otherwise. This avoids problems with decodebin2 hanging
5981 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5984 Make sure we lock the multiqueue when updating the max-size properties.
5986 Fix a crash on Solaris in a debug statement in get_request_pad that
5987 passes a NULL string to GST_DEBUG.
5989 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5990 (run_output_order_test):
5991 Fix the test to allow the first buffer on not-linked pads to come out
5992 of sequence while multiqueue discovers that they are not-linked.
5994 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5997 * libs/gst/check/Makefile.am:
5998 Use a custom export symbol regex for libgstcheck, as it needs
5999 to export symbols that don't match the standard GStreamer gst_*
6000 pattern, and --export-dynamic is not portable (only works on
6003 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6004 (gst_check_setup_sink_pad):
6005 Make sure to pass a message parameter to the fail_* macros.
6007 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6008 Fix some compiler warnings.
6010 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6012 * tests/check/gst/gststructure.c: (test_to_string):
6013 Disable test that checks that white spaces are not allowed
6014 in structure names or field names, since we need to
6015 support that for now for backwards compatibility reasons.
6017 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6019 * docs/gst/gstreamer-sections.txt:
6022 API: add GST_TAG_ARTIST_SORTNAME
6023 API: add GST_TAG_ALBUM_SORTNAME
6024 API: add GST_TAG_TITLE_SORTNAME
6025 Add tag variants for sorting (#414539).
6027 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6029 * gst/gststructure.c:
6030 Also allow white space for names so we don't break
6031 backwards compatibility.
6033 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6035 * docs/design/part-TODO.txt:
6036 * docs/design/part-segments.txt:
6037 * docs/design/part-streams.txt:
6040 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6042 * docs/gst/gstreamer-sections.txt:
6043 Fixed documentation from my previous commit (added new API add
6044 gst_value_set_structure(), add gst_value_get_structure() and
6045 GST_VALUE_HOLDS_STRUCTURE).
6047 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6049 * gst/gstdebugutils.c:
6050 Reflow code to fix uninitialized variable warning.
6052 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6054 * gst/gstcaps.c: (gst_caps_to_string),
6055 (gst_caps_from_string_inplace):
6056 * gst/gststructure.c: (gst_structure_get_abbrs),
6057 (gst_structure_to_string), (gst_structure_from_string):
6058 * gst/gstvalue.c: (gst_value_set_structure),
6059 (gst_value_get_structure), (gst_value_serialize_structure),
6060 (gst_value_deserialize_structure), (_gst_value_initialize):
6062 * tests/check/gst/gststructure.c: (GST_START_TEST),
6063 (gst_structure_suite):
6064 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6065 Added GstStructure to gst_value_table and its related functions.
6066 Changed gst_structure_to_string to print ';' in the end.
6067 Changed gst_caps_to_string to not print ';' beteween its
6068 fields (structures) anymore and remove the lastes ';' from latest
6069 structure. Now it is possible to have nested structures.
6070 In addition, backward compatibilty is assured by accepting '\0' as
6071 end delimiter. Fixes: #487969.
6072 API: add gst_value_set_structure()
6073 API: add gst_value_get_structure()
6074 API: add GST_VALUE_HOLDS_STRUCTURE
6076 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6079 When no GSource callback has been set up, tell developer
6080 to use a function that actually exists.
6082 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6084 * docs/gst/gstreamer-sections.txt:
6088 * gst/gstdebugutils.c:
6089 * gst/gstdebugutils.h:
6092 * tools/gst-launch.c:
6093 Allow dumping pipelines as dot graphs. Fixes #456573.
6095 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6097 * gst/gststructure.c:
6098 Allow '+' as well, it can be part of media or mime types
6099 such as image/svg+xml.
6101 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6103 * docs/gst/gstreamer-sections.txt:
6106 API: add gst_bus_pop_filtered
6107 API: add gst_bus_timed_pop_filtered
6108 Two new functions for waiting for specific message types on the
6109 bus for a specified amount of time without iterating any main
6110 loops or main contexts.
6112 * tests/check/gst/gstbus.c:
6113 Some tests for the new functions.
6115 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6117 * docs/libs/gstreamer-libs-sections.txt:
6118 Make gtk-doc ignore stuff it should ignore.
6120 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6122 * libs/gst/check/gstcheck.c:
6123 * libs/gst/check/gstcheck.h:
6124 Allow runtime selection of unit tests to run via the GST_CHECKS
6125 environment variable (test case function names, comma-separated).
6127 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6129 * gst/gststructure.c:
6130 * tests/check/gst/gststructure.c:
6131 Revert serialisation change and constrain structure-names after
6132 consensus on irc. Update api documentation to reflect the change.
6134 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6136 * gst/gststructure.c:
6137 Improve serialization and fix tests.
6139 * tests/check/gst/gststructure.c:
6140 Add another test that covers why I actually did the previous structure
6143 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6145 * tools/gst-inspect.c: (print_element_info):
6146 Don't crash when inspecting an element.
6148 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6150 * tests/check/gst/gststructure.c:
6151 Add unit test for escaping of structure name when serialising
6152 and deserialising to/from strings.
6154 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6156 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6157 (gst_single_queue_new):
6158 * plugins/elements/gstqueue.c: (gst_queue_init),
6159 (gst_queue_push_one):
6160 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6161 upstream is tricked into thinking it can suggest a format downstream
6162 while downstream does not support that format. The real problem is that
6163 core calls acceptcaps when pushing a buffer with new caps, for which we
6164 do a little workaround by setting the caps on the srcpad ourselves
6165 before pushing the buffer (until this is figured out). Fixes #486758.
6167 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6169 * gst/gststructure.c:
6171 Add some more comments and debug output. Quote structure name to fix
6172 deserialisation of some strings.
6174 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6177 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6178 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6180 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6182 * tools/gst-inspect.c:
6183 Save approx. 400 1 byte allocs when printing. Use API to acces element
6189 * tools/gst-xmlinspect.c:
6190 Use API to acces element details.
6192 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6195 Fix some spelling errors.
6197 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6199 * gst/gstbin.c: (bin_handle_async_done):
6200 Correctly set the next state if all of our async children commited their
6201 state. This makes sure we can actually cancel the state change in
6202 progress. Fixes a regression in Rhythmbox when seeking.
6204 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6207 Don't shadow local variable.
6210 Don't shadow global function name.
6212 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6214 * gst/gstelementfactory.c:
6215 * gst/gstpluginfeature.c:
6216 * gst/gstpluginfeature.h:
6217 * gst/gstregistrybinary.c:
6218 * gst/gstregistryxml.c:
6219 * gst/gsttypefind.c:
6220 Use already-interned string for the private GstPluginFeature
6223 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6225 * docs/libs/gstreamer-libs-sections.txt:
6226 Add new API to docs; fixes the build.
6228 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6230 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6232 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6233 (gst_base_sink_event):
6234 * libs/gst/base/gstbasesink.h:
6235 Add function to wait for EOS, subclasses can use this to correctly wait
6236 for devices to drain before performing the EOS logic. Fixes #485343.
6237 API: gst_base_sink_wait_eos()
6239 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6242 Cast description string constants in GST_PLUGIN_DEFINE macros
6243 to a (gchar*) to make C++ code using these macros compile
6244 without warning with g++-4.2 (see #462737). Even if slightly
6245 ugly, this seems preferable to putting the description strings
6246 into the GLib quark table or making the structure member a
6247 const gchar * and doing casts in core code that allocs and
6248 frees these strings, or requiring a cast in the C++ code.
6250 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6253 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6254 to print the entire class/function signature into the log
6255 file for C++ code. This only affects C++ code, for C code
6256 everything remains the same.
6258 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6260 * gst/gstbin.c: (remove_from_queue):
6261 Work around a problem with pipelines containing (semi)loops until a
6262 proper, more complicated solution is ready. See #475455.
6264 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6268 * gst/gstregistrybinary.c:
6269 * gst/gstregistryxml.c:
6270 Put more strings into the GLib quark table. No need to keep
6271 a hundred-something copies of identical version strings,
6272 license strings, package name strings and package origin
6275 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6277 * docs/manual/advanced-dataaccess.xml:
6278 Don't imply that it's okay to unconditionally change
6279 buffer data or buffer metadata in a pad probe callback,
6280 and a bunch of other comments. Fixes #430031.
6282 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6284 * win32/common/gstenumtypes.c:
6285 * win32/common/gstenumtypes.h:
6286 * win32/common/gstversion.h:
6287 Update generated files.
6289 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6291 * docs/manual/advanced-autoplugging.xml:
6292 Prefix section with broken code with a warning (see #342432).
6294 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6296 * docs/manual/appendix-integration.xml:
6297 * docs/manual/basics-init.xml:
6298 Call g_thread_init() before g_option_context_new() to
6299 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6301 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6303 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6304 (gst_base_sink_queue_object_unlocked),
6305 (gst_base_sink_queue_object), (gst_base_sink_event),
6306 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6307 When we received EOS and are waiting for when to post the EOS message,
6308 our state is prerolled and we should not return ASYNC.
6309 Reorganize some code paths to implement this behavior.
6311 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6313 Add unit test to verify above EOS fix.
6315 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6317 * plugins/elements/gsttypefindelement.c:
6318 (gst_type_find_element_have_type), (gst_type_find_element_init),
6319 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6320 Move detecting the input caps of the sinkpad to the setcaps function.
6321 This allows us to update the output caps when we receive new input caps
6322 instead of always using the first detected caps.
6324 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6326 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6327 (gst_base_sink_get_position):
6328 Don't try to preroll non-async elements after a flush.
6329 Subtract latency form clock times when reporting position.
6331 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6333 * gst/gstpad.c: (gst_pad_pause_task):
6335 Small comment and documentation update.
6337 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6339 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6340 (gst_base_src_set_live), (gst_base_src_is_live),
6341 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6342 (gst_base_src_default_event), (gst_base_src_wait),
6343 (gst_base_src_do_sync), (gst_base_src_get_range),
6344 (gst_base_src_pad_get_range), (gst_base_src_loop),
6345 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6346 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6347 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6348 (gst_base_src_change_state):
6349 Rework the locking of basesrc in a similar fashion to basesink. We
6350 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6351 us to handle live sources and semi live ones much better.
6353 Fix unlocking when seeking, shutting down and pausing in live sources.
6355 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6357 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6358 Fix compilation again.
6360 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6363 Use meaningful categories for the logs to clean the default one.
6365 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6367 * tests/check/pipelines/cleanup.c:
6368 Print message name and not just number.
6370 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6372 * docs/design/draft-tagreading.txt:
6373 Add some more thoughts.
6375 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6377 * tests/check/pipelines/simple-launch-lines.c:
6378 Print message name and not just number.
6380 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6382 * libs/gst/base/gsttypefindhelper.c:
6383 Speedup typefinding. This is work in progress (see #459862).
6385 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6388 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6389 Spotted by Josep Torra Valles <josep@fluendo.com>.
6391 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6394 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6395 field has moved to GstObject.
6397 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6399 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6400 (gst_base_src_get_range), (gst_base_src_change_state):
6401 Call unlock for live sources so that they can't get stuck in _create and
6402 produce a buffer before they are set back to PLAYING.
6404 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6406 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6407 (gst_queue_locked_dequeue):
6408 Comment the segment-related code... in the PROPER function.
6409 See #482147 and my commit from yesterday.
6411 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6413 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6414 Also initialize the counter that calculates the first timestamp on a
6415 buffer correctly for non-live sources.
6417 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6419 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6420 Disable code that's breaking the current-time-level reporting.
6423 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6425 * docs/gst/gstreamer-sections.txt:
6426 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6427 as they shouldn't show up. Fixes the docs build.
6429 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6432 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6433 Define M_PI which is used in files which are including gstinfo.h.
6434 VS6 includes doesn't define it.
6435 * win32/common/libgstbase.def:
6436 * win32/common/libgstcontroller.def:
6437 * win32/common/libgstreamer.def:
6438 Add new exported functions and variables.
6439 * win32/vs6/libgstcontroller.dsp:
6440 * win32/vs6/libgstreamer.dsp:
6441 Update the list of files to build.
6443 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6445 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6447 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6448 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6449 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6450 Improve debugging. Fixes #480858.
6452 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6454 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6456 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6457 First patch of code cleanups, use the macros and right arguments in the
6458 macros to signal and lock the queue. See #480858.
6460 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6462 * gst/gstbus.c: (poll_func):
6463 Improve debugging when dealing with _poll().
6465 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6467 * gst/gstregistryxml.c:
6468 Fix memory leak I introduced a few days ago.
6470 2007-09-26 Michael Smith <msmith@fluendo.com>
6472 * gst/gstbuffer.c: (gst_buffer_finalize):
6473 Make it once again possible to free GstBuffers in the default
6475 The poisoning scribbles on parts of the miniobject we need in
6479 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6481 * docs/gst/gstreamer-sections.txt:
6484 API: add GST_TAG_COMPOSER, fixes #459809.
6486 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6490 Add the 3-clause BSD license and the MIT/X11 license to the license
6491 list. Fixes #479784.
6493 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6495 * docs/faq/getting.xml:
6496 Add Q+A about different GStreamer versions (#364056).
6498 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6500 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6501 (gst_base_sink_event), (gst_base_sink_change_state):
6502 Return correct gboolean from query function.
6504 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6506 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6507 (gst_base_sink_event), (gst_base_sink_query),
6508 (gst_base_sink_change_state):
6509 Simplify latency query.
6510 When not synchronizing, we can report latency without querying the peer
6513 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6517 Fix small typos in the docs.
6519 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6521 * docs/design/draft-latency.txt:
6522 * docs/design/draft-push-pull.txt:
6523 * docs/design/draft-tagreading.txt:
6524 * docs/design/part-MT-refcounting.txt:
6525 * docs/design/part-activation.txt:
6526 * docs/design/part-block.txt:
6527 * docs/design/part-element-source.txt:
6528 * docs/design/part-events.txt:
6529 * docs/design/part-gstbin.txt:
6530 * docs/design/part-gstelement.txt:
6531 * docs/design/part-gstobject.txt:
6532 * docs/design/part-gstpipeline.txt:
6533 * docs/design/part-messages.txt:
6534 * docs/design/part-preroll.txt:
6535 * docs/design/part-push-pull.txt:
6536 * docs/design/part-qos.txt:
6537 * docs/design/part-query.txt:
6538 * docs/design/part-scheduling.txt:
6539 * docs/design/part-seeking.txt:
6540 * docs/design/part-segments.txt:
6541 * docs/design/part-states.txt:
6542 Documentation updates and typo fixes.
6544 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6546 * plugins/elements/gstfakesink.c:
6547 Add some debug text to error message to indicate that
6548 we errored out on request.
6550 * tools/gst-launch.c:
6551 When the state change to PLAYING fails, check for an
6552 error message on the bus and print it.
6554 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6556 translated by: Jorge González González <aloriel@gmail.com>
6560 Added Spanish translation.
6562 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6564 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6565 Fix printf arguments.
6567 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6569 * tests/check/generic/states.c:
6570 Improved state change unit test.
6572 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6575 Move priv to the right place.
6577 * gst/gstsystemclock.c:
6578 Add FIXME: and improve log.
6580 * tests/check/Makefile.am:
6581 * tests/examples/manual/Makefile.am:
6582 Work with all types of registries.
6584 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6586 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6587 Don't unref the event after pushing it. Fixes #478401.
6589 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6592 * tests/examples/manual/.cvsignore:
6593 Ignore registries in any format.
6595 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6597 * gst/glib-compat-private.h:
6598 Add compatibility macro for g_intern_string() for
6599 GLib-2.8 (any reason we can't just bump the
6600 requirement to at least 2.10?)
6602 * gst/gstpadtemplate.h:
6603 * gst/gstelementfactory.c:
6604 * gst/gstregistryxml.c:
6605 * gst/gstregistrybinary.c:
6606 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6607 up the internal code accordingly. This shouldn't be a problem, since
6608 there is no reason external code could ever assume the string in such
6609 a structure is dynamically allocated unless it did that itself; the
6610 use of g_strdup() is private to element factories. The new code also
6611 saves some memory by putting pad template name strings into the GLib
6612 quark table instead of allocating them dynamically.
6613 Declaring this field constant fixes warnings with g++-4.2 when using
6614 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6616 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6618 * gst/gstelementfactory.c:
6619 Release static caps. Fixes #475723.
6621 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6625 Make some internal API take const gchar * instead of just
6626 gchar * to avoid compiler warnings with g++-4.2.2 when
6627 passing string constants (partially fixes #478092).
6629 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6631 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6632 A latency query fails when one of the sinks fail.
6634 * gst/gstelement.c: (gst_element_set_base_time):
6637 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6639 * gst/gstbin.c: (gst_bin_continue_func):
6640 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6641 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6642 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6644 Fix minor compilation warnings shown with Forte.
6646 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6648 * plugins/elements/gstqueue.c: (apply_buffer),
6649 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6650 Measure queue level based on the diff between head and tail timestamps
6651 even when pushing the first buffer.
6653 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6655 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6656 (gst_base_sink_event), (gst_base_sink_change_state):
6657 Sinks that don't preroll can always be queried for the latency.
6658 Don't post ASYNC start when we are not async.
6660 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6662 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6663 (gst_queue_handle_sink_event), (gst_queue_chain),
6664 (gst_queue_push_one), (gst_queue_handle_src_query),
6665 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6666 * plugins/elements/gstqueue.h:
6667 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6668 push more buffers but allow pushing of EOS and NEWSEGMENT.
6669 Add some more debug info here and there. Fixes #476514.
6671 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6673 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6674 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6675 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6676 (gst_base_sink_set_flushing), (gst_base_sink_query),
6677 (gst_base_sink_change_state):
6678 Latency query is allowed after we are prerolled. Introduce a new flag
6679 for this and stop abusing other variables.
6681 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6683 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6684 Push OOB events downstream when we get them in send_event. This allows
6685 the application to insert events in the pipeline.
6686 Add some more comments.
6688 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6690 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6691 (do_bin_latency), (gst_bin_change_state_func):
6692 * gst/gstpipeline.c: (gst_pipeline_change_state):
6693 Move latency query from GstPipeline to GstBin so that we can also
6694 use it when async-handling is enabled on bins.
6696 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6698 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6699 (gst_base_src_do_sync), (gst_base_src_change_state):
6701 Clean up the timestamping and syncing code for pseudo live sources.
6703 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6705 Patch by: Steve Fink <sphink gmail com>
6707 * docs/manual/appendix-checklist.xml:
6708 Mention less -R switch in the section about debug output (#474055).
6710 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6712 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6713 Queue can latency to the pipeline up to the configured max size in time.
6714 Report this fact in the latency query.
6716 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6718 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6720 * libs/gst/controller/gstinterpolation.c:
6721 * libs/gst/controller/gstlfocontrolsource.c:
6722 Use gst_guint64_to_gdouble() when converting from a uint64 or
6723 GstClockTime to double to fix the build on win32. Fixes #474371.
6725 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6727 * gst/gstbuffer.c: (gst_buffer_finalize):
6728 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6729 When finalizing a buffer the complete struct is filled with 0xff,
6730 thus making a use of the buffer after the final unref impossible.
6732 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6734 * tests/check/libs/controller.c: (GST_START_TEST):
6735 Use fail_unless_equals_int(a, b) instead of
6736 fail_unless_equals (a == b) to get better output on failures.
6738 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6740 * tests/check/gst/gsturi.c:
6741 Also check for the other file URI variant on win32.
6743 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6745 * gst/gsturi.c: (gst_uri_get_location):
6746 If there's no hostname, we want to return 'c:/foo/bar.txt'
6747 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6749 * tests/check/gst/gsturi.c:
6750 Unit test for the above and a few more things.
6752 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6754 * docs/design/part-live-source.txt:
6755 Add docs on how live sources should timestamp.
6757 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6758 Add some more debug info.
6759 For subclasses that are live and like to sync, add aditional startup
6760 latency to sync time and timestamps so that we timstamp according to the
6763 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6766 Also do a g_type_class_ref() for the subbuffer type in
6769 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6771 * docs/gst/gstreamer-sections.txt:
6772 * gst/gstpad.c: (gst_pad_peer_query):
6774 Add function to perform a query on the peer of a pad.
6775 API: gst_pad_peer_query()
6777 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6779 * tests/check/gst/gstsystemclock.c:
6780 Cleanup the test a little (use gst-logging and not g_message). Improve
6781 test to check if a wait reached the target.
6783 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6785 * docs/libs/gstreamer-libs-sections.txt:
6786 Add new API to docs and fix the build.
6788 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6790 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6791 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6792 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6793 (gst_base_src_get_property), (gst_base_src_do_sync):
6794 * libs/gst/base/gstbasesrc.h:
6795 Add property to make the basesrc timestamp buffers based on the current
6797 API: GstBaseSrc::do-timestamp
6798 API: gst_base_src_set_do_timestamp()
6799 API: gst_base_src_get_do_timestamp()
6801 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6803 * docs/random/release:
6804 Really make sure translations are up-to-date before
6805 a release (#465010).
6807 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6809 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6810 Always destroy the timer, also in error cases.
6812 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6814 * docs/manual/highlevel-xml.xml:
6815 Fix XML example code. Fixes #472714.
6817 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6819 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6820 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6821 (gst_base_sink_query):
6822 Protect eos and have_preroll with the OBJECT lock so we don't need to
6823 take the PREROLL lock when querying the latency. Fixes #473846.
6825 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6828 Give some log-messages a category.
6830 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6832 * gst/gststructure.c:
6833 (gst_structure_fixate_field_nearest_fraction):
6834 Fix fraction list fixation code. Take the fraction with the smallest
6835 difference with the target instead of the first one in the list.
6837 * tests/check/gst/gststructure.c: (GST_START_TEST),
6838 (gst_structure_suite):
6839 Added test to verify correct fraction list fixation behaviour.
6841 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6843 * win32/common/libgstreamer.def:
6844 Export gst_bus_add_signal_watch too.
6846 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6848 * docs/libs/gstreamer-libs-sections.txt:
6849 Add new methods to docs.
6851 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6852 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6853 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6854 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6855 * libs/gst/base/gstbasesink.h:
6856 Add ts-offset property to fine-tune the synchronisation.
6857 API: GstBaseSink::ts-offset property
6858 API: gst_base_sink_set_ts_offset()
6859 API: gst_base_sink_get_ts_offset()
6861 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6863 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6864 (gst_base_sink_init), (gst_base_sink_set_sync),
6865 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6866 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6867 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6868 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6869 (gst_base_sink_get_property), (gst_base_sink_change_state):
6870 * libs/gst/base/gstbasesink.h:
6871 Add async property to instruct the sink never to inform the parent about
6872 ASYNC state changes, update docs.
6873 Check argument with g_return_* for the public functions.
6874 API: GstBaseSink::async property
6875 API: gst_base_sink_set_async_enabled()
6876 API: gst_base_sink_is_async_enabled()
6878 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6880 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6883 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6884 (gst_base_src_default_query), (gst_base_src_wait),
6885 (gst_base_src_do_sync), (gst_base_src_change_state):
6886 Rearrange some code so that we can add support for measuring the
6889 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6891 * docs/random/ensonic/dynlink.txt:
6892 More thoughs on this.
6894 * plugins/elements/gstcapsfilter.c:
6895 Add bugzilla ticket number to FIXME comment.
6897 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6899 * docs/design/part-TODO.txt:
6900 * docs/design/part-block.txt:
6903 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6906 Revert patch which uses $(gst_headers) instead of $^ because it
6909 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6911 * tests/check/gst/gstbin.c: (GST_START_TEST):
6912 Fix leaks in the new unit test.
6914 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
6917 Don't use GST_INFO before the debug system is actually initialised
6918 (shouldn't do any harm, but won't print anything either, so we can
6919 just as well remove it).
6922 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6923 compilers that don't support variadic macros (such as MSVC), should
6924 check for debug_level <= __gst_debug_min as well, since that's the
6925 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6926 inline helper functions. Should improve performance a bit, but also
6927 makes sure uses of GST_INFO et.al are ignored if the debugging
6928 system isn't initialised yet (instead of printing an assertion
6931 2007-08-23 Stefan Kost <ensonic@users.sf.net>
6933 patch by: David Nečas <yeti@physics.muni.cz>
6936 Replace some non portable makefile constructs.
6938 2007-08-21 Stefan Kost <ensonic@users.sf.net>
6940 * common/gtk-doc-plugins.mak:
6941 Grrrrr. Don't remove the types file on make clean.
6943 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
6945 * tools/gst-launch.1.in:
6946 Add colorspace to example pipeline. Fixes #458274.
6948 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
6950 * docs/random/release:
6951 The release manager should run 'make download-po' before making a
6952 release to make sure translations are up-to-date.
6958 Add some new translations.
6960 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
6962 * tools/gst-launch.c: (event_loop), (main):
6963 Don´t try to do any state management when a live pipeline posts
6965 Also make the buffering string translatable.
6967 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6969 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6970 (bin_handle_async_start), (gst_bin_handle_message_func):
6972 When adding elements, insert messages into the bus of the newly added
6973 element and make sure the element is the source of the message. This
6974 allows the parent bin to intercept the message and do the
6975 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6976 messages to the app (which is not allowed).
6979 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6980 Fix testsuite so that is does not work around messages that should not
6981 have been posted in the first place.
6983 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6985 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6986 (update_degree), (gst_bin_sort_iterator_next):
6987 Fix annoying bug in the sorted iterator where a sink that is not really
6988 a sink (when it has downstream links) screwed up the iterator.
6990 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6991 Unit test to verify the fix.
6993 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6996 Add some more docs for the messages.
6998 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6999 (gst_base_sink_query):
7000 Add some more debugging.
7002 * tools/gst-launch.c: (event_loop):
7003 When interrupting, don't try to set pipeline to PAUSED twice.
7005 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7008 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7009 (bin_handle_async_start), (gst_bin_handle_message_func):
7010 Move ASYNC_START message posting to where it belongs, similar to
7012 Don't post ASYNC_START when we are in error.
7013 Post ASYNC_START when we added an async element to a bin.
7015 2007-08-14 Julien MOUTTE <julien@moutte.net>
7017 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7018 generation from vargs. Fixes #466595.
7020 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7022 * gst/gstbin.c: (gst_bin_element_set_state):
7023 Always change the state of a NO_PREROLL element even if it has ASYNC
7024 elements inside (in case of a bin).
7026 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7027 Unit test for this case.
7029 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7031 * libs/gst/check/gstbufferstraw.c:
7032 * libs/gst/check/gstcheck.h:
7033 * libs/gst/controller/gstcontroller.c:
7034 * libs/gst/controller/gstcontrolsource.h:
7035 * libs/gst/controller/gstlfocontrolsource.h:
7036 * plugins/elements/gstcapsfilter.h:
7037 * plugins/elements/gstfdsink.h:
7038 * plugins/elements/gstfdsrc.h:
7039 Add more missing docs.
7041 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7043 * gst/gststructure.c:
7044 Add Since tag to docs.
7046 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7048 * docs/gst/gstreamer-sections.txt:
7049 * gst/gststructure.c: (gst_structure_get_uint):
7050 * gst/gststructure.h:
7051 Add function to get uint from a structure.
7052 API: gst_structure_get_uint()
7054 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7056 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7057 (gst_caps_intersect):
7058 Fix proper check for simple caps.
7060 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7062 * docs/gst/Makefile.am:
7063 * docs/libs/Makefile.am:
7064 Remove cruft and do some cleanups.
7066 * docs/gst/gstreamer-docs.sgml:
7067 * docs/libs/gstreamer-libs-docs.sgml:
7068 Prepare for comming gtkdoc features (rebase against online docs).
7070 2007-08-10 Michael Smith <msmith@fluendo.com>
7072 * docs/gst/gstreamer-sections.txt:
7073 Add gst_registry_add_path to docs.
7075 2007-08-10 Michael Smith <msmith@fluendo.com>
7077 * gst/gstregistry.h:
7078 Add gst_registry_add_path, which was missing from this header.
7080 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7082 * libs/gst/controller/gstlfocontrolsource.c:
7085 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7087 * libs/gst/base/gstbasesink.c:
7088 Don't send an async_start message during downwards state change if
7089 target state is less than READY
7091 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7093 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7097 Added Hungarian translation.
7099 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7106 Updated translations.
7108 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7110 * libs/gst/controller/Makefile.am:
7111 Dist gstlfocontrolsourceprivate.h
7113 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7115 * docs/libs/gstreamer-libs.types:
7116 Don't register the enum type gst_lfo_waveform_get_type() in the
7117 .types file - only GObject derived types belong.
7119 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7121 Patch by: <arenevier at fdn dot fr>
7124 Remove comma from last element in enum to avoid compile errors when
7125 using -pendantic. Fixes #464366.
7127 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7129 * docs/design/part-TODO.txt:
7130 Add some more TODO items
7132 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7135 * gst/gstcaps.c: (gst_caps_intersect):
7136 Optimize trivial intersection case between identical caps pointers.
7138 * gst/gstelement.c: (gst_element_continue_state),
7139 (gst_element_set_state_func):
7141 Fix spelling and grammar mistakes.
7143 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7147 Update POTFILES. Fixes #461599.
7149 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7152 Fix confusing typo in debug output.
7154 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7156 reviewed by: Stefan Kost <ensonic@users.sf.net>
7158 * libs/gst/controller/Makefile.am:
7159 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7160 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7161 (gst_lfo_control_source_new),
7162 (gst_lfo_control_source_set_waveform),
7163 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7164 (gst_lfo_control_source_finalize),
7165 (gst_lfo_control_source_dispose),
7166 (gst_lfo_control_source_set_property),
7167 (gst_lfo_control_source_get_property),
7168 (gst_lfo_control_source_class_init):
7169 * libs/gst/controller/gstlfocontrolsource.h:
7170 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7171 API: Add GstLFOControlSource, a control source that gives values
7172 for specific timestamps based on several periodic waveforms.
7175 * tests/check/libs/controller.c: (GST_START_TEST),
7176 (gst_controller_suite):
7177 * docs/libs/gstreamer-libs-docs.sgml:
7178 * docs/libs/gstreamer-libs-sections.txt:
7179 * docs/libs/gstreamer-libs.types:
7180 Add documentation and unit tests for GstLFOControlSource.
7182 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7187 === release 0.10.14 ===
7189 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7192 releasing 0.10.14, "Breathing Vacuum"
7194 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7196 * gst/gstelement.c: (gst_element_class_set_details_simple):
7198 Make strings passed to gst_element_class_set_details_simple()
7199 constant, as they should be (#462752).
7201 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7203 * gst/gstbin.c: (gst_bin_change_state_func),
7204 (bin_handle_async_done), (gst_bin_handle_message_func):
7205 Don't forget about the fact that some element went ASYNC even after a
7206 resync. This makes us post the ASYNC_DONE message correctly.
7209 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7211 * gst/gstregistry.c: (gst_registry_add_feature):
7212 When replacing an existing feature in the registry, make sure to
7213 continue holding a reference until we've replaced the name string
7214 within our feature hash table. Make sure to use g_hash_table_replace
7215 instead of g_hash_table_insert to ensure the new name string is used
7216 as a key instead of the old one that we're about to free.
7219 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7221 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7222 (gst_plugin_feature_set_name):
7223 Revert patch from #459466 until after the release and we can work
7224 out exactly what the problem is (if any).
7226 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7228 * docs/gst/gstreamer-sections.txt:
7231 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7233 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7235 * docs/libs/Makefile.am:
7236 Include our build-prefix libs and includes before the generic ones to
7237 avoid linking against the installed libs when we want the build-tree
7240 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7242 Patch by: Steve Fink <sphink gmail com>
7244 * docs/pwg/building-testapp.xml:
7245 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7246 if people try to build or install the example from the plugin
7247 template against a GStreamer from package using the configure
7250 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7252 Patch by: Steve Fink <sphink gmail com>
7254 * tools/gst-inspect.1.in:
7255 Document --print-all and --print-plugin-auto-install-info command
7256 line options in man page.
7258 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7260 * docs/gst/gstreamer-sections.txt:
7261 Add docs for new api function.
7263 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7265 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7266 * gst/gstelementfactory.h:
7267 API: gst_element_factory_has_interface()
7268 Added method to check if an element factory implements a named
7271 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7274 * docs/gst/gstreamer.types.in:
7275 Another conditional doc check.
7278 * gst/gstparamspecs.h:
7279 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7284 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7286 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7287 (gst_registry_binary_load_feature),
7288 (gst_registry_binary_load_plugin),
7289 (gst_registry_binary_read_cache):
7290 Print error just once and with additional info.
7292 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7294 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7295 (helper_find_suggest), (helper_find_get_length),
7296 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7297 (gst_type_find_helper_for_buffer):
7298 Cleanup the typefindhelper code and add private doc comments.
7300 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7302 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7303 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7304 Fix capsfilter for cases where the caps set on capsfilter will provide
7305 additional information.
7308 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7310 * gst/gsttypefindfactory.c:
7311 Fix docs that recommened wrong function to use.
7313 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7315 * tools/gst-inspect.c: (print_plugin_features):
7316 Also give media-type for typefinders in element output.
7318 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7320 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7321 (gst_registry_remove_features_for_plugin_unlocked),
7322 (gst_registry_add_feature), (gst_registry_remove_feature),
7323 (gst_registry_lookup_feature_locked):
7324 * gst/gstregistry.h:
7325 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7328 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7330 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7331 (gst_plugin_feature_set_name):
7332 Avoid double memory usage for pluginfeature names. Fixes #459466.
7334 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7337 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7338 driving the pipeline may need to explicitly check for NOT_LINKED as
7339 well, since IS_FATAL doesn't cover that.
7341 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7343 * docs/pwg/advanced-types.xml:
7344 Fix typo and duplicate entry in video formats list.
7346 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7348 * libs/gst/controller/gstinterpolation.c:
7349 Also round to the nearest int when using cubic interpolation.
7351 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7353 * libs/gst/controller/gstinterpolation.c:
7354 When linearly interpolating integer types, round to the nearest int
7355 by adding 0.5. Don't do it for float/double types.
7356 Fixes the failing controller test on my machine, which is somehow
7357 rounding differently than on the buildbots.
7359 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7361 * tools/gst-plot-timeline.py:
7362 Better log parsing (categories can have -). Adjust text vs. lines, so
7363 that they span the same y-range.
7365 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7367 * docs/random/ensonic/audiobaseclasses.txt:
7368 * docs/random/ensonic/dynlink.txt:
7369 * docs/random/ensonic/profiling.txt:
7372 * docs/random/moving-plugins:
7373 Add note to use g_assert type macros.
7375 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7378 * libs/gst/check/Makefile.am:
7379 Add libm check as we use in for plugins.
7381 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7383 * gst/gstbin.c: (gst_bin_continue_func):
7384 Check that the state_cookie hasn't changed since the continue_func
7385 was scheduled. Avoids problems where the state changes back to
7386 something it shouldn't be because it was changed in the meantime.
7388 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7390 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7391 (gst_registry_binary_save_string),
7392 (gst_registry_binary_save_pad_template),
7393 (gst_registry_binary_save_feature),
7394 (gst_registry_binary_save_plugin),
7395 (gst_registry_binary_load_feature),
7396 (gst_registry_binary_load_plugin),
7397 (gst_registry_binary_read_cache):
7398 Fix memory leak. Be less verbose in the log.
7400 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7402 * tests/check/elements/.cvsignore:
7403 Add file to cvsignore as commanded.
7405 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7407 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7408 (mq_dummypad_event), (run_output_order_test):
7409 Use a GStaticMutex to protect all cases where libcheck
7410 fail_if/fail_unless macros might be called from multiple threads
7411 simultaneously to avoid errors like:
7412 "check_pack.c:107: :-1081725400:Bad message type arg"
7414 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7416 * tests/check/pipelines/stress.c: (GST_START_TEST):
7417 Make sure we set the pipeline back to the NULL state before
7418 dropping our final reference.
7420 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7422 * tests/check/elements/tee.c: (GST_START_TEST):
7423 Make the tee stress-test a little less stressful so it doesn't just
7424 time out on slow-machines, and remove a small race when it's starting
7425 up by adding a get_state() call.
7427 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7430 Avoid reading registry twice on startup. Fixes #457322.
7432 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7434 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7435 * pkgconfig/gstreamer-check.pc.in:
7436 Substitute the CFLAGS for libcheck into our .pc file too so that
7437 dependent modules will pick it up properly if libcheck is installed
7438 into some other prefix.
7440 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7443 Revert the pkg-config check for libcheck, since it pulls in the
7444 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7445 a proper solution, either from the check project, or something else.
7447 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7450 Use pkg-config to locate check.
7452 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7459 Add deprecation guards.
7461 * libs/gst/base/gstcollectpads.h:
7462 Don't document object (this is implicitly private).
7464 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7466 * gst/gststructure.c: (gst_structure_parse_value):
7467 When deserialising foo=bar without a type cast, check if it's a
7468 boolean before falling back to a string type, otherwise things like
7469 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7470 because the filtercaps end up having a signed=(string)true field,
7471 which causes problems later when intersection caps.
7473 * tests/check/gst/gststructure.c: (GST_START_TEST):
7474 Add a unit test for this.
7476 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7478 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7480 * libs/gst/controller/Makefile.am:
7481 * libs/gst/controller/gstcontroller.c:
7482 (gst_controlled_property_add_interpolation_control_source),
7483 (gst_controlled_property_new), (gst_controlled_property_free),
7484 (gst_controller_find_controlled_property),
7485 (gst_controller_new_valist), (gst_controller_new_list),
7486 (gst_controller_new), (gst_controller_remove_properties_valist),
7487 (gst_controller_remove_properties_list),
7488 (gst_controller_remove_properties),
7489 (gst_controller_set_property_disabled),
7490 (gst_controller_set_disabled), (gst_controller_set_control_source),
7491 (gst_controller_get_control_source), (gst_controller_get),
7492 (gst_controller_sync_values), (gst_controller_get_value_array),
7493 (_gst_controller_dispose), (gst_controller_get_type),
7494 (gst_controlled_property_set_interpolation_mode),
7495 (gst_controller_set), (gst_controller_set_from_list),
7496 (gst_controller_unset), (gst_controller_unset_all),
7497 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7498 * libs/gst/controller/gstcontroller.h:
7499 * libs/gst/controller/gstcontrollerprivate.h:
7500 * libs/gst/controller/gstcontrolsource.c:
7501 (gst_control_source_class_init), (gst_control_source_init),
7502 (gst_control_source_get_value),
7503 (gst_control_source_get_value_array), (gst_control_source_bind):
7504 * libs/gst/controller/gstcontrolsource.h:
7505 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7506 (gst_object_get_control_source):
7507 * libs/gst/controller/gstinterpolation.c:
7508 (gst_interpolation_control_source_find_control_point_node),
7509 (gst_interpolation_control_source_get_first_value),
7510 (_interpolate_none_get), (interpolate_none_get),
7511 (interpolate_none_get_boolean_value_array),
7512 (interpolate_none_get_enum_value_array),
7513 (interpolate_none_get_string_value_array),
7514 (_interpolate_trigger_get), (interpolate_trigger_get),
7515 (interpolate_trigger_get_boolean_value_array),
7516 (interpolate_trigger_get_enum_value_array),
7517 (interpolate_trigger_get_string_value_array):
7518 * libs/gst/controller/gstinterpolationcontrolsource.c:
7519 (gst_control_point_free), (gst_interpolation_control_source_reset),
7520 (gst_interpolation_control_source_new),
7521 (gst_interpolation_control_source_set_interpolation_mode),
7522 (gst_interpolation_control_source_bind),
7523 (gst_control_point_compare), (gst_control_point_find),
7524 (gst_interpolation_control_source_set_internal),
7525 (gst_interpolation_control_source_set),
7526 (gst_interpolation_control_source_set_from_list),
7527 (gst_interpolation_control_source_unset),
7528 (gst_interpolation_control_source_unset_all),
7529 (gst_interpolation_control_source_get_all),
7530 (gst_interpolation_control_source_get_count),
7531 (gst_interpolation_control_source_init),
7532 (gst_interpolation_control_source_finalize),
7533 (gst_interpolation_control_source_dispose),
7534 (gst_interpolation_control_source_class_init):
7535 * libs/gst/controller/gstinterpolationcontrolsource.h:
7536 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7537 API: Refactor GstController into the core controller which can take
7538 a GstControlSource for providing actual values for timestamps.
7539 Implement a interpolation control source and use this for backward
7540 compatibility, deprecate a bunch of functions that are now handled
7541 by GstControlSource or GstInterpolationControlSource.
7542 Make it possible to disable the controller completely or only for
7543 specific properties. Fixes #450711.
7544 * docs/libs/gstreamer-libs-docs.sgml:
7545 * docs/libs/gstreamer-libs-sections.txt:
7546 * docs/libs/gstreamer-libs.types:
7547 Add new functions and classes to the docs.
7548 * tests/check/libs/controller.c: (GST_START_TEST),
7549 (gst_controller_suite):
7550 * tests/examples/controller/audio-example.c: (main):
7551 Port unit test and example to the new API and add some new
7554 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7556 Patch by: Mark Nauwelaerts <manauw at skynet be>
7558 * plugins/elements/gstmultiqueue.c:
7559 (gst_multi_queue_get_internal_links), (apply_buffer),
7560 (single_queue_overrun_cb), (gst_single_queue_new):
7561 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7562 the pipeline layout can be tracked correctly. Fixes #453732.
7564 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7566 * docs/gst/Makefile.am:
7567 * docs/libs/Makefile.am:
7568 * docs/plugins/Makefile.am:
7569 Simplify --extra-dir as gtkdoc scans recursively.
7571 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7573 * tools/gst-launch.c: (main):
7574 When we got an error, there is no point in waiting for preroll when
7577 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7579 * plugins/elements/gsttee.c: (gst_tee_base_init),
7580 (gst_tee_request_new_pad), (gst_tee_release_pad),
7581 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7582 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7584 Be a lot smarter when deciding what srcpad to use for proxying
7585 the buffer_alloc. Also handle pad added/removed when doing so.
7587 Keep track of what pads we already pushed on in case we have pads
7588 added/removed while pushing. Fixes #374639
7590 * tests/check/Makefile.am:
7591 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7593 Added unit test for pad resync.
7595 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7599 Updated translations.
7601 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7603 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7607 Added new Finnish translation.
7609 2007-06-28 Wim Taymans <wim@fluendo.com>
7611 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7612 (single_queue_overrun_cb):
7613 When figuring out when a queue is filled, use our internal time estimate
7614 based on segments, just like check_full does.
7616 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7618 * gst/gstminiobject.c: (gst_mini_object_get_type):
7619 Remove 3 do-nothing methods.
7621 2007-06-27 Wim Taymans <wim@fluendo.com>
7623 Patch by: Tim Angus <tim at ngus dot net>
7625 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7626 (gst_capsfilter_set_property):
7627 Take a reference instead of a copy when setting "caps".
7628 Fix documentation to clarify this behaviour. Fixes #449414.
7630 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7632 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7633 * gst/gstplugin.c: (gst_plugin_init):
7634 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7635 * gst/gstquery.c: (gst_query_get_type):
7636 * gst/gstregistry.c: (gst_registry_init):
7637 * gst/gsturi.c: (gst_uri_handler_base_init):
7638 Remove empty instance_init() functions to save relocs and lessen the
7639 noise. Remove some of the function prototypes that are doubled by
7642 2007-06-27 Wim Taymans <wim@fluendo.com>
7644 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7646 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7647 Add peer and direction in the XML serialisation of ghostpads.
7650 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7653 Preserve useful information, thanks Tim.
7655 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7657 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7658 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7659 (gst_single_queue_push_one), (gst_multi_queue_loop),
7660 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7661 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7662 (compute_high_id), (gst_single_queue_new):
7663 * plugins/elements/gstmultiqueue.h:
7664 Take the multiqueue lock when updating the fill level so we don't get
7667 After applying a buffer or event on the src pad segment, make sure to
7668 call gst_data_queue_limits_changed() to get the data queue to unblock
7669 and check the filled state again.
7671 Rework the not-linked pad handling so the logic is that not-linked
7672 pads can push as fast as they like, but only so they never get
7673 ahead of any linked pads.
7675 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7676 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7677 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7679 Add a test to check that not-linked pads always stay behind
7684 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7686 * docs/random/release:
7687 Some updates to the release procedure.
7689 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7691 * gst/gstelementfactory.c: (__gst_element_details_clear):
7692 Microoptimization that saves stunning 80 bytes.
7694 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7696 * docs/plugins/gstreamer-plugins.args:
7697 * docs/plugins/inspect/plugin-coreelements.xml:
7698 * docs/plugins/inspect/plugin-coreindexers.xml:
7699 Update docs with caps info.
7701 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7704 Updated Italian translation.
7706 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7710 Update Vietnamese translations.
7712 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7714 * libs/gst/base/gstbasesink.c:
7715 Remove unused signal enum.
7717 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7719 * docs/gst/gstreamer-sections.txt:
7721 * gst/gstutils.c: (gst_type_register_static_full):
7722 Beef up and include the docs for gst_type_register_static_full and
7723 gst_element_class_set_details_simple and add the API keyword
7726 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7728 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7729 (update_time_level), (gst_single_queue_push_one),
7730 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7731 (single_queue_overrun_cb), (single_queue_underrun_cb),
7732 (single_queue_check_full):
7733 Fix setting max-* properties after adding queues.
7734 Use IS_FILLED for checking visible items.
7735 Signal overrun if multiple queues overrun.
7736 Add extra debug output.
7737 Patch by: Wim Taymans <wim@fluendo.com>
7739 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7741 * gst/gstelement.c: (gst_element_class_set_details_simple):
7743 * gst/gstutils.c: (gst_type_register_static_full):
7745 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7746 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7747 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7748 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7749 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7750 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7751 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7752 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7753 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7754 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7755 (apply_buffer), (gst_queue_chain):
7756 * plugins/elements/gsttee.c: (gst_tee_base_init):
7757 * plugins/elements/gsttypefindelement.c:
7758 (gst_type_find_element_base_init),
7759 (gst_type_find_element_class_init):
7760 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7761 API: add gst_type_register_static_full
7762 API: add gst_element_class_set_details_simple
7764 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7766 * docs/pwg/advanced-types.xml:
7767 Fix typo in iana.org URI.
7769 2007-06-19 Andy Wingo <wingo@pobox.com>
7771 * tests/check/pipelines/simple-launch-lines.c
7772 (test_state_change_returns): Enable pull-mode tests now that
7773 basesink has been fixed.
7775 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7776 Changed from gst_base_sink_is_prerolled, reversing the sense of
7777 the return value. Returns FALSE also if the sink is in pull mode,
7778 in which case it needs no preroll.
7779 (gst_base_sink_query, gst_base_sink_change_state): Update for
7780 needs_preroll change.
7781 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7782 chaining up, in which we return SUCCESS directly if we activated
7783 in pull mode instead of ASYNC. Involves countering an async_start
7784 message sent before chaining up; not sure if this is correct, in
7785 an ideal world we only send async-start when activating in push
7788 * tests/check/pipelines/simple-launch-lines.c
7789 (test_state_change_returns): New test, partially disabled until
7792 2007-06-19 Wim Taymans <wim@fluendo.com>
7794 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7795 (gst_multi_queue_sink_event):
7798 2007-06-19 Wim Taymans <wim@fluendo.com>
7800 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7801 (gst_bin_change_state_func), (bin_push_state_continue),
7802 (bin_handle_async_start), (bin_handle_async_done),
7803 (gst_bin_handle_message_func):
7804 Move the common code for posting state-change messages into
7806 Broadcast the state signal after we posted the messages.
7807 Mark the bin as busy when it's doing a state-change.
7808 Make sure async-start/done messages don't interfere with the bin's
7809 state when it's busy.
7810 After the state change, let the bin check which elements completed the
7811 state change while it was busy so that it can update its state.
7813 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7815 * docs/random/release:
7816 Add a note about updating the doap file to the release checklist
7818 2007-06-18 Wim Taymans <wim@fluendo.com>
7820 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7821 (gst_single_queue_push_one), (gst_multi_queue_chain),
7822 (gst_multi_queue_sink_event):
7823 Make sure we don't reference the buffer/event after we have given away
7824 ownership in the queue.
7826 2007-06-18 Wim Taymans <wim@fluendo.com>
7828 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7829 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7830 Update queue state _after_ adding the item in the queue because else we
7831 could end up being full without the element added yet.
7833 2007-06-18 Wim Taymans <wim@fluendo.com>
7835 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7836 (gst_bin_remove_func), (gst_bin_get_state_func),
7837 (gst_bin_element_set_state), (gst_bin_continue_func),
7838 (bin_push_state_continue), (bin_handle_async_start),
7839 (bin_handle_async_done), (gst_bin_handle_message_func):
7841 Immediatly commit the toplevel bin state when receiving an async-done
7842 message. This enables us to avoid spawning a thread to commit the state
7843 in some common cases and it also avoids some races.
7844 Avoid spawning a state thread when adding/removing async elements to a
7845 toplevel bin. Instead we immediatly update the bin state.
7846 Get rid of iterating all the children when getting the state in the bin
7847 because it is now always up-to-date.
7848 Fix bug where locked elements would always return _SUCCESS even it they
7849 returned NO_PREROLL before being locked.
7850 Fix the order of the state_change, async-start/done messages that was
7851 sometimes incorrect.
7852 Mark the state_dirty field as deprecated, we don't need it anymore as we
7853 are always up-to-date.
7855 * gst/gstelement.c: (gst_element_get_state_func),
7856 (gst_element_continue_state):
7857 Small debug inprovements.
7858 Return the previous element state return when nothing is pending instead
7859 of blindly returning SUCCESS.
7861 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7863 Add a whole bunch of new testcases.
7865 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7869 Update translations.
7871 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7874 Fix typo in the docs.
7876 2007-06-15 Wim Taymans <wim@fluendo.com>
7878 * docs/libs/gstreamer-libs-sections.txt:
7879 Add docs for new methods.
7881 2007-06-15 Wim Taymans <wim@fluendo.com>
7883 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7884 (gst_multi_queue_item_new):
7885 Don't use GSlice because we don't depend on >= 2.10 yet.
7887 2007-06-15 Wim Taymans <wim@fluendo.com>
7889 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7890 (update_time_level), (apply_segment), (apply_buffer),
7891 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7892 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7893 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7894 (single_queue_underrun_cb), (single_queue_check_full):
7895 Remove debug printf.
7897 2007-06-15 Wim Taymans <wim@fluendo.com>
7899 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7900 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7901 (gst_data_queue_set_flushing), (gst_data_queue_push),
7902 (gst_data_queue_pop), (gst_data_queue_drop_head),
7903 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7904 * libs/gst/base/gstdataqueue.h:
7906 Added methods to get the current levels and to inform the queue that the
7907 'full' limits changed.
7909 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7910 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7911 (gst_single_queue_flush), (update_time_level), (apply_segment),
7912 (apply_buffer), (gst_single_queue_push_one),
7913 (gst_multi_queue_item_steal_object),
7914 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7915 (gst_multi_queue_loop), (gst_multi_queue_chain),
7916 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7917 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7918 (gst_multi_queue_src_query), (single_queue_overrun_cb),
7919 (single_queue_underrun_cb), (single_queue_check_full),
7920 (gst_single_queue_new):
7921 Keep track of time in the queue by measuring the difference between
7922 running_time on input and output. This gives more accurate results and
7923 can compensate for segments correctly.
7924 Make a queue by default only 5 buffers deep. We will now increase the
7925 buffer size depending on the filledness of the other queues.
7926 Factor out commong flush code.
7927 Make sure we don't add additional refcounts to buffers when we can avoid
7929 Propagate GstFlowReturn differently.
7930 Use GSlice for intermediate GstMultiQueueItems.
7932 Resize queues on over and underruns based on filled level of other
7934 When checking if the queue is filled, prefer to measure in time if we
7935 can and fall back to bytes when no time is known.
7937 * plugins/elements/gstqueue.c:
7940 2007-06-15 Wim Taymans <wim@fluendo.com>
7942 * libs/gst/base/gstbasetransform.c:
7943 (gst_base_transform_sink_event):
7944 Work around the brokenness of the event vmethod in basetransform. Prefer
7945 to return TRUE when the subclass returned FALSE (meaning don't forward
7948 * libs/gst/base/gstbasetransform.h:
7951 2007-06-15 Wim Taymans <wim@fluendo.com>
7953 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7954 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7955 (gst_base_src_default_query), (gst_base_src_get_range),
7956 (gst_base_src_start):
7957 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7960 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7962 * docs/pwg/advanced-types.xml:
7963 Added more formats to caps table.
7965 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7967 * tools/gst-launch.c: (main):
7968 Remove crufy code. GOption does not need this workaround.
7970 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7972 * libs/gst/controller/gstcontroller.c:
7973 (gst_controlled_property_set_interpolation_mode):
7974 Fix wrong getter for enums in controller.
7976 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7978 * libs/gst/check/gstcheck.c: (gst_check_init):
7979 Intercept criticals and warnings in the Gst-Phonon log domain, so
7980 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7983 2007-06-14 Edward Hervey <edward@fluendo.com>
7985 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7986 Since this file doesn't include "gst.h" it will not go through the
7987 macros that disable GST_LOG if debugging was disabled.
7989 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7991 * libs/gst/check/Makefile.am:
7992 * libs/gst/check/gstcheck.h:
7993 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7994 * pkgconfig/gstreamer-check.pc.in:
7995 Ugly 'fix' for the controller unit test on the p5 bot: in
7996 fail_unless_equals_float() check whether the values are 'almost
7997 equal' by allowing a small absolute error, which should be good
7998 enough for our use cases (normal numbers and values close to 0).
7999 Proper fixage left to floating point arithmetic aficionados.
8001 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8003 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8004 (gst_base_sink_render_object), (gst_base_sink_get_position):
8005 Add two breaks thats where missing.
8007 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8009 * docs/libs/gstreamer-libs-sections.txt:
8010 * libs/gst/check/gstcheck.h:
8011 API: add fail_unless_equals_float() and assert_equals_float().
8012 Add documentation for some of the macros.
8014 * tests/check/libs/controller.c: (GST_START_TEST):
8015 Use newly-added asserts.
8017 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8019 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8020 Show the caps change in the log to help spotting the case of not
8021 exactly matching caps.
8023 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8025 * docs/pwg/building-boiler.xml:
8026 Fix typos, spotted by Thijs Vermeir (#447190).
8028 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8030 * docs/plugins/tmpl/.cvsignore:
8031 Ignore file to keep the buildbots happy
8033 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8035 * docs/plugins/Makefile.am:
8036 * docs/plugins/gstreamer-plugins-docs.sgml:
8037 * docs/plugins/gstreamer-plugins-sections.txt:
8038 Pull fdsink into the docs too.
8040 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8042 * libs/gst/controller/gstinterpolation.c:
8043 Actually use the new functions with min/max checks for the trigger and
8044 none interpolation modes for get() and get_value_array() instead of
8047 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8049 * libs/gst/controller/gstcontroller.c:
8050 (gst_controlled_property_free):
8051 Unset the minimum and maximum GValues when freeing the corresponding
8052 GstControllerProperty struct.
8054 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8056 * libs/gst/controller/gstcontroller.c:
8057 (gst_controlled_property_new):
8058 * libs/gst/controller/gstcontrollerprivate.h:
8059 * libs/gst/controller/gstinterpolation.c:
8060 (gst_controlled_property_find_control_point_node),
8061 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8062 (interpolate_none_get_string_value_array),
8063 (interpolate_trigger_get),
8064 (interpolate_trigger_get_enum_value_array),
8065 (interpolate_trigger_get_string_value_array):
8066 Protect against values larger or smaller than the minimum or maximum
8067 allowed value for the property when using values that can be compared.
8069 Optimize trigger interpolator a bit by taking the last requested value
8070 into account instead of always looping through the complete list.
8072 Fix coding style a bit, everywhere else we use "return foo" instead
8075 * tests/check/libs/controller.c: (GST_START_TEST),
8076 (gst_controller_suite):
8077 Add unit test for the protection against too large or too small
8080 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8082 * docs/random/slomo/controller.txt:
8083 Add some thoughts about the future of the controller.
8085 2007-06-08 Wim Taymans <wim@fluendo.com>
8087 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8088 Don't overflow in retimestamping code.
8090 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8092 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8093 Use gst_util_guint64_to_gdouble for conversions.
8094 * win32/common/libgstreamer.def:
8095 Add new exported functions.
8097 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8100 Small docs addition.
8102 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8105 Remove that test line again.
8107 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8110 Test commit mail sending.
8112 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8115 Fix typo and test commit mail sending.
8117 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8119 * tests/examples/controller/audio-example.c:
8120 Improve comment and test commit mail sending.
8122 2007-06-07 Wim Taymans <wim@fluendo.com>
8124 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8125 (gst_bin_remove_func), (gst_bin_element_set_state),
8126 (bin_handle_async_start), (bin_handle_async_done),
8127 (gst_bin_handle_message_func):
8128 Add helper function to find messages.
8129 Generate the async-done messages together with the state change
8131 Small cleanups in handling toplevel bins.
8133 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8135 * libs/gst/base/gstdataqueue.c:
8136 * libs/gst/base/gstdataqueue.h:
8137 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8138 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8139 (gst_multi_queue_sink_event):
8140 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8141 Fix multiqueue leaking buffers and events when downstream or the
8142 queue are flushing. Make refcounting assumptions explicit and
8143 document them (shouldn't break existing code that uses it other than
8144 maybe leak miniobjects, but that already happens anyway). Add unit
8145 test for the most common flushing case. Fixes #423700.
8147 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8149 * libs/gst/controller/gstcontroller.c:
8150 Clarify docs: The get_all, get_value_array(s) functions
8151 don't modify the GObject properties.
8153 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8155 * libs/gst/controller/gstcontroller.c:
8156 (gst_controlled_property_set_interpolation_mode),
8157 (gst_controlled_property_prepend_default),
8158 (gst_controlled_property_new), (gst_controller_set_unlocked),
8159 (gst_controller_set), (gst_controller_set_from_list),
8160 (gst_controller_unset), (gst_controller_unset_all):
8161 * libs/gst/controller/gstcontrollerprivate.h:
8162 * libs/gst/controller/gstinterpolation.c:
8163 Factor out the 'set' logic into gst_controller_set_unlocked for the
8164 gst_controller_set and gst_controller_set_from_list functions.
8166 To make life of the interpolators easier always add a control point
8167 at timestamp zero with the default value.
8169 In the linear interpolator make things more obvious by better variable
8172 Implement cubic interpolation mode (by using a natural cubic spline)
8173 and map the quadratic interpolation mode to this too (as quadratic
8174 doesn't make much sense, see discussion on the list).
8176 * tests/check/libs/controller.c: (GST_START_TEST),
8177 (gst_controller_suite):
8178 Add unit test for the cubic interpolation mode and check everywhere
8179 if the interpolation mode could be set as expected.
8181 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8183 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8184 Don't use GLib-2.10 functions, we still depend on
8185 GLib-how-old-is-it-again-2.8.
8187 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8189 * docs/gst/gstreamer-sections.txt:
8193 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8194 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8195 (_gst_param_fraction_values_cmp),
8196 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8197 * gst/gstparamspecs.h:
8199 * tests/check/Makefile.am:
8200 * tests/check/gst/.cvsignore:
8201 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8202 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8203 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8204 (GST_START_TEST), (gst_param_spec_suite):
8205 API: add GstParamSpecFraction, so elements can have fraction
8206 properties without lots of painful string parsing (#444648).
8208 2007-06-05 Wim Taymans <wim@fluendo.com>
8210 * gst/gstobject.c: (gst_object_class_init):
8211 Fix signal signature.
8214 Add small clarification in the api docs.
8216 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8217 States are protected with object lock.
8219 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8222 I should probably be listed as an author by now.
8224 * docs/random/release:
8225 Update the release doc
8227 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8230 Make docs for gst_value_compare() mention return enums that
8233 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8238 === release 0.10.13 ===
8240 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8243 releasing 0.10.13, "With or without you"
8245 2007-05-25 Wim Taymans <wim@fluendo.com>
8247 * gst/gstbin.c: (bin_handle_async_done):
8248 Make sure that the child bin stops after completing the async state
8249 change so that the parent can continue the state change to PLAYING.
8252 2007-05-25 Wim Taymans <wim@fluendo.com>
8254 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8255 (unref_data), (gst_collect_pads_remove_pad),
8256 (gst_collect_pads_check_pads):
8257 Use additional refcounting to avoid crashes when dynamically adding and
8258 removing pads. Fixes #420206.
8260 2007-05-24 Wim Taymans <wim@fluendo.com>
8262 * tools/gst-launch.c: (event_loop):
8263 When buffering goes from a two digit to a single digit number, make sure
8264 to remove the old second digit by writing a blank over it.
8266 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8268 * libs/gst/base/gstdataqueue.c:
8269 Eliminate tabs and trailing comma in enum list; fix some typos.
8271 2007-05-24 Wim Taymans <wim@fluendo.com>
8273 * tests/check/gst/gstbin.c: (GST_START_TEST):
8274 Allow refcount of 3 and 4 because some state thread might still be busy
8277 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8279 * plugins/elements/Makefile.am:
8280 * plugins/elements/gstmultiqueue.h:
8281 * plugins/elements/gstqueue.h:
8282 These are not installed headers, no need for padding.
8284 2007-05-24 Wim Taymans <wim@fluendo.com>
8286 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8287 (gst_bin_continue_func):
8288 Enable latency for next release.
8289 Restore STATE_LOCK around recalc_state that was left out during the
8290 rewrite and could result in racy behaviour when _get_state and
8291 recalc_state are run concurrently. See #440463.
8293 2007-05-23 Wim Taymans <wim@fluendo.com>
8295 * tests/check/gst/gstsystemclock.c: (store_callback),
8297 Improve test_async_order to also work when both timers are already
8298 expired when we get scheduled to check it.
8300 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8302 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8303 (gst_bin_set_property), (gst_bin_get_property),
8304 (gst_bin_remove_func), (gst_bin_handle_message_func):
8306 'private' is a c++ keyword, let's not use that in header files,
8307 otherwise c++ compilers will throw a tantrum.
8309 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8311 * plugins/elements/gstelements.c:
8312 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8313 (gst_file_sink_get_current_offset):
8314 * plugins/indexers/gstindexers.c: (plugin_init):
8315 Use #ifdef for HAVE_XYZ for consistency.
8317 * tests/check/Makefile.am:
8318 * tests/check/elements/.cvsignore:
8319 * tests/check/elements/filesink.c: (setup_filesink),
8320 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8321 Add some unit tests for filesink.
8323 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8325 Patch by: Mark Nauwelaerts <manauw at skynet be>
8327 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8328 (gst_file_sink_query), (gst_file_sink_do_seek),
8329 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8330 * plugins/elements/gstfilesink.h:
8331 Fix position reporting; rename data_written member to current_pos to
8332 reflect its real meaning (fixes #412648).
8334 2007-05-22 Edward Hervey <edward@fluendo.com>
8336 * docs/gst/gstreamer-sections.txt:
8337 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8338 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8339 (gst_bin_remove_func), (gst_bin_handle_message_func):
8341 Add a property for bins that handle the state change of their childs.
8344 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8346 * libs/gst/controller/gstinterpolation.c:
8347 Use an array of the correct type when using _get_value_array with
8348 linear interpolation.
8350 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8352 * gst/gstelement.c (gst_element_requires_clock,
8353 gst_element_provides_clock, gst_element_request_pad,
8354 gst_element_class_set_details, gst_element_class_set_details_simple,
8355 gst_element_default_send_event, gst_element_abort_state,
8356 gst_element_continue_state, gst_element_set_state,
8357 gst_element_set_state_func, iterator_activate_fold_with_resync):
8358 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8359 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8360 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8361 gst_pad_get_range, gst_pad_pull_range):
8362 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8363 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8364 GstPadActivateModeFunction, GstPadChainFunction,
8365 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8366 GstPadFixateCapsFunction, GstPadTemplate):
8367 * gst/gstpipeline.c (gst_pipeline_change_state,
8368 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8369 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8370 gst_pipeline_get_delay):
8371 Whitespace and docs fixes.
8373 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8375 * libs/gst/controller/gstinterpolation.c:
8376 (interpolate_trigger_get_enum_value_array),
8377 (interpolate_trigger_get_string_value_array):
8378 Add support for retrieving value arrays when using the trigger
8381 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8383 * libs/gst/controller/gstcontroller.c:
8384 (gst_controller_get_value_array):
8385 * libs/gst/controller/gstcontroller.h:
8386 Clarify the docs of gst_controller_get_value_array(): The array where
8387 the values should be written to must be allocated as there seems to be
8388 no way to get the size of a random GType. This doesn't change any
8389 behaviour. Also fix some typos all over the place and remove an unused,
8390 commented function that is not necessary as g_object_set() could be
8392 * tests/check/libs/controller.c: (GST_START_TEST),
8393 (gst_controller_suite):
8394 Add unit test for gst_controller_get_value_array().
8396 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8398 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8400 Disable part of the gst_buffer_try_new_and_alloc test, because
8401 it can happily succeed on 64-bit systems where there's more address
8404 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8406 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8407 Add unit test for the improved caps checking from bug #421543.
8409 2007-05-21 Wim Taymans <wim@fluendo.com>
8411 * docs/design/part-synchronisation.txt:
8414 * gst/gstbin.c: (gst_bin_query):
8415 * plugins/elements/gstqueue.c: (apply_segment):
8421 2007-05-21 Wim Taymans <wim@fluendo.com>
8423 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8424 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8425 (gst_pad_configure_src):
8426 Added simple version of improved caps checking. It was previously
8427 assumed that a setcaps function would check the validity of the caps but
8428 people prefer us to check caps against the template automatically.
8431 2007-05-21 Wim Taymans <wim@fluendo.com>
8433 * libs/gst/base/gstbasetransform.h:
8434 Fix macro for locking/unlocking the transform lock.
8436 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8438 * docs/plugins/tmpl/.cvsignore:
8441 2007-05-18 Edward Hervey <edward@fluendo.com>
8443 * plugins/elements/gstqueue.c: (gst_queue_loop):
8444 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8445 for the subtle art of warning a potentially blocking thread that it
8446 should check the source pad return value, and relay the information
8449 2007-05-18 Edward Hervey <edward@fluendo.com>
8451 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8452 Release the queue lock !
8454 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8456 * docs/libs/gstreamer-libs-sections.txt:
8457 Add the two new controller functions to the appropiate places.
8459 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8461 reviewed by: Stefan Kost <ensonic@users.sf.net>
8463 * libs/gst/controller/gstcontroller.c:
8464 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8465 (_gst_controller_get_property), (_gst_controller_set_property),
8466 (_gst_controller_init), (_gst_controller_class_init):
8467 * libs/gst/controller/gstcontroller.h:
8468 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8469 (gst_object_get_control_rate), (gst_object_set_control_rate):
8470 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8471 Add API that provides sync suggestion timestamps for elements that
8472 call gst_object_sync_values() from which those elements can subdivide
8473 their processing loop to get the best results for the controlled
8474 properties. For now it just suggests last_sync + control_rate as
8475 new timestamp but this will be improved in the future.
8477 While doing that change the control-rate property to a GstClockTime
8478 from guint and change it's meaning from samples to nanoseconds as
8479 the GstController doesn't know anything about sampling rate. Strictly
8480 speaking this breaks ABI but as the control-rate property didn't do
8481 anything in the past and as such couldn't be used this should be no
8484 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8486 reviewed by: Stefan Kost <ensonic@users.sf.net>
8488 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8489 (gst_controller_unset_all):
8490 * libs/gst/controller/gstcontrollerprivate.h:
8491 * libs/gst/controller/gstinterpolation.c:
8492 (gst_controlled_property_find_control_point_node):
8493 Save last synced value from the list to continue searching from there
8494 in future syncs. This speeds everything up a bit.
8496 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8498 reviewed by: Stefan Kost <ensonic@users.sf.net>
8500 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8501 (gst_control_point_find), (gst_controlled_property_new),
8502 (gst_control_point_free), (gst_controlled_property_free),
8503 (gst_controller_set), (gst_controller_set_from_list),
8504 (gst_controller_unset), (gst_controller_unset_all),
8505 (gst_controller_sync_values):
8506 * libs/gst/controller/gstcontroller.h:
8507 * libs/gst/controller/gstcontrollerprivate.h:
8508 * libs/gst/controller/gstinterpolation.c:
8509 (gst_controlled_property_find_control_point_node),
8510 (interpolate_none_get), (interpolate_trigger_get):
8511 Add a new private GstControlPoint struct which "inherits" from
8512 GstTimedValue to allow different interpolators to store internal
8513 values next to each control point. From the outside everything is
8514 still a GstControlPoint so we don't loose binary compatibility.
8515 Also fixup all the GValue handling to not leak GValues or list nodes.
8516 * tests/check/libs/controller.c: (GST_START_TEST):
8517 Free the list nodes and GValues in the controller_misc test.
8519 2007-05-17 Edward Hervey <edward@fluendo.com>
8524 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8526 * gst/gstplugin.c: (gst_plugin_load_file):
8527 If we fail to load a plugin because of unresolved symbols or missing
8528 libraries and spew a warning to stderr, we may just as well mention
8529 which plugin it was that failed to load.
8531 2007-05-13 David Schleef <ds@schleef.org>
8533 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8534 handles the case when ENABLE_GTK_DOC is false, and installs
8535 the prebuilt documentation. So gtk-doc subdirs are
8536 unconditionally enabled. Fixes: #349099.
8538 2007-05-13 David Schleef <ds@schleef.org>
8540 * gst/gstutils.h: Reword some documentation.
8542 2007-05-12 David Schleef <ds@schleef.org>
8544 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8545 do anything with the passed "module" parameter, so remove it.
8546 Allows removal of additional vestigal code.
8548 2007-05-12 David Schleef <ds@schleef.org>
8551 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8552 Switch to using g_stat() because it's more portable.
8554 2007-05-12 David Schleef <ds@schleef.org>
8557 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8558 parsing for embedded systems.
8559 * gst/gstelementfactory.c:
8560 Allow gst_element_register() to be called with plugin==NULL.
8561 Did nobody notice that static elements were broken?
8563 2007-05-12 Wim Taymans <wim@fluendo.com>
8565 * tools/gst-launch.c: (event_loop):
8566 Give more interesting info when buffering starts and stops.
8567 Fix case where buffering starts but we fail to update the buffering flag
8568 because the target state is not PLAYING.
8570 2007-05-12 Wim Taymans <wim@fluendo.com>
8572 * plugins/elements/gstqueue.c: (gst_queue_init),
8573 (gst_queue_finalize), (update_time_level), (apply_segment),
8574 (apply_buffer), (gst_queue_locked_flush),
8575 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8576 (gst_queue_handle_sink_event), (gst_queue_chain),
8577 (gst_queue_push_one), (gst_queue_loop):
8578 * plugins/elements/gstqueue.h:
8579 Refactor an cleanup queue a bit.
8580 Do better time level calculations that also work when the srcpad is not
8582 Remove some unneeded debug lines.
8584 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8585 Added testcase for time level measurement.
8586 Try to make some stuff more racefree.
8588 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8590 * gst/gsturi.c: (gst_element_make_from_uri):
8591 Don't leak plugin feature.
8593 * tests/check/Makefile.am:
8594 * tests/check/gst/.cvsignore:
8595 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8596 Add brain-dead unit test.
8598 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8600 Patch by: Jeroen Wouters <woutersj at gmail com>
8602 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8603 Treat protocol strings in a case-insensitive way (#437563).
8605 2007-05-11 Michael Smith <msmith@fluendo.com>
8607 * gst/gstplugin.c: (gst_plugin_load_file):
8608 * gst/gstregistry.c: (gst_registry_scan_path_level):
8609 Don't print a g_warning for any failure to load a shared object.
8610 Instead, push this down into gstplugin.c, and warn _only_ if we
8611 failed to open the module (i.e. failure to link).
8612 Avoids warnings on normal, working, non-plugin .so files.
8614 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8616 * gst/gstplugin.c (gst_plugin_load_file):
8617 * gst/gstregistry.c (GST_CAT_DEFAULT,
8618 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8619 Print a g_warning if there was an error when loading a plugins during
8620 registry scan. The shuld help beginners starting with gst-plugin
8623 2007-05-10 Wim Taymans <wim@fluendo.com>
8625 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8626 (update_time_level), (gst_queue_locked_flush),
8627 (gst_queue_handle_sink_event), (gst_queue_chain),
8628 (gst_queue_push_one), (gst_queue_loop):
8629 * plugins/elements/gstqueue.h:
8630 Be smarter when calculating the current amount of data in the queue by
8631 measuring the difference between start and end timestamps (in running
8632 time) inside the queue. Fixes #432876.
8633 API: GstQueue::pushing to notify elements that we are pushing data again
8634 since the running signal is rather broken for this purpose.
8636 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8638 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8639 gst_queue_base_init, gst_queue_init):
8642 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8644 * win32/common/libgstreamer.def:
8645 Add new exported functions.
8646 * win32/vs6/grammar.dsp:
8647 Use grammar pre-generated files.
8649 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8651 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8654 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8656 * gst/gstutils.c: (gst_parse_bin_from_description):
8658 Maintain API and ABI when --disable-parse is used. Now that
8659 we have an appropriate error code, we can just return NULL and the
8660 appropriate error when gst_parse_launch() is used despite it having
8661 been disabled (#342564).
8663 * tests/check/Makefile.am:
8664 * tests/check/pipelines/.cvsignore:
8665 * tests/check/pipelines/parse-disabled.c:
8666 Make sure these functions exist and return NULL plus a GError when
8667 --disable-parse is used.
8669 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8671 * tests/benchmarks/complexity.c: (main):
8672 * tests/benchmarks/mass-elements.c: (main):
8673 Set a good example and don't leak messages.
8675 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8677 * docs/gst/Makefile.am:
8678 * docs/libs/Makefile.am:
8679 Correct fixxrefs options.
8681 * docs/plugins/Makefile.am:
8682 * docs/plugins/gstreamer-plugins-docs.sgml:
8683 * docs/plugins/gstreamer-plugins-sections.txt:
8684 * plugins/elements/Makefile.am:
8685 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8686 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8687 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8688 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8689 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8690 _GstCapsFilterClass, trans_class):
8691 * plugins/elements/gstelements.c (name, rank, type, _elements):
8692 * plugins/elements/gstidentity.c
8693 (gst_identity_check_imperfect_timestamp,
8694 gst_identity_check_imperfect_offset):
8695 Document capsfilter and add doc-blurb to identity.
8697 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8699 * libs/gst/controller/gstcontroller.c:
8700 (gst_controlled_property_set_interpolation_mode):
8701 * libs/gst/controller/gstinterpolation.c:
8702 Don't crash if someone tries to set an interpolation mode that
8703 is invalid or that isn't supported yet. Fixes #422295.
8705 * tests/check/libs/controller.c: (GST_START_TEST),
8706 (gst_controller_suite):
8707 Add a test case for the above.
8709 2007-05-03 Edward Hervey <edward@fluendo.com>
8711 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8712 Properly set the last_stop position on GstSegment. This will only happen
8713 if there is a buffer to push out.
8715 2007-05-03 Wim Taymans <wim@fluendo.com>
8717 * libs/gst/base/gstbasetransform.c:
8718 (gst_base_transform_buffer_alloc):
8719 always_in_place does not mean that the sink and source caps are the
8720 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8722 2007-05-03 Wim Taymans <wim@fluendo.com>
8724 * docs/libs/gstreamer-libs-sections.txt:
8725 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8726 (gst_base_src_default_query), (gst_base_src_get_range):
8727 * libs/gst/base/gstbasesrc.h:
8728 API: gst_base_src_query_latency(). Added method so that subclasses can
8729 easily get the latency values of the base source class.
8731 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8733 * tools/gst-inspect.c (print_implementation_info):
8736 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8738 * tools/Makefile.am:
8739 * tools/gst-launch.1.in:
8740 Don't create a customised man page based on the host architecture,
8741 describe the default registry path generically. That way the man
8742 page is the same for all architectures and packagers have one
8743 multilib issue less to deal with. Fixes #434926.
8745 2007-05-02 Wim Taymans <wim@fluendo.com>
8748 Fix documentation as spotted by rg on IRC.
8750 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8753 Improve docs for gst_element_{link,unlink}.
8755 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8757 * docs/design/part-events.txt:
8758 * docs/design/part-overview.txt:
8762 * libs/gst/base/gstbasesink.c:
8763 Typo fixes; minor docs addition.
8765 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8767 * docs/gst/gstreamer-sections.txt:
8768 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8769 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8771 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8772 or src that supports a given URI protocol exists.
8774 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8776 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8777 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8778 Set the location to NULL if "file://" is set as URI. Otherwise
8779 some random previous URI would still be set if "file://" is
8780 set on an already used filesink/filesrc.
8782 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8784 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8785 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8786 Special case the "file://" URI as as this is used by some
8787 applications to test with gst_element_make_from_uri if there's
8788 an element that supports the URI protocol.
8789 Also move the g_path_is_absolute() check for the location part
8790 of the URI to also check this for "file://localhost/bla" URIs.
8792 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8794 * docs/gst/gstreamer-sections.txt:
8795 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8797 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8799 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8801 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8803 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8804 (gst_registry_binary_load_pad_template),
8805 (gst_registry_binary_load_plugin),
8806 (gst_registry_binary_read_cache):
8807 * gst/gstregistrybinary.h:
8808 Implement no-mmap alternative for registry reading. Do code cleanups.
8809 Add more comments about avoiding strdups for all text data. Comments
8812 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8814 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8815 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8816 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8817 Comment structs and reformat to fix the build (that stuff should go
8818 into a priv. header).
8820 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8822 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8823 (gst_registry_binary_load_feature):
8824 * gst/gstregistrybinary.h:
8825 Refactor so that we can implement multiple features. Add support for
8826 TypeFindFactory features.
8828 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8830 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8833 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8835 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8837 * gst/gstbin.c: (gst_bin_element_set_state),
8838 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8839 (bin_handle_async_done), (gst_bin_handle_message_func):
8840 Fix build with --gst-disable-gst-debug
8842 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8844 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8845 Make sure streaming has finished before calling the ::stop() vfunc,
8846 since that vfunc might clear state which is being used in the
8847 streaming thread. This fixes a race that caused crashes in
8848 audioresample when shutting down a pipeline (#420106).
8850 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8852 * docs/gst/gstreamer-sections.txt:
8853 That was one byte missing.
8855 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8858 * docs/gst/gstreamer-sections.txt:
8860 * gst/gstconfig.h.in:
8861 * gst/gstobject.c: (gst_object_class_init),
8862 (gst_signal_object_class_init):
8864 2nd attempt to have a xml-less build as a joined effort of #413123
8867 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8869 * docs/design/draft-tagreading.txt:
8870 Added open issues/thoughts to draft.
8872 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8874 * gst/parse/grammar.tab.pre.c:
8875 * gst/parse/grammar.tab.pre.h:
8876 * gst/parse/lex._gst_parse_yy.pre.c:
8877 Update the prebuild parser sources.
8879 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8881 * gst/parse/Makefile.am:
8882 And now fix the building of the flex sources. Now everything should
8885 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8887 * gst/parse/Makefile.am:
8888 Now hopefully fix the build failures by setting proper rule
8889 dependencies and moving instead of copying.
8891 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8893 * tests/benchmarks/complexity.gnuplot:
8894 * tests/benchmarks/complexity.scm:
8895 * tests/benchmarks/mass-elements.gnuplot:
8896 * tests/benchmarks/mass-elements.scm:
8897 Total licensification.
8899 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8901 * gst/parse/Makefile.am:
8902 Fix the build by correcting the rule that gave wrong files to flex.
8904 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8906 * tests/benchmarks/complexity.c:
8907 * tests/benchmarks/mass-elements.c:
8908 Change licence to LGPL as granted by Benjamin and Andy.
8910 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8912 * gst/parse/Makefile.am:
8913 Add correct grammar.tab.h dependency if compiling without new enough
8914 flex. Fixes #431150.
8916 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8918 * gst/parse/Makefile.am:
8919 Fix typo and use outdated sources if the flex/bison sources are newer
8920 than the pregenerated ones but flex is too old. Print a warning in
8921 that case. This should fix the build on the build bot.
8923 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8925 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8926 * gst/parse/Makefile.am:
8927 * gst/parse/grammar.y:
8928 * gst/parse/parse.l:
8929 Make the parser reentrant and recursively callable. This requires flex
8930 >= 2.5.31, for older versions pregenerated sources are used as we
8931 can't bump the build dependency. Finally fixes #349180.
8933 * gst/gstparse.c: (gst_parse_launch):
8934 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8937 * docs/gst/Makefile.am:
8938 * docs/gst/Makefile.am:
8939 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8940 (__gst_parse_strfree), (__gst_parse_link_new),
8941 (__gst_parse_link_free), (__gst_parse_chain_new),
8942 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8943 (gst_parse_element_set), (gst_parse_free_link),
8944 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8945 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8946 (_gst_parse_launch):
8947 * gst/parse/grammar.tab.pre.h:
8948 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8949 (yy_get_previous_state), (yy_try_NUL_trans), (input),
8950 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8951 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8952 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8953 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8954 (_gst_parse_yypop_buffer_state),
8955 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8956 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8957 (yy_fatal_error), (_gst_parse_yyget_extra),
8958 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8959 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8960 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8961 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8962 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8963 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8964 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8965 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8966 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8967 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8968 (_gst_parse_yyfree):
8969 If the installed flex version is too old use pre-generated parser
8970 sources. These pre-generated parser sources are always updated when
8971 the actual flex/bison sources change but require everybody who wants
8972 to change something in the parser to have flex >= 2.5.31 installed.
8974 2007-04-18 Stefan Kost <ensonic@users.sf.net>
8976 * common/m4/gst-gettext.m4:
8977 * gst/gst-i18n-lib.h:
8978 Make --disable-nls to work
8980 2007-04-17 Wim Taymans <wim@fluendo.com>
8982 * gst/gstconfig.h.in:
8983 Revert previous change that broke the build.
8985 2007-04-17 Stefan Kost <ensonic@users.sf.net>
8989 * gst/gstconfig.h.in:
8990 Drop libxml2 dependency when building with
8991 --enable-binary-registry --disable-loadsave
8993 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
8995 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8996 (gst_registry_binary_read_cache):
8997 * gst/gstregistrybinary.h:
8998 Remove unnecessary <sys/mman.h> include which broke the win32 build
8999 with MingW; move includes from header file to .c file, even if the
9000 header file isn't installed; use g_strerror() where UTF-8 strings
9001 are expected, such as in GST_DEBUG messages.
9003 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9005 * docs/libs/gstreamer-libs-sections.txt:
9006 Remove bogus addition for API I didn't end up keeping.
9008 * libs/gst/base/gstbasesrc.h:
9009 Mention Since: 0.10.13 in the documentation.
9011 Add the API keyword to the previous ChangeLog entry.
9013 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9015 * docs/libs/gstreamer-libs-sections.txt:
9016 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9017 (gst_base_src_default_prepare_seek_segment),
9018 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9019 * libs/gst/base/gstbasesrc.h:
9020 Allow basesrc derived classes to execute seeks in other formats
9021 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9022 to prepare the GstSegment in any format that their perform_seek method
9023 will be able to understand. The default implementation provides the
9024 old behaviour of attempting to convert the seek offsets to the
9025 configured native format.
9027 API: basesrc::prepare_seek_segment vmethod.
9029 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9031 * gst/gstelement.c: (gst_element_get_state_func):
9032 Don't output the same debug statement twice.
9034 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9035 (gst_adapter_peek), (gst_adapter_take_buffer):
9036 Optimise the case where we have buffers at the head of the queue that
9037 can be joined quickly (because they're contiguous sub-buffers) by
9038 merging them together rather than copying data out into new memory.
9040 * gst/parse/grammar.y:
9041 * tests/check/pipelines/parse-launch.c:
9042 Fix a leak in an error path for parse_launch, and add a check
9043 for it to the testsuite.
9045 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9047 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9048 Don't deadlock when releasing a pad - gst_pad_set_active may try
9049 and take the multiqueue lock too.
9051 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9053 * gst/gsterror.c: (_gst_core_errors_init):
9055 API: add GST_CORE_ERROR_DISABLED (#392804).
9057 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9059 * docs/faq/gst-uninstalled:
9060 don't get empty paths on the PATH variables
9061 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9062 Don't format for the uncommon terminal width of 84 characters.
9064 2007-04-06 Wim Taymans <wim@fluendo.com>
9066 * gst/gstpipeline.c: (reset_stream_time),
9067 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9068 Only try to select a different pipeline clock when we went back to
9069 PAUSED and not when we merely got flushed.
9071 2007-04-05 Michael Smith <msmith@fluendo.com>
9073 * tools/gst-launch.1.in:
9074 fractions are better supported in gstreamer than ractions, so
9075 suggest using those.
9077 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9079 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9083 Added Danish translation.
9085 2007-04-05 Wim Taymans <wim@fluendo.com>
9087 * libs/gst/base/gstbasesink.c:
9088 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9089 Fix leak caused when refusing newsegment after EOS.
9091 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9092 (gst_fake_sink_init), (gst_fake_sink_set_property),
9093 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9094 (gst_fake_sink_render), (gst_fake_sink_change_state):
9095 * plugins/elements/gstfakesink.h:
9096 Add num-buffers property to make the element generate EOS after a
9097 configurable amount of buffers.
9098 API: fakesink::num-buffers property.
9100 * tests/check/elements/fakesink.c: (GST_START_TEST),
9102 Fix GstBus leak in test.
9103 Test for fakesink num-buffers.
9105 2007-04-05 Wim Taymans <wim@fluendo.com>
9107 * libs/gst/base/gstbasesink.c:
9108 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9109 (gst_base_sink_change_state):
9110 Don't accept anything after an EOS, return UNEXPECTED instead.
9112 * tests/check/elements/fakesink.c: (GST_START_TEST),
9114 Unit test for new EOS behaviour.
9116 2007-04-05 Wim Taymans <wim@fluendo.com>
9118 * gst/gstelement.c: (gst_element_get_request_pad):
9119 Make padtemplates also work when they don't contain %s or %d.
9121 2007-04-05 Wim Taymans <wim@fluendo.com>
9123 * docs/gst/gstreamer-sections.txt:
9124 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9125 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9127 Improve _adjust_unlocked() so that it overflows less.
9128 Add gst_clock_unadjust_unlocked to convert from external time to
9129 internal time based on calibration.
9130 Add some more debug.
9131 API: GstClock::gst_clock_unadjust_unlocked()
9133 2007-04-03 Wim Taymans <wim@fluendo.com>
9135 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9137 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9138 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9139 when releasing sink pad. Fixes #425400.
9141 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9143 * docs/random/ensonic/dynlink.txt:
9144 More work on proposal for new core api.
9146 * docs/libs/gstreamer-libs-sections.txt:
9147 * libs/gst/base/gstbasetransform.h:
9148 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9150 * libs/gst/controller/gstcontroller.c:
9151 (on_object_controlled_property_changed),
9152 (gst_controller_sync_values),
9153 (gst_controller_set_interpolation_mode):
9154 * libs/gst/controller/gstcontroller.h:
9155 Less verbose logging add docs for unimplemented parts and correctly
9156 return when using unavailable parts.
9158 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9160 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9161 Move all the debug to the CLOCK category, and associate it with
9164 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9166 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9167 Make take_buffer a bit quicker by removing redundant checks
9168 caused by calling gst_adapter_take.
9170 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9172 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9175 * tests/check/Makefile.am:
9176 * tests/check/elements/.cvsignore:
9177 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9178 (GST_START_TEST), (multiqueue_suite):
9179 Add some dead simple unit tests for the 'multiqueue' element
9180 (some bits don't work yet and are disabled for now).
9182 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9184 * gst/gstelement.c: (gst_element_get_request_pad),
9185 (gst_element_class_get_request_pad_template):
9186 Make gst_element_get_request_pad() create request pads only for
9187 request pad templates and not for, say, sometimes pad templates.
9189 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9191 * docs/design/draft-klass.txt:
9192 Add example that needs more thinking.
9194 * docs/design/draft-missing-plugins.txt:
9195 More thoughts about wrapper plugins.
9197 * docs/random/ensonic/embedded.txt:
9198 * docs/random/ensonic/profiling.txt:
9201 2007-03-25 Wim Taymans <wim@fluendo.com>
9203 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9204 (gst_base_src_loop):
9205 Only push the segment events in the PLAYING state for live sources.
9207 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9209 * gst/gstpipeline.c: (gst_pipeline_change_state):
9210 Modify the clock distribution path in PAUSED->PLAYING so that we
9211 never attempt to choose a new clock unless we're actually leaving
9212 the PAUSED state for the first time. This prevents choosing a
9213 different clock when the state_change gets called for a 2nd time due
9214 to some element doing an async state change.
9216 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9218 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9219 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9220 (gst_pad_chain_unchecked), (gst_pad_push):
9221 Revert last commit. This needs some more thoughts.
9223 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9225 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9226 (gst_pad_chain_unchecked), (gst_pad_push):
9227 Check in set_caps if the caps are compatible with the pad and remove
9228 two functions that are redundant now. Fixes #421543.
9230 2007-03-22 Wim Taymans <wim@fluendo.com>
9232 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9233 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9234 Unref some more to make valgrind happy.
9236 2007-03-22 Wim Taymans <wim@fluendo.com>
9238 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9239 (gst_system_clock_id_wait_jitter),
9240 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9241 Fix anoying regression that survived a few releases. When adding an
9242 async entry while blocking on a sync entry, the sync entry will unblock
9243 but still be busy, so it should continue to wait instead of returning
9245 Add some comments here and there.
9247 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9248 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9249 Add testcase for this.
9251 2007-03-22 Wim Taymans <wim@fluendo.com>
9253 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9254 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9255 WRONG_STATE and can silently pause the task. All other cases should
9258 2007-03-22 Wim Taymans <wim@fluendo.com>
9260 Patch by: Ville Syrjala <syrjala at sci dot fi>
9262 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9263 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9266 2007-03-21 Michael Smith <msmith@fluendo.com>
9268 * docs/pwg/advanced-types.xml:
9269 Fix some errors in the typefinding docs pointed out on irc.
9271 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9273 * libs/gst/base/gstbasesrc.c:
9274 Clarify FIXME comment in the face of having added unlock_stop()
9276 2007-03-21 Wim Taymans <wim@fluendo.com>
9278 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9279 Prepare for release where we warn against possible app breakage in the
9280 case of live pipelines along with an env var to enable/disable live
9281 preroll mode (GST_COMPAT=[no-]live-preroll).
9283 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9285 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9286 So we should use correct constants for checking for None offset.
9288 2007-03-20 Wim Taymans <wim@fluendo.com>
9290 * docs/design/part-block.txt:
9291 Mention the fact that the newly switched element should be set to at
9294 2007-03-20 Wim Taymans <wim@fluendo.com>
9297 Fix compilation with registry disabled as spotted by Saur.
9299 2007-03-20 Wim Taymans <wim@fluendo.com>
9301 Patch by: Olivier Crete <tester at tester dot ca>
9303 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9304 Look at the pending state too when syncing the element state to the
9305 parent. Fixes #420133.
9307 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9309 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9310 (gst_base_sink_change_state):
9311 * libs/gst/base/gstbasesink.h:
9312 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9313 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9314 (gst_base_src_deactivate):
9315 * libs/gst/base/gstbasesrc.h:
9316 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9317 for sub-classes to correctly clear any state they set trying to
9318 unlock, such as clearing out unlock commands from a command fd.
9319 API: basesrc::unlock_stop
9320 API: basesink::unlock_stop
9322 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9323 (gst_fd_sink_render), (gst_fd_sink_unlock),
9324 (gst_fd_sink_unlock_stop):
9325 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9326 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9327 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9329 Implement unlock_stop in fdsrc and fdsink.
9330 Implement seeking in fdsrc when a seekable fd is passed, as in
9331 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9333 2007-03-19 Wim Taymans <wim@fluendo.com>
9335 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9337 * gst/gstelement.c: (gst_element_class_init):
9338 Fix pad-added and pad-removed signal signatures so that the pad type is
9339 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9341 2007-03-19 Wim Taymans <wim@fluendo.com>
9343 * docs/gst/gstreamer-sections.txt:
9344 Add new element field and method.
9346 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9347 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9348 (gst_bin_recalc_state), (gst_bin_get_state_func),
9349 (gst_bin_element_set_state), (gst_bin_change_state_func),
9350 (gst_bin_continue_func), (bin_bus_handler),
9351 (bin_push_state_continue), (bin_handle_async_start),
9352 (bin_handle_async_done), (gst_bin_handle_message_func):
9353 Make async state changes a bit smarter by using new ASYNC_START and
9354 ASYNC_DONE messages. This reduces the number of times we run the state
9355 recalculation thread.
9356 Don't change state of element with a pending ASYNC_START message.
9357 Deprecate STATE_DIRTY messages.
9359 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9360 (gst_element_get_state_func), (gst_element_continue_state),
9361 (gst_element_lost_state), (gst_element_set_state_func),
9362 (gst_element_change_state):
9364 Keep the state that was last set by the app in a new element field.
9365 Don't allow state changes when handling an element event.
9366 Post ASYNC_START and ASYNC_DONE messages.
9367 Change lost_state so that we go to PAUSED and wait for the parent to set
9368 us to PLAYING again (so latency calculation can be performed)
9369 Export gst_element_change_state() method so that subclasses can use it.
9370 API: gst_element_change_state()
9371 API: GST_STATE_TARGET
9373 * gst/gstpipeline.c: (gst_pipeline_class_init),
9374 (reset_stream_time), (gst_pipeline_change_state),
9375 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9376 Using the new ASYNC_START message we can reset the base_time when
9377 needed. This can then be used to implement base_time redistribution in
9378 flushing seeks so that we can remove the explicit seek handling.
9379 Perform latency query and configuration when going to PLAYING.
9381 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9382 (gst_base_sink_query), (gst_base_sink_change_state):
9383 Post new ASYNC_START/ASYNC_DONE messages.
9385 * tests/check/generic/sinks.c: (GST_START_TEST):
9386 Fix test because the bin will not set the async element to PLAYING right
9389 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9390 Make the message check a little stronger.
9391 Handle ASYNC messages.
9393 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9394 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9395 Expect ASYNC_DONE messages.
9397 2007-03-19 Wim Taymans <wim@fluendo.com>
9399 * docs/gst/gstreamer-sections.txt:
9400 * gst/gstmessage.c: (gst_message_new_async_start),
9401 (gst_message_new_async_done), (gst_message_parse_info),
9402 (gst_message_parse_async_start):
9404 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9407 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9409 * tools/gst-inspect.c:
9410 (print_plugin_automatic_install_info_codecs):
9411 Now that we don't check for the 'Codec' keyword any longer in the
9412 klass, we shouldn't spew a warning if the klass isn't a decoder or
9413 encoder (since it might be a Source/Network, for example).
9415 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9417 * tools/gst-inspect.c:
9418 (print_plugin_automatic_install_info_codecs):
9419 Don't require decoder/demuxer/depayloader elements or
9420 encoder/muxer/paylader elements to have 'Codec' as part of their
9421 factory class string when introspecting a plugin's capabilities.
9422 draft-klass.txt mentions that it might be removed in future, and
9423 flump3dec doesn't have it as part of its class string, so chances
9424 are others might also not have it.
9426 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9448 Update translations from translation project
9450 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9452 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9453 (gst_child_proxy_set_property):
9454 Invert precondition check to be alike the ones in the mimiced gobject
9457 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9459 * docs/design/draft-tagreading.txt:
9460 * docs/random/ensonic/audiobaseclasses.txt:
9461 Do some Architect work.
9463 * gst/gstobject.c: (gst_object_set_name):
9467 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9469 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9471 * gst/gstsystemclock.c: (gst_system_clock_init),
9472 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9473 Defer starting the async system clock thread until the first async
9474 wait is scheduled. Fixes #414986.
9476 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9478 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9479 (gst_single_queue_free):
9480 Fix small leak (free GstSingleQueue structure too, not only contents).
9482 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9484 * gst/gstbin.c:(gst_bin_add):
9485 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9486 * win32/common/libgstbase.def:
9487 * win32/common/libgstreamer.def:
9488 Add new exported functions.
9490 2007-03-09 Wim Taymans <wim@fluendo.com>
9492 * docs/plugins/gstreamer-plugins-sections.txt:
9495 2007-03-09 Wim Taymans <wim@fluendo.com>
9497 * docs/gst/gstreamer-sections.txt:
9498 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9500 Add metadata copy functions. Fixes #393099.
9501 API: gst_buffer_copy_metadata()
9503 * gst/gstutils.c: (gst_buffer_stamp):
9504 * libs/gst/base/gstbasetransform.c:
9505 (gst_base_transform_prepare_output_buffer):
9506 Use new metadata copy functions.
9508 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9510 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9511 (gst_identity_init), (gst_identity_check_perfect),
9512 (gst_identity_check_imperfect_timestamp),
9513 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9514 (gst_identity_set_property), (gst_identity_get_property):
9515 * plugins/elements/gstidentity.h:
9516 Separate out check-imperfect-timestamp and check-imperfect-offset.
9517 Put back check-perfect as it was to keep compatibility.
9519 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9521 * gst/gstelement.c: (gst_element_dispose):
9522 There's no need to warn if VOID_PENDING is not NONE here, as
9523 long as the state is NULL it's ok, and that's checked immediately
9526 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9528 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9529 Fix check for perfect stream to ignore buffers with -1
9530 offsets/offset ends when checking data contiguity.
9532 2007-03-08 Wim Taymans <wim@fluendo.com>
9534 * tools/gst-launch.c: (event_loop):
9535 Print INFO messages.
9537 2007-03-08 Wim Taymans <wim@fluendo.com>
9539 * libs/gst/base/gstbasetransform.c:
9540 (gst_base_transform_sink_eventfunc),
9541 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9542 (gst_base_transform_activate):
9543 * libs/gst/base/gstbasetransform.h:
9544 Add support for dropping buffers with custom GstFlowReturn.
9545 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9546 buffers or dropped buffers.
9548 * docs/libs/gstreamer-libs-sections.txt:
9549 docs for new custom return code.
9551 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9552 Use drop support in base class to implement drop-probability.
9554 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9556 * gst/gst.c: (load_plugin_func):
9557 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9558 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9559 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9560 Remove newlines at end of debug log strings.
9562 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9564 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9565 Only post bus message at max, once per buffer received.
9567 2007-03-07 Wim Taymans <wim@fluendo.com>
9569 * docs/design/Makefile.am:
9570 * docs/design/part-synchronisation.txt:
9571 Add doc about synchronisation
9573 * docs/design/draft-latency.txt:
9574 * docs/design/part-TODO.txt:
9575 * docs/design/part-clocks.txt:
9576 * docs/design/part-events.txt:
9577 * docs/design/part-gstbus.txt:
9578 * docs/design/part-gstpipeline.txt:
9579 * docs/design/part-live-source.txt:
9580 * docs/design/part-messages.txt:
9581 * docs/design/part-overview.txt:
9582 * docs/design/part-streams.txt:
9583 * docs/design/part-trickmodes.txt:
9584 Documentation updates.
9586 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9589 Update the doap file.
9591 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9593 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9594 Rename non-perfect to imperfect for Mike and for the sanctity of the
9596 Also make sure bus message gets emitted for data-incontiguities.
9598 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9600 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9601 (gst_identity_start):
9602 * plugins/elements/gstidentity.h:
9603 Emit bus message if check-perfect is true and we encounter a
9604 non-perfect stream between 2 consecutive buffers.
9607 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9612 === release 0.10.12 ===
9614 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9617 releasing 0.10.12, "Inevitable Demise"
9619 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9622 Version 0.10.11.2 (0.10.12 pre-release)
9623 Bump libtool versioning.
9625 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9627 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9628 Log flow-names and not numbers.
9630 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9633 Convert to new AG_GST style.
9635 2007-02-28 Wim Taymans <wim@fluendo.com>
9637 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9638 Don't unref query twice.
9640 2007-02-28 Wim Taymans <wim@fluendo.com>
9642 * gst/gstvalue.c: (gst_value_transform_object_string),
9643 (_gst_value_initialize):
9644 Implement GstObject -> string transform so we print object names
9645 when serializing GValues containing GstObjects.
9647 2007-02-28 Wim Taymans <wim@fluendo.com>
9649 * docs/gst/gstreamer-sections.txt:
9650 Add new stuff to docs.
9652 2007-02-28 Wim Taymans <wim@fluendo.com>
9654 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9655 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9656 (gst_base_sink_change_state):
9657 Improve latency query code.
9658 Don't leak latency events.
9660 * tests/check/gst/gstbin.c: (GST_START_TEST):
9663 2007-02-28 Wim Taymans <wim@fluendo.com>
9665 * gst/gstelement.c: (gst_element_message_full),
9666 (gst_element_get_state_func):
9668 Improve docs a little. Added Since: for new macro.
9670 * gst/gstobject.c: (gst_object_sink):
9671 * gst/gstpipeline.c: (gst_pipeline_change_state),
9672 (gst_pipeline_set_new_stream_time):
9673 * gst/gstpipeline.h:
9674 Improve debugging and docs.
9676 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9679 2007-02-28 Wim Taymans <wim@fluendo.com>
9681 * gst/gstelement.c: (gst_element_message_full),
9682 (gst_element_set_locked_state), (gst_element_get_state_func),
9683 (gst_element_change_state):
9684 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9685 Documentation updates.
9686 Small code cleanups.
9688 * gst/gstmessage.c: (gst_message_new_info),
9689 (gst_message_parse_info):
9691 API: gst_message_new_info()
9692 API: gst_message_parse_info()
9693 Add INFO message create and parse code.
9695 2007-02-28 Wim Taymans <wim@fluendo.com>
9697 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9698 (bin_query_latency_done):
9699 Also report the live parameter of a latency query.
9701 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9703 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9704 Copy the current generic/states example from -base and adapt so
9705 we can use the exact same code everywhere.
9706 Check a STATES_IGNORE_ELEMENTS env var which can be used
9707 to ignore certain element factories for this test, which is
9708 what is being done in -base
9709 * tests/check/Makefile.am:
9710 Mention this environment variable.
9712 2007-02-27 Wim Taymans <wim@fluendo.com>
9714 * docs/gst/gstreamer-sections.txt:
9715 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9716 (gst_bus_timed_pop), (gst_bus_pop):
9718 API: gst_bus_timed_pop()
9719 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9720 message to arrive on the bus.
9722 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9724 Two unit tests for new _timed_pop() function.
9726 2007-02-23 Wim Taymans <wim@fluendo.com>
9728 * gst/gstpipeline.c: (gst_pipeline_change_state),
9729 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9730 Don't ref a NULL clock in _provide_clock_func().
9731 Don't allow an INVALID delay.
9732 Don't try to calculate base_time with an invalid start_time.
9733 Also distribute and notify a NULL clock when it was selected.
9735 * tools/gst-launch.c: (event_loop):
9736 Don't crash when a NULL clock was selected in the pipeline.
9738 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9740 * docs/design/Makefile.am:
9741 * docs/design/draft-missing-plugins.txt:
9742 * docs/random/draft-missing-plugins.txt:
9743 Some small updates: update plugin system identifier prefix
9744 ('gstreamer.net' to 'gstreamer'), mention our new install
9745 API in libgstbaseutils rather than libgimme-codec, add
9746 reference to the online docs.
9748 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9750 * win32/common/config.h:
9751 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9752 use moap cl ci to only check in what is mentioned in the ChangeLog.
9754 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9756 * docs/gst/gstreamer-sections.txt:
9758 Fix up documentation to link to the correct GstGError section.
9759 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9761 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9763 * tools/gst-launch.c: (event_loop):
9764 Make sure that we actually show the important message part of a
9766 No need to check if the gerror is not NULL to free; first of all
9767 g_free accepts NULL; and second the default error handler would
9768 segfault if gerror was NULL.
9770 2007-02-21 Wim Taymans <wim@fluendo.com>
9772 * docs/gst/gstreamer-sections.txt:
9773 Removed docs as well.
9775 2007-02-21 Wim Taymans <wim@fluendo.com>
9777 * gst/gstmessage.c: (gst_message_parse_duration):
9779 Remove new messages for release.
9781 2007-02-20 Wim Taymans <wim@fluendo.com>
9783 * docs/design/part-gstghostpad.txt:
9784 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9785 (gst_ghost_pad_new_full):
9786 Make the ghostpad a parent of the internal pad again for better backward
9787 compatibility. Don't write code that relies on this however.
9789 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9790 (gst_pad_link_check_hierarchy):
9791 Require that parents should be GstElements in the hierarchy check.
9793 2007-02-20 Wim Taymans <wim@fluendo.com>
9795 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9796 (gst_bin_change_state_func), (bin_query_min_max_init),
9797 (bin_query_latency_fold), (bin_query_latency_done),
9800 Implement latency query.
9802 2007-02-20 Wim Taymans <wim@fluendo.com>
9804 * docs/design/part-gstghostpad.txt:
9805 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9806 (gst_ghost_pad_internal_do_activate_push),
9807 (gst_ghost_pad_internal_do_activate_pull),
9808 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9809 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9810 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9811 Do not set the internal pad as a parent anymore so we can avoid
9812 hierarchy linking errors when the ghostpad has no parent yet. This also
9813 fixes failed activation because of unlinked internal pads, which in
9814 turn fixes the impossible case where you have to activate a pad before
9815 you can add it to a running element.
9818 * gst/gstpad.c: (pre_activate), (post_activate),
9819 (gst_pad_set_active), (gst_pad_activate_pull),
9820 (gst_pad_activate_push), (gst_pad_check_pull_range):
9821 Add some more debug info.
9822 Mark activation mode in pre_activate so that we don't try to activate in
9823 endless loops. Fixes #385084.
9825 2007-02-19 Wim Taymans <wim@fluendo.com>
9827 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9828 (gst_base_transform_check_get_range):
9829 Implement a checkgetrange function instead of relying on the default
9830 core behaviour that assumes we can operate in pull mode if we have a
9831 getrange function. First step at fixing #385084.
9833 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9835 * gst/gstchildproxy.h:
9836 * libs/gst/base/gstbasesink.h:
9837 * libs/gst/base/gstbasesrc.h:
9838 * libs/gst/base/gstbasetransform.h:
9839 More docs coverage and some ChangeLog surgery (add missing names)
9841 2007-02-15 Wim Taymans <wim@fluendo.com>
9843 * docs/design/part-TODO.txt:
9844 * docs/design/part-activation.txt:
9845 * docs/design/part-block.txt:
9846 * docs/design/part-buffering.txt:
9847 * docs/design/part-clocks.txt:
9848 * docs/design/part-element-source.txt:
9849 * docs/design/part-events.txt:
9850 * docs/design/part-gstbin.txt:
9851 * docs/design/part-gstbus.txt:
9852 * docs/design/part-gstpipeline.txt:
9853 * docs/design/part-live-source.txt:
9854 * docs/design/part-messages.txt:
9855 * docs/design/part-overview.txt:
9856 * docs/design/part-qos.txt:
9857 * docs/design/part-query.txt:
9858 * docs/design/part-states.txt:
9859 * docs/design/part-trickmodes.txt:
9860 Some doc updates. Start renaming from stream_time to running_time where
9861 it was used wrongly.
9863 2007-02-15 Wim Taymans <wim@fluendo.com>
9865 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9866 Answer LATENCY query.
9868 2007-02-15 Wim Taymans <wim@fluendo.com>
9870 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9874 2007-02-15 Wim Taymans <wim@fluendo.com>
9876 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9877 (gst_pad_dispatcher):
9878 Improve debugging of default pad dispatcher and query functions.
9880 2007-02-15 Wim Taymans <wim@fluendo.com>
9882 * docs/gst/gstreamer-sections.txt:
9883 Remove old unused method.
9885 2007-02-13 Wim Taymans <wim@fluendo.com>
9887 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9890 2007-02-13 Wim Taymans <wim@fluendo.com>
9892 * docs/design/part-seeking.txt:
9895 * gst/gstsegment.c: (gst_segment_set_seek):
9896 Revert old bogus change that should make seeking work again.
9898 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9900 * docs/random/ensonic/dynlink.txt:
9901 * docs/random/ensonic/interfaces.txt:
9902 * docs/random/ensonic/receipies.txt:
9903 Possible dynamic reconnection api, plus some type fixes the other two
9906 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
9908 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9909 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9910 Also check for an absolute path following file:// in the filesrc
9911 element. Remove redundant check and call g_path_is_absolute() on the
9914 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9916 * docs/design/draft-klass.txt:
9917 Add existing category analysis.
9920 Fix doc example, framerate is a fraction.
9922 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9925 * docs/gst/Makefile.am:
9926 * docs/gst/gstreamer-sections.txt:
9927 * docs/libs/Makefile.am:
9928 Erm, forgot a bunch of --extra-dir.
9930 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9933 * docs/gst/Makefile.am:
9934 * docs/libs/Makefile.am:
9935 * docs/plugins/Makefile.am:
9936 Add crossreferences to glib/gobject docs.
9938 2007-02-12 Wim Taymans <wim@fluendo.com>
9940 * docs/design/draft-latency.txt:
9943 * docs/libs/gstreamer-libs-sections.txt:
9944 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9945 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9946 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9947 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9948 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9949 (gst_base_sink_get_position), (gst_base_sink_query),
9950 (gst_base_sink_change_state):
9951 * libs/gst/base/gstbasesink.h:
9952 API: gst_base_sink_query_latency() to let subclasses query the upstream
9954 API: gst_base_sink_get_latency() to let subclasses query the configured
9955 latency in the sink.
9956 Implement query and set latency.
9958 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9959 don't continue preroll when we are flushing. Fixes #405284.
9961 * tests/check/pipelines/stress.c: (change_state_timeout),
9962 (quit_timeout), (GST_START_TEST), (stress_suite):
9965 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
9967 Patch by: René Stadler <mail at renestadler de>
9969 * docs/gst/gstreamer-sections.txt:
9970 * gst/gsttaglist.c: (_gst_tag_initialize):
9972 API: add GST_TAG_REFERENCE_LEVEL (#403597).
9974 2007-02-11 Stefan Kost <ensonic@users.sf.net>
9976 * docs/libs/Makefile.am:
9977 Fix path to core docs.
9979 * gst/gstbin.c: (gst_bin_get_by_interface),
9980 (gst_bin_iterate_all_by_interface):
9981 Refix docs by also renaming 'interface' to 'iface' in implementation.
9983 * docs/gst/gstreamer-sections.txt:
9985 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9986 * gst/gstchildproxy.h:
9987 * gst/gstelementfactory.c:
9988 * gst/gstpadtemplate.h:
9989 * libs/gst/controller/gstcontroller.c:
9990 (gst_controlled_property_new):
9993 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
9995 * gst/gstbin.h:(gst_bin_get_by_interface),
9996 (gst_bin_iterate_all_by_interface):
9997 Replace interface parameter name by iface as interface is
9998 a reserved keyword in Visual Studio for C++ projects so it removes
9999 a build error for application developpers using VS.
10000 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10001 Fix a bug on Windows in uri format check. Now the prefix checked
10002 is file:// and next we check if the path after file:// is absolute.
10003 * win32/common/libgstbase.def:
10004 * win32/common/libgstdataprotocol.def:
10005 * win32/common/libgstgstreamer.def:
10006 Add new exported functions.
10008 2007-02-09 Andy Wingo <wingo@pobox.com>
10010 * tests/check/pipelines/simple-launch-lines.c
10011 (simple_launch_lines_suite, test_tee): Disable tee test until I
10012 have time to fix it :-(
10014 * tests/check/Makefile.am (noinst_HEADERS):
10015 * tests/check/libs/libsabi.c:
10016 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10017 * tests/check/gst/gstabi.c:
10018 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10020 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10021 tests for push and pull tee behavior.
10023 * plugins/elements/gsttee.h:
10024 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10025 mark as deprecated as well as unimplemented. It was a crack idea.
10026 Add support for tee operating in pull mode, off by default.
10028 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10029 normal-case logs down to LOG, raise errors to WARNING.
10030 (gst_registry_xml_read_cache): Don't log before calling a function
10033 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10034 exit (registry finalize).
10035 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10036 DEBUG log when we emit signals that people don't even have the
10037 chance to connect to.
10038 (gst_registry_scan_path_level): Less logging in the normal case.
10040 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10042 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10044 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10045 Correctly generate EOS for non-seekable files. We don't have a total
10046 length for them and would get an unexpected end of file if we only
10047 special-cased for regular files. (Fixes: #404569)
10049 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10051 * tests/check/elements/filesrc.c: (GST_START_TEST),
10053 Add unit test for the GstURIHandler interface in filesrc. This also
10054 tests the newly added file://localhost/foo/bar support.
10056 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10058 * gst/gstelementfactory.h:
10059 The klass string is not a hierarchy. Add reference to the design doc
10060 for more information and common types.
10062 2007-02-02 Wim Taymans <wim@fluendo.com>
10064 * gst/gstquery.c: (gst_query_new_latency):
10065 Remove old structure field.
10067 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10069 * tools/gst-launch.1.in:
10070 Give example for network streaming (#351998)
10072 2007-02-02 Wim Taymans <wim@fluendo.com>
10074 * docs/gst/gstreamer-sections.txt:
10075 Add docs for new methods.
10077 * gst/gstevent.c: (gst_event_new_latency),
10078 (gst_event_parse_latency):
10080 Add new LATENCY event to configure latency in a pipeline.
10081 API: gst_event_new_latency
10082 API: gst_event_parse_latency
10084 * gst/gstmessage.c: (gst_message_new_buffering),
10085 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10086 (gst_message_new_latency), (gst_message_parse_buffering),
10087 (gst_message_parse_lost_preroll):
10088 * gst/gstmessage.h:
10089 Added messages used in draft-latency.
10090 API: gst_message_new_lost_preroll
10091 API: gst_message_parse_lost_preroll
10092 API: gst_message_new_prerolled
10093 API: gst_message_new_latency
10095 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10096 (gst_query_parse_latency):
10098 Implemented new latency query as in design doc.
10099 API: gst_query_new_latency
10100 API: gst_query_set_latency
10101 API: gst_query_parse_latency
10103 2007-02-02 Wim Taymans <wim@fluendo.com>
10105 * docs/design/draft-latency.txt:
10106 Slight redesign to allow for dynamic latency adjustments.
10108 * docs/design/part-negotiation.txt:
10111 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10113 reviewed by: Wim Taymans <wim@fluendo.com>
10115 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10116 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10117 Allow file://localhost/foo/bar URLs and correctly fail for every other
10118 hostname that one sets. This was gnomevfssrc is linked for those if
10119 installed as it can handle it (#403172)
10121 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10123 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10125 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10126 (unref_data), (gst_collect_pads_add_pad_full):
10127 * libs/gst/base/gstcollectpads.h:
10128 Don't put the previously added destroy notify in the GstCollectData
10129 struct as all it's padding is already used and we don't want to break
10130 ABI. Instead put in the pad's GObject data for now. This should be
10131 cleaned up for 0.11 (#402393).
10133 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10135 reviewed by: Wim Taymans <wim@fluendo.com>
10137 * docs/libs/gstreamer-libs-sections.txt:
10138 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10139 (unref_data), (gst_collect_pads_add_pad),
10140 (gst_collect_pads_add_pad_full):
10141 * libs/gst/base/gstcollectpads.h:
10142 API: Add function to specify a destroy notification for custom
10143 GstCollectData when adding new pads in GstCollectPads (#402393).
10145 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10148 Update Swedish translation (#378255).
10150 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10152 * docs/design/draft-klass.txt:
10153 Fix the previous change, this is a list of categories and not a hierarchy.
10155 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10157 * docs/design/draft-klass.txt:
10158 Add info about how to get a list of used classes.
10160 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10162 * plugins/elements/gsttypefindelement.c:
10163 (gst_type_find_element_chain_do_typefinding),
10164 (gst_type_find_element_change_state):
10165 Don't leak found caps in chain function (no idea why that never
10166 showed up as a leak anywhere).
10168 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10171 Fix and expand GstPluginDesc API docs.
10173 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10176 * gst/gstelementfactory.c:
10177 * gst/gstpadtemplate.h:
10180 * libs/gst/controller/gstcontroller.c:
10181 (gst_controlled_property_new):
10182 * tests/examples/controller/audio-example.c:
10185 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10188 comment about refining the xml deps
10190 * docs/manuals.mak:
10191 comments about moving away from jade for docs
10194 recommit the ifdefs to use the binary registry
10196 * gst/gstbin.c: (gst_bin_change_state_func):
10197 this break is obsolete
10199 * gst/gstelementfactory.h:
10200 better GST_ELEMENT_DETAILS docs, add comment about translation
10205 * gst/gstobject.c: (gst_signal_object_get_type):
10206 add G_UNLIKELY as usual
10208 * gst/gstpad.c: (gst_pad_event_default):
10209 add fall trhu comment
10211 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10212 (gst_registry_binary_initialize_magic),
10213 (gst_registry_binary_save_string),
10214 (gst_registry_binary_save_pad_template),
10215 (gst_registry_binary_save_feature),
10216 (gst_registry_binary_save_plugin),
10217 (gst_registry_binary_write_cache),
10218 (gst_registry_binary_check_magic),
10219 (gst_registry_binary_load_pad_template),
10220 (gst_registry_binary_load_feature),
10221 (gst_registry_binary_load_plugin),
10222 (gst_registry_binary_read_cache):
10223 comment typo and formatting
10225 * gst/gstutils.c: (gst_element_state_get_name),
10226 (gst_element_state_change_return_get_name):
10227 remove obsolete breaks
10229 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10230 add FIXME 0.11 and remove cpp comment
10232 2007-01-29 Edward Hervey <edward@fluendo.com>
10234 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10235 Fix print statement in an even more portable way.
10237 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10239 * docs/gst/gstreamer-sections.txt:
10241 API: add GST_ROUND_DOWN_* macros (#401781).
10243 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10245 * docs/gst/gstreamer.types.in:
10246 * gst/gstregistry.c: (gst_registry_class_init):
10247 Document registry signals and make gtk-doc pick them up (#401381).
10249 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10251 * docs/pwg/building-testapp.xml:
10252 Add some audioconverts and audioresample to the pipeline, and some
10253 more comments and error handling.
10255 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10257 * docs/manual/manual.xml:
10258 * docs/pwg/pwg.xml:
10259 Fix typo (#400987).
10261 2007-01-26 Wim Taymans <wim@fluendo.com>
10263 * gst/gstcaps.c: (gst_static_caps_get):
10264 Init caps flags too.
10266 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10268 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10270 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10271 If not using mmap'ed files try to seek to the end instead of the
10272 start to determine whether we can seek at all. This fixes the case
10273 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10274 seeks for everything afterwards fail. Fixes #400656
10276 2007-01-25 Wim Taymans <wim@fluendo.com>
10278 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10279 Add some refcount debugging.
10280 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10281 in multiple streaming threads.
10283 2007-01-25 Wim Taymans <wim@fluendo.com>
10285 Patch by: David Schleef <ds at schleef dot org>
10287 * docs/libs/gstreamer-libs-sections.txt:
10288 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10289 * libs/gst/base/gstadapter.h:
10290 API: gst_adapter_copy() that can reduce the amount of memcpy when
10291 getting data from the adapter. Fixes #388201.
10293 2007-01-25 Edward Hervey <edward@fluendo.com>
10295 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10296 In print statements, "%x" is for guint. Fixes build on macosx.
10298 2007-01-24 Edward Hervey <edward@fluendo.com>
10300 * plugins/elements/gstmultiqueue.c:
10301 (gst_multi_queue_loop):
10303 (single_queue_overrun_cb), (single_queue_underrun_cb),
10304 (single_queue_check_full), (gst_single_queue_new):
10305 Implement single queue growth system.
10306 This uses the extra-size properties, and will grow single queues by
10307 that much if one goes full whereas there are others empty. This is
10308 called extra-mode in the code.
10309 When a single queue's levels go back below the initial max-size
10310 limits, it is no longer in extra-mode. This is to ensure we don't
10311 consume too much memory.
10314 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10316 * gst/gst.c: (gst_init_get_option_group):
10317 Make warning about late g_thread_init() calls a bit more explicit,
10318 so that it's more obvious to application developers what they need
10319 to do if a user files a bug against their application.
10321 2007-01-22 Edward Hervey <edward@fluendo.com>
10323 * plugins/elements/gstmultiqueue.c:
10324 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10325 Remove previous hack of unsetting the flushing flag for the source pad
10326 instead of activating it. Instead, fix the source pad activate function
10327 so that it no longer depends on having a parent set or not.
10329 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10331 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10333 * docs/manual/basics-bus.xml:
10334 Fix example code, gst_element_unref() doesn't exist any longer.
10336 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10338 Patch by: Mark Nauwelaerts <manauw at skynet be>
10341 Fix two docs typoes (#399094).
10343 2007-01-19 Edward Hervey <edward@fluendo.com>
10345 * docs/faq/gst-uninstalled:
10346 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10347 depending on libgstbaseutils can work in uninstalled environment.
10349 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10351 * gst/gsttaglist.h:
10352 * gst/gsttagsetter.c:
10353 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10354 statement for new tag.
10356 2007-01-17 Edward Hervey <edward@fluendo.com>
10358 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10359 When dynamically creating single queues, activate sinkpad before adding
10361 We should be doing the same thing for the source pad, but we can't
10362 since it would call a method which needs the parent to be set in order
10363 to work propertly. Instead of activating the source pad, we just unset
10364 the flushing flag, which is the minimal requirement for adding a pad
10365 to an element in a state greater than READY.
10367 2007-01-17 Edward Hervey <edward@fluendo.com>
10369 * docs/faq/gst-uninstalled:
10370 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10373 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10375 * tests/check/gst/gstabi.c:
10376 * tests/check/gst/struct_hppa.h:
10377 * tests/check/libs/libsabi.c:
10378 * tests/check/libs/struct_hppa.h:
10379 Add ABI structs for HPPA (see #393796).
10381 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10383 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10384 Actually write ABI structs to the file specified in the GST_ABI
10385 environment variable, as the message we print claims we would.
10387 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10389 * tests/check/gst/gsttask.c:
10390 Fix header comment.
10392 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10394 * gst/gsttaglist.c: (_gst_tag_initialize):
10395 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10396 previous two entries.
10398 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10400 * docs/gst/gstreamer-sections.txt:
10401 * gst/gsttaglist.c: (_gst_tag_initialize):
10402 * gst/gsttaglist.h:
10403 Add tag support for beat-per-minute.
10405 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10407 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10408 (gst_registry_binary_initialize_magic),
10409 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10410 (gst_registry_binary_save_pad_template),
10411 (gst_registry_binary_save_feature),
10412 (gst_registry_binary_save_plugin),
10413 (gst_registry_binary_write_cache),
10414 (gst_registry_binary_check_magic),
10415 (gst_registry_binary_load_pad_template),
10416 (gst_registry_binary_load_feature),
10417 (gst_registry_binary_load_plugin),
10418 (gst_registry_binary_read_cache):
10419 * gst/gstregistrybinary.h:
10420 Use glib types, cleanup comments, impement interfaces and uri-types.
10422 2007-01-13 Andy Wingo <wingo@pobox.com>
10424 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10425 getrange() to return buffers with other caps, while we fix
10426 demuxers and typefind, or otherwise change part-negotiation.txt.
10428 2007-01-12 Andy Wingo <wingo@pobox.com>
10430 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10431 Factor start/stop into this private function instead of partially
10432 in activate functions and partially in the change_state function.
10433 Fixes setup before the element has changed from READY->PAUSED, as
10434 is the case in pull-mode pipelines.
10435 (gst_base_transform_sink_activate_push)
10436 (gst_base_transform_src_activate_pull): Refactor to use
10437 gst_base_transform_activate().
10438 (gst_base_transform_change_state): Removed, not needed any more.
10440 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10441 Truncate before fixating.
10443 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10444 Don't set_caps() if the result of fixating is ANY, as it's not
10445 supported, and not necessary in the case of a link with no
10446 template caps on either side. Fixes tests/check/libs/basesrc in
10447 some pull-mode tests.
10449 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10450 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10451 (gst_base_transform_src_activate_pull):
10452 Track the activation mode.
10453 (gst_base_transform_setcaps): In pull mode, when activating the
10454 src pad, after activating the sink pad, activate the sink pad's
10455 peer, as discussed in part-negotiation.txt.
10457 * libs/gst/base/gstbasesrc.h:
10458 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10459 vmethod, as in basesink.
10461 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10463 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10464 mode, first proxy the setcaps to the peer pad.
10465 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10466 new fixate vmethod.
10467 (gst_base_sink_default_activate_pull): Rename from
10468 gst_base_sink_activate_pull.
10469 (gst_base_sink_negotiate_pull): New function, performs negotiation
10470 in pull mode before calling ::activate_pull().
10471 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10472 vmethod instead of the default implementation. I have no idea how
10473 this worked before. Negotiate before calling activate_pull.
10475 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10476 sink pads in pull mode. In addition to being correct, fixes
10477 filesrc ! decodebin ! identity ! fakesink.
10478 (gst_pad_get_range, gst_pad_pull_range): Don't call
10479 gst_pad_set_caps() if the caps changes; instead error out with
10480 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10482 2007-01-12 Andy Wingo <wingo@pobox.com>
10484 * docs/design/part-negotiation.txt: Update with more policy.
10486 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10488 * libs/gst/check/gstbufferstraw.h:
10489 * libs/gst/check/gstcheck.h:
10490 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10493 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10495 * tests/check/Makefile.am:
10496 * tests/check/gst/.cvsignore:
10497 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10498 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10499 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10500 (GST_START_TEST), (gst_tag_setter_suite):
10501 Add minimal unit test for beforementioned GstTagSetter bug.
10503 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10505 Patch by: René Stadler <mail at renestadler dot de>
10507 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10508 gst_tag_list_merge() returns a new list, so it's not the best idea
10509 to ingore its return value. Effectively meant that tags could only
10510 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10511 Also add function guard to require a non-NULL taglist as input (has
10512 always been so due to gst_tag_list_copy(), just making it explicit).
10514 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10516 * docs/random/draft-missing-plugins.txt:
10517 Some additions: mention new API that is supposed to be used at the
10518 various stages; short blob about new gst-inspect introspection
10519 option; mention potential future problem with plugins that have
10520 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10522 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10524 * tools/gst-inspect.c:
10525 (print_plugin_automatic_install_info_codecs),
10526 (print_plugin_automatic_install_info_protocols),
10527 (print_plugin_automatic_install_info), (main):
10528 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10529 introspect plugin files and get machine-parsable output that corresponds
10530 to the last bit of the missing-plugin installer string (small gotcha:
10531 doesn't take into account ranks).
10533 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10536 * docs/gst/gstreamer-sections.txt:
10538 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10539 (gst_registry_lookup_locked):
10540 * gst/gstregistry.h:
10541 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10542 (gst_registry_binary_initialize_magic),
10543 (gst_registry_binary_save_string),
10544 (gst_registry_binary_save_pad_template),
10545 (gst_registry_binary_save_feature),
10546 (gst_registry_binary_save_plugin),
10547 (gst_registry_binary_write_cache),
10548 (gst_registry_binary_check_magic),
10549 (gst_registry_binary_load_pad_template),
10550 (gst_registry_binary_load_feature),
10551 (gst_registry_binary_load_plugin),
10552 (gst_registry_binary_read_cache):
10553 * gst/gstregistrybinary.h:
10554 * gst/gstregistryxml.c: (load_feature),
10555 (gst_registry_xml_read_cache):
10556 commit binary registry (disabled by default, see #359653)
10558 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10560 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10561 Fix 'make check' too.
10563 2007-01-10 Andy Wingo <wingo@pobox.com>
10565 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10568 * docs/design/part-negotiation.txt: Update with, um, one way that
10569 pull-mode negotiation might work?
10572 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10573 that the pad must be a src pad; makes sense to call it the other
10574 way in pull mode, and the logic is symmetric anyway.
10576 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10578 * plugins/elements/gstfilesink.c:
10579 Include <stdio.h> for fseeko().
10581 2007-01-10 Wim Taymans <wim@fluendo.com>
10585 Reserve LATENCY event.
10587 2007-01-09 Wim Taymans <wim@fluendo.com>
10589 * docs/design/draft-latency.txt:
10592 2007-01-09 Wim Taymans <wim@fluendo.com>
10594 * docs/design/draft-latency.txt:
10597 * gst/gstelement.h:
10598 * gst/gststructure.c:
10602 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10604 * tests/check/.cvsignore:
10605 Ignore test-registry.xml as well.
10607 2007-01-09 Wim Taymans <wim@fluendo.com>
10609 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10610 unref data at the end when we are done with the pad.
10612 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10614 * docs/gst/gstreamer-sections.txt:
10615 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10616 (init_post), (gst_deinit), (gst_update_registry):
10618 API: add gst_update_registry() (#391296).
10620 * tests/check/Makefile.am:
10621 * tests/check/gst/gstregistry.c:
10622 * tests/check/gst/.cvsignore:
10623 Simple unit test for the above.
10625 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10627 * gst/gstregistry.c: (gst_registry_scan_path_level):
10628 Plugin extension on HP-UX is .sl, add that to the list of approved
10629 plugin extensions (see #393796).
10631 * tests/check/gst/gstpad.c: (GST_START_TEST):
10632 ulong => gulong. Fixes compilation with HP-UX compiler.
10634 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10635 Fix compilation if valgrind headers are not available.
10637 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10639 * win32/common/libgstreamer.def:
10640 Add new exported function.
10641 * win32/vs6/libgstbase.dsp:
10642 Add gstdataqueue.c to the build.
10643 * win32/vs6/libgstcoreelements.dsp:
10644 Add gstmultiqueue.c to the build.
10646 2007-01-06 Andy Wingo <wingo@pobox.com>
10648 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10649 activate_pull(), providing for a way to specialize the process of
10650 spawning a thread to pull on the sink pad. There is a default
10653 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10654 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10655 (gst_base_sink_init): Renamed pad activation functions (inserting
10656 "_pad" in their names). Refactor to use the new activate_pull
10657 vmethod, as appropriate.
10658 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10659 default activate_pull function to start a task pulling from the
10660 sink pad, as before.
10662 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10663 on the pads if necessary, as in push()/chain(). Update docs.
10664 Shouldn't affect existing pull() usage as it is currently only
10665 being used on buffers without caps.
10667 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10669 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10671 Call g_thread_init() first thing in gst_init() / gst_check_init().
10672 When initialisation is done via gst_init_get_option_group() and
10673 GOption parsing, issue a warning if the GLib thread system has not
10674 been initialised yet by the time gst_init_get_option_group() is
10675 called, as it's quite likely other GLib functions such as
10676 g_option_context_new() have been called already then, and
10677 g_thread_init() must be called before any other GLib function. The
10678 application in question must be fixed in that case, since memory
10679 corruption might happen otherwise.
10680 We issue the warning because even if the GLib folks decide to work
10681 around the problem on their end in future, this is still an issue
10682 with all GLib versions >= 2.10.0, so we should warn until we depend
10683 on a GLib version we know to be safe.
10684 Update documentation as well.
10685 Closes bug #391278.
10687 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10689 * tools/gst-inspect.c: (main):
10690 * tools/gst-launch.c: (main):
10691 * tools/gst-typefind.c: (main):
10692 * tools/gst-xmlinspect.c: (main):
10693 Call g_thread_init() really really early, before any other GLib
10694 function (see #342564 and recent discussion on gtk-devel-list).
10696 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10698 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10700 * gst/gst_private.h:
10701 * gst/gstconfig.h.in:
10703 On win32, all the __declspec stuff for symbol exporting is
10704 apparently only needed with MSVC, but doesn't work with MingW.
10705 Fixes compilation with MingW and #391909.
10707 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10709 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10710 Change some GST_ERROR_OBJECT that aren't really errors to
10711 GST_WARNING_OBJECT in order to reduce terminal spam.
10713 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10715 * tests/check/Makefile.am:
10716 disable test again, as there seem to be still race problems
10718 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10720 * tests/check/Makefile.am:
10721 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10722 (GST_START_TEST), (queue_suite):
10723 enable queue test again, add tests for the leaky behaviour
10725 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10728 * tests/examples/Makefile.am:
10729 Compile adapter test/example only if the required headers are
10730 available (fixes #391915).
10732 2007-01-01 David Schleef <ds@schleef.org>
10735 Restore the previous signal handler for SIGSEGV instead of
10736 setting to default, since we may have stolen it away from
10737 someone. (i.e., Mono)
10739 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10741 * docs/random/draft-missing-plugins.txt:
10742 Some small additions and clarifications.
10744 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10746 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10747 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10748 since that can lead to random memory corruptions and crashes
10749 (may or may not be related to #383244, #386711, and #386711).
10751 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10753 * tests/check/.cvsignore:
10754 * tests/check/Makefile.am:
10755 sync .cvsignome and CLEANFILES
10757 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10759 * tests/check/Makefile.am:
10762 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10764 * docs/design/part-states.txt:
10765 two tiny additional comments
10767 * gst/gststructure.c:
10770 * tests/check/Makefile.am:
10771 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10773 disable test for now, unless it gets fixed
10775 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10777 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10779 fix race in underrun test
10781 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10783 * tests/check/elements/.cvsignore:
10786 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10788 try to narrow test failure
10790 2006-12-21 David Schleef <ds@schleef.org>
10792 * plugins/elements/gstfakesrc.c:
10793 Use g_random_int_range(), since it produces better random
10794 numbers in a range than almost-correct floating point code.
10796 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10798 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10799 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10800 (gst_check_teardown_sink_pad):
10801 do not automatically (de)activate pads
10803 * tests/check/Makefile.am:
10804 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10805 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10806 add new, yet simple tests for queue
10808 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10809 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10810 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10812 * tests/check/elements/identity.c: (cleanup_identity):
10813 consistent pad (de)activation
10815 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10817 Patch by: Sebastian Dröge <slomo ubuntu com>
10819 * libs/gst/base/gstcollectpads.c:
10820 Fix two doc typos (#387866).
10822 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10824 * docs/manual/advanced-dparams.xml:
10825 Fix typo (g_object_control_properties() doesn't exist).
10827 2006-12-19 Edward Hervey <edward@fluendo.com>
10829 * gst/gstsegment.c: (gst_segment_set_seek):
10830 Fine tune the cases where the segment start/stop values are really
10832 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10833 Add tests for the return values of gst_segment_set_seek().
10835 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10840 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10842 Fix incorrect documentation and flesh it out a bit more.
10843 Set default values for the max properties on the GParamSpec as well,
10844 so it shows up correctly in gst-inspect.
10846 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10848 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10849 Correct docs of queue, add more detail and crosslink it more.
10851 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10853 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10854 Print additional debug info when the stream isn't perfectly
10855 timestamped; don't try to use invalid durations.
10857 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10859 * docs/design/Makefile.am:
10860 Dist new design docs.
10862 2006-12-16 Wim Taymans <wim@fluendo.com>
10864 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10866 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10867 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10868 (gst_collect_pads_stop), (gst_collect_pads_event),
10869 (gst_collect_pads_chain):
10870 * libs/gst/base/gstcollectpads.h:
10871 Add refcounting to the collectpads data so we can track when it's safe
10872 to free the data. Fixes #383382.
10874 2006-12-15 Wim Taymans <wim@fluendo.com>
10876 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10877 (gst_collect_pads_remove_pad):
10878 Automatically activate/deactivate pads when they are added to a
10879 started/stoped collectpads.
10881 2006-12-15 Wim Taymans <wim@fluendo.com>
10883 * gst/gstelement.c: (gst_element_add_pad):
10884 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10885 * gst/gstpad.c: (gst_pad_init):
10886 Set pads to FLUSHING when they are created. Check, warn and fix when a
10887 demuxer adds an inactive pad to itself when running. Fixes #339326.
10889 2006-12-15 Wim Taymans <wim@fluendo.com>
10891 * gst/gstelement.c: (gst_element_class_init),
10892 (gst_element_default_send_event), (gst_element_send_event),
10893 (gst_element_default_query), (gst_element_query):
10894 Expose default element send_event and query handling as vmethods that
10895 subclasses can chain up to.
10897 2006-12-15 Wim Taymans <wim@fluendo.com>
10899 * gst/gstelement.c: (gst_element_set_state_func):
10900 Small documentation fixes.
10902 2006-12-15 Wim Taymans <wim@fluendo.com>
10904 * docs/design/draft-latency.txt:
10905 Checked in draft for handling latency in pipelines.
10907 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
10911 * gstreamer.spec.in:
10914 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
10916 * gst/gst.c: (init_pre), (init_post):
10917 init_pre() and init_post() might be called via our GOptionGroup or
10918 from gst_init(), and we should skip both of them if we've already
10919 been initialised, otherwise we will init some things twice or add
10920 two default log functions.
10922 2006-12-13 Edward Hervey <edward@fluendo.com>
10924 * docs/manual/basics-bus.xml:
10925 No, gst_main_loop does not exist. Its g_main_loop.
10926 Discovered by somebody who abused the copy-paste technique of coding :)
10928 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
10930 * gst/gstghostpad.c:
10931 Log ghostpad debug stuff to the GST_PADS category as well rather
10932 than just to the default category.
10934 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
10937 * gst/gst.c: (init_pre):
10938 Add some basic system details such as OS and architecture
10939 to the debug output if possible, courtesy of uname().
10941 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
10943 * docs/gst/running.xml:
10944 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10945 environment variables.
10947 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10949 * tests/check/gst/gstbin.c: (GST_START_TEST):
10950 It is acceptable to have a refcount of 2 or 3 at this point in the
10951 test, because the pipeline might be just posting its state_change
10952 message. The next line then waits for that message to appear using
10953 bus_poll, so that should be fine too.
10955 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10957 * gst/gst.c: (ensure_current_registry_forking):
10958 Ignore EINTR when reading from the child registry pipe.
10959 Explicitly ignore the return value from close, since it makes no
10962 * gst/gstminiobject.c: (gst_mini_object_ref),
10963 (gst_mini_object_unref):
10964 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10966 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10967 When removing cached plugins, remove their features too, so they're
10968 not visible after they've disappeared.
10970 * gst/gstutils.c: (prepare_link_maybe_ghosting):
10971 In the unlikely case that we are linking pads with no parents, don't
10972 crash trying to get the non-existent parent bin.
10974 * gst/parse/grammar.y:
10975 Output debug in the PIPELINE category
10977 2005-03-08 Wim Taymans <wim@fluendo.com>
10979 Patch by: René Stadler <mail at renestadler dot de>
10981 * gst/gstclock.c: (gst_clock_new_periodic_id):
10982 Reject invalid clock times for interval of periodic ids.
10985 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
10987 * gst/gstelementfactory.c: (gst_element_factory_create):
10988 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10989 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10990 * tools/gst-inspect.c: (print_element_info):
10991 Fix refcounting of gst_plugin_feature_load to match the docs.
10994 2006-12-07 Wim Taymans <wim@fluendo.com>
10996 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10997 (gst_base_sink_get_position):
10998 Improve debugging of events.
11000 2006-12-07 Wim Taymans <wim@fluendo.com>
11002 Patch by: René Stadler <mail at renestadler dot de>
11004 * gst/gstclock.c: (gst_clock_id_wait):
11005 Make period ids add the interval to the origial requested time instead
11006 of the possibly updated time which can be wrong when there are multiple
11007 waiters for the same id. Fixes #382592.
11009 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11010 (gst_system_clock_id_wait_jitter_unlocked),
11011 (gst_system_clock_id_wait_jitter):
11012 Fix restart in the async notify thread when an async entry is added to
11013 the front of the list. Fixes #381492.
11015 * tests/check/gst/gstsystemclock.c: (store_callback),
11016 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11017 Added test for multiple async waits.
11018 Added test for async wait order.
11020 2006-12-07 Wim Taymans <wim@fluendo.com>
11022 * gst/gstbin.c: (gst_bin_query):
11023 Add some more docs about the POSITION query.
11025 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11028 Bump version nano - back to CVS.
11030 === release 0.10.11 ===
11032 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11035 releasing 0.10.11, "Love never runs on time"
11037 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11039 * win32/common/libgstbase.def:
11040 * win32/common/libgstreamer.def:
11041 * win32/vs8/libgstbase.vcproj:
11042 * win32/vs8/libgstcoreelements.vcproj:
11043 * win32/vs8/libgstreamer.vcproj:
11044 Fix compilation on win32 under VS8
11045 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11046 Partially fixes #381175
11048 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11050 * gst/gstvalue.c: (gst_value_compare_fraction):
11051 If someone is foolish enough to compare 2 fractions with denominator =
11052 0, return UNORDERED rather than aborting.
11054 2006-11-28 Edward Hervey <edward@fluendo.com>
11056 * libs/gst/base/Makefile.am:
11057 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11058 (gst_data_queue_base_init), (gst_data_queue_class_init),
11059 (gst_data_queue_init), (gst_data_queue_new),
11060 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11061 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11062 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11063 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11064 (gst_data_queue_set_flushing), (gst_data_queue_push),
11065 (gst_data_queue_pop), (gst_data_queue_drop_head),
11066 (gst_data_queue_set_property), (gst_data_queue_get_property):
11067 * libs/gst/base/gstdataqueue.h:
11068 New GstDataQueue object for threadsafe queueing. Most useful for
11069 elements that need some queueing functionnality.
11070 * docs/libs/gstreamer-libs-docs.sgml:
11071 * docs/libs/gstreamer-libs-sections.txt:
11072 Insert documentation for GstDataQueue
11073 * plugins/elements/Makefile.am:
11074 * plugins/elements/gstelements.c:
11075 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11076 (gst_multi_queue_class_init), (gst_multi_queue_init),
11077 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11078 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11079 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11080 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11081 (gst_multi_queue_loop), (gst_multi_queue_chain),
11082 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11083 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11084 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11085 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11086 (wake_up_next_non_linked), (compute_next_non_linked),
11087 (single_queue_overrun_cb), (single_queue_underrun_cb),
11088 (single_queue_check_full), (gst_single_queue_new):
11089 * plugins/elements/gstmultiqueue.h:
11090 New multiqueue element, using GstDataQueue. Used for queuing multiple
11092 Closes #344639 and #347785
11094 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11096 * docs/pwg/advanced-types.xml:
11097 add more missing type details
11099 * tools/gst-run.c: (main):
11100 remove unused variable
11102 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11104 * docs/libs/Makefile.am:
11105 * docs/libs/gstreamer-libs.types:
11106 add types of base classes to enable gobject specific stuff in the docs
11108 * docs/random/ensonic/embedded.txt:
11109 more ideas about isolating platform specific things
11111 2006-11-20 Wim Taymans <wim@fluendo.com>
11113 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11115 * libs/gst/check/gstcheck.h:
11116 Fix compilation and running against 0.9.4. Fixes #377332.
11118 2006-11-20 Wim Taymans <wim@fluendo.com>
11120 * gst/gstsegment.c: (gst_segment_set_seek),
11121 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11122 (gst_segment_to_running_time):
11123 Fix boundary checking in to_running_time() and to_stream_time().
11126 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11127 stream and running time can now be calculated for the complete
11130 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11132 * gst/gstpad.c: (gst_pad_push_event):
11133 Can't access event structure after giving away ownership of
11136 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11138 * docs/random/ensonic/embedded.txt:
11139 * docs/random/ensonic/profiling.txt:
11140 * docs/random/ensonic/receipies.txt:
11143 2006-11-13 Wim Taymans <wim@fluendo.com>
11145 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11148 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11150 2006-11-13 Wim Taymans <wim@fluendo.com>
11152 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11154 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11155 Store new length in segment duration so we don't keep on calling the
11156 potentially expensize get_size() call. Fixes #370865.
11158 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11160 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11162 * win32/common/libgstreamer.def:
11163 Add two missing symbols (#366492).
11165 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11167 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11168 (gst_adapter_take_buffer):
11169 Fix format string to use all its arguments.
11170 Remove useless >= check on a guint
11172 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11174 * tests/examples/adapter/.cvsignore:
11175 Ignore build file as commanded by the build-bot
11177 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11179 * tests/examples/adapter/Makefile.am:
11180 * tests/examples/adapter/adapter_test.c: (run_test_take),
11181 (run_test_take_buffer), (run_tests), (main):
11183 Add new files from the previous commit
11185 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11189 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11190 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11191 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11192 * libs/gst/base/gstadapter.h:
11193 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11194 (GST_START_TEST), (gst_adapter_suite):
11195 * tests/examples/Makefile.am:
11196 Do some optimisation work in GstAdapter to avoid copies in more cases.
11197 It could still do slightly better by merging buffers when
11198 gst_buffer_is_span_fast is true, but is already faster.
11200 Also, avoid traversing a single-linked list to append each incoming
11201 buffer inside the adapter.
11203 Add simple test app that times the adapter behaviour in different
11204 situations, and extend the unit test to check that bytes enter and
11205 exit the adapter in their original order.
11207 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11209 * docs/random/draft-missing-plugins.txt:
11210 Update: use element message instead of adding a new message
11211 type to the core; don't provide GStreamer API to initiate the
11212 plugin download, just provide API to compose the strings needed
11213 and let an external libgimmestuff handle the rest.
11215 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11217 * tools/gst-inspect.c: (print_element_properties_info):
11218 Print a string instead of 'unknown type' for GValueArray properties
11220 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11222 * docs/random/draft-missing-plugins.txt:
11225 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11227 * tests/examples/typefind/typefind.c: (type_found), (main):
11228 Make typefind element example work again (#371894); add a
11231 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11233 * docs/random/draft-missing-plugins.txt:
11234 Commit initial draft about how to deal with missing plugins,
11235 needs work (API too).
11237 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11239 * docs/pwg/advanced-types.xml:
11240 documents the new caps elements (see #363118)
11242 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11244 * gst/gstplugin.c: (gst_plugin_load_file):
11245 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11246 (gst_file_src_map_region), (gst_file_src_start):
11247 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11248 (gst_file_index_commit):
11249 Use g_strerror() instead of strerror() - we want UTF-8.
11251 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11253 Patch by: Peter Kjellerstedt <pkj at axis com>
11255 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11256 Another printf fix (#371493).
11258 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11260 * tests/check/gst/gsttag.c:
11261 relicence (okay with author=company)
11263 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11265 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11266 (gst_pad_push_event):
11267 Enhance debug and improve docs
11272 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11274 * docs/random/ensonic/distributed.txt:
11275 * docs/random/ensonic/profiling.txt:
11278 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11280 * docs/gst/gstreamer-sections.txt:
11281 add new API and fix the build
11283 * gst/gstbin.c: (gst_bin_recalc_state):
11284 * gst/gstelement.c: (gst_element_message_full),
11285 (gst_element_get_state_func), (gst_element_set_state_func):
11286 use new API and improve logging
11288 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11290 API: add function to get StateChangereturn names to improve logs
11292 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11294 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11295 I'm considering shooting the next person to put strerror stuff
11296 in the translateable part of the message.
11298 2006-11-03 Wim Taymans <wim@fluendo.com>
11300 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11301 Get the type and printf conversion specifiers right.
11303 2006-11-03 Wim Taymans <wim@fluendo.com>
11305 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11307 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11308 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11309 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11310 Some small cleanups. Improve debugging.
11312 Signal all waiting threads with a broadcast instead of just one.
11315 2006-11-03 Wim Taymans <wim@fluendo.com>
11317 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11318 (gst_fd_src_create):
11319 Add some debugging.
11320 Only update fd when it's different from the old.
11322 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11324 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11325 Printf fixes for PPC/OSX, take two (#369366).
11327 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11329 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11331 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11332 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11333 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11334 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11335 don't cast to long long for portability reasons, but use
11336 GLib's types instead.
11338 2006-10-30 Michael Smith <msmith@fluendo.com>
11340 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11341 Get the arguments to lseek() the right way around.
11344 2006-10-30 Wim Taymans <wim@fluendo.com>
11346 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11349 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11351 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11353 Patch by: Kjartan Maraas <kmaraas at gnome org>
11355 * docs/design/part-MT-refcounting.txt:
11356 * docs/random/wtay/capsnego2-docs:
11359 Typo fixes (#366212).
11361 2006-10-28 Wim Taymans <wim@fluendo.com>
11363 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11366 * win32/common/libgstbase.def:
11367 * win32/common/libgstreamer.def:
11368 * win32/vs8/libgstbase.vcproj:
11369 * win32/vs8/libgstcontroller.vcproj:
11370 Add needed entries in .def files.
11372 Rearrange def files in vs8 solutions. Fixes #366286.
11374 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11376 * win32/common/gstconfig.h:
11377 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11378 hand-made win32 gstconfig.h. Fixes #366321.
11380 2006-10-27 Wim Taymans <wim@fluendo.com>
11382 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11383 (gst_ghost_pad_new_full):
11384 Make acceptcaps return TRUE when we don't have a target, just like
11387 2006-10-27 Wim Taymans <wim@fluendo.com>
11389 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11390 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11392 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11394 * gst/gststructure.c: (gst_structure_id_set_value):
11395 If someone tries to set a non-UTF8 string field on a structure,
11396 don't just print a warning, but also ignore the request and do
11397 not change/add that field to the structure.
11399 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11400 Test for the above.
11402 2006-10-25 David Schleef <ds@schleef.org>
11405 g_hash_table_insert() needs a cast to a non-const pointer duh.
11407 2006-10-25 David Schleef <ds@schleef.org>
11411 Change name parameter of _gst_debug_register_funcptr to const
11412 to reflect the constness of its use in the function as well
11413 as to quiet a gcc warning.
11415 2006-10-25 Edward Hervey <edward@fluendo.com>
11417 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11418 Don't push the buffer if it's empty.
11421 2006-10-24 Wim Taymans <wim@fluendo.com>
11426 * libs/gst/base/gstbasetransform.c:
11427 (gst_base_transform_sink_eventfunc):
11428 Debug segment values *after* updating them as this is more
11431 2006-10-23 Wim Taymans <wim@fluendo.com>
11433 * docs/design/part-events.txt:
11436 * docs/design/part-block.txt:
11437 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11438 (gst_pad_push_event):
11439 Revert BLOCKING patch, it tries to be smart without really having a
11440 clear idea what or how. So, now we discard all FLUSHING events again on
11441 a blocking pad. Should fix gnonlin again.
11443 2006-10-23 Wim Taymans <wim@fluendo.com>
11445 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11447 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11448 (gst_base_src_start), (gst_base_src_activate_push):
11449 Make sure size is always initialized. Fixes #364388.
11451 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11453 * docs/random/ensonic/distributed.txt:
11454 add some ideas about doing distributed processing
11456 * docs/random/ensonic/profiling.txt:
11457 get_rusage look promising
11459 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11461 * docs/manual/basics-helloworld.xml:
11462 Add a cast in example to fix compile warning
11464 2006-10-18 Wim Taymans <wim@fluendo.com>
11466 * gst/gstsegment.c: (gst_segment_set_last_stop),
11467 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11468 Relax arg checking again, -1 is allowed.
11470 2006-10-18 Wim Taymans <wim@fluendo.com>
11472 * gst/gstsegment.c: (gst_segment_set_last_stop),
11473 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11474 _set_last_stop() must be with a value != -1
11475 A _TYPE_SET to -1 means seek to 0.
11476 Calc last_stop correctly for negative rates.
11477 Make sure we work with positive durations when updating a segment.
11479 2006-10-18 Wim Taymans <wim@fluendo.com>
11481 * docs/design/part-live-source.txt:
11485 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11488 Add an explicit cast to GstBuffer** to keep old code that added an
11489 explicit cast to GstMiniObject** for gst_mini_object_replace()
11490 compiling without warning.
11492 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11494 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11495 check for validity of dates
11497 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11499 * docs/gst/gstreamer-sections.txt:
11500 Forgot this one, makes gtk-doc shut up.
11502 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11504 Patch by: Peter Kjellerstedt <pkj at axis com>
11507 Don't define xmlNodePtr to gpointer if the core was built with
11508 --disable-loadsave and --disable-registry, this will break
11509 applications that want to use libxml2 but are buildling against a
11510 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11511 instead so we don't have to mess with the libxml2 namespace
11514 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11517 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11518 type-punned pointer warnings.
11520 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11522 * gst/gstelement.h:
11523 Add casts to the correct return type to state <=> state transition
11526 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11528 * docs/design/part-live-source.txt:
11529 describe howto handle latency
11531 * docs/random/ensonic/profiling.txt:
11534 * tools/gst-plot-timeline.py:
11535 fix log parsing for solaris, remove unused function
11537 2006-10-16 Wim Taymans <wim@fluendo.com>
11539 * docs/design/part-trickmodes.txt:
11541 Update some docs regarding reverse playback.
11543 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11545 Patch by: Marcus Granado <mrc dot gran at gmail com>
11547 * win32/vs8/grammar.vcproj:
11548 Error out with a warning if glib-genmarshal.exe is not in path,
11549 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11551 2006-10-13 Wim Taymans <wim@fluendo.com>
11553 * gst/gstsegment.c: (gst_segment_set_seek):
11554 When seeking to stop -1, set last_stop (current position) to the
11555 duration of the segment.
11557 2006-10-13 Wim Taymans <wim@fluendo.com>
11559 * gst/gstelement.h:
11560 Clarify _NO_PREROLL a bit more.
11565 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11566 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11567 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11568 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11569 due to wrong locking order. Fixes #361769.
11570 Remove some redundant/misplaced checks in pad_block.
11572 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11573 For negative rates, count backwards from the duration.
11575 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11577 * gst/gsterror.c: (_gst_library_errors_init):
11578 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11579 up with something better).
11581 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11583 * win32/vs6/libgstreamer.dsp:
11584 * win32/vs7/libgstreamer.vcproj:
11585 * win32/vs8/libgstreamer.vcproj:
11586 Don't reference glib-compat.c which is currently not used and not
11587 disted; add gstquark.c which was recently added. Fixes #361730.
11589 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11591 * win32/common/libgstbase.def:
11592 * win32/common/libgstcontroller.def:
11593 * win32/common/libgstreamer.def:
11594 Add gst_caps_merge() and a bunch of other recently-added functions.
11597 2006-10-11 Wim Taymans <wim@fluendo.com>
11599 * docs/plugins/gstreamer-plugins.args:
11600 * docs/plugins/inspect/plugin-coreelements.xml:
11601 * docs/plugins/inspect/plugin-coreindexers.xml:
11602 Update element args.
11604 * gst/gstsystemclock.c:
11605 Small comment update.
11607 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11608 (gst_tee_request_new_pad), (gst_tee_release_pad),
11609 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11610 (gst_tee_sink_activate_pull):
11611 * plugins/elements/gsttee.h:
11613 Add default property defines.
11614 Implement release pad function.
11615 Give properties better blubs etc.
11616 Activate pads before adding them to a running tee.
11617 Do simple buffer_alloc on the first requested pad.
11618 Post error when activation fails.
11620 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11622 * gst/gst.c: (ensure_current_registry_forking):
11623 Check return value of write() to make compiler happy.
11625 2006-10-11 Wim Taymans <wim@fluendo.com>
11627 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11629 * plugins/elements/gstqueue.c: (gst_queue_chain):
11630 Recheck queue filledness after signalling the overrun when we're about
11631 to leak downstream because we released the lock when emitting the signal
11632 and the queue could be empty again. Fixes #352345.
11634 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11636 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11637 Fix refcounting here too, just like we did for _new_valist() a few
11638 days ago (#357180) (thanks to René Stadler). Also remove all those
11639 'Since: 0.9' from the gtk-doc blobs.
11641 * tests/check/libs/controller.c: (controller_refcount_new_list),
11642 (gst_controller_suite):
11643 Unit test for the above.
11645 2006-10-10 Wim Taymans <wim@fluendo.com>
11647 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11649 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11650 (gst_pad_save_thyself):
11652 Write pad direction in XML output. Fixes #345496.
11654 2006-10-10 Wim Taymans <wim@fluendo.com>
11656 Patch by: René Stadler <mail at renestadler dot de>
11658 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11659 (gst_controller_new_list), (_gst_controller_dispose),
11660 (_gst_controller_finalize), (_gst_controller_class_init):
11661 Take ref to controlled object so that it cannot disappear.
11664 2006-10-10 Wim Taymans <wim@fluendo.com>
11666 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11667 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11668 (gst_check_teardown_sink_pad):
11669 Activate/deactivate pads in setup/teardown respectively.
11671 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11673 Patch by: Josep Torra Valles <josep@fluendo.com>
11676 Cast values when making gstenumtypes.h. This pacifies Forte
11677 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11678 in the enumeration.
11680 2006-10-09 Wim Taymans <wim@fluendo.com>
11682 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11683 Rename some more @cur to @start to fix docs.
11685 * gst/gstsegment.c: (gst_segment_set_seek):
11687 time and start must always stay in sync as defined in design doc.
11689 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11690 Rename param to fix docs.
11692 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11693 Check that start and time are in sync.
11695 * tests/check/pipelines/parse-launch.c:
11696 (gst_parse_test_element_change_state):
11697 Activate pad before adding to the element.
11699 2006-10-09 Wim Taymans <wim@fluendo.com>
11701 * docs/design/part-qos.txt:
11706 Update seek event docs regarding negative rates.
11707 Rename @cur to @start.
11709 * gst/gstsegment.c: (gst_segment_set_seek):
11710 * gst/gstsegment.h:
11711 Update set_seek docs regarding negative rates.
11712 Correctly update last_stop to @stop when dealing with negative
11714 Rename @cur to @start.
11716 * tests/check/gst/gstpad.c: (GST_START_TEST):
11717 Activate pads before trying to use them.
11719 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11720 (gst_segment_suite):
11721 Add simple check for segments and negative rates.
11723 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11725 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11726 * gst/gsttaglist.h:
11727 * docs/gst/gstreamer-sections.txt:
11728 API: add gst_tag_list_is_empty() (#360467).
11730 * tests/check/gst/gsttag.c: (GST_START_TEST):
11733 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11735 * gst/gstmessage.h:
11736 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11737 a value that doesn't fit on enumeration.
11739 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11741 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11742 Remove local debugging system and use Gstreamer's instead.
11744 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11746 Patch by: Josep Torra Valles <josep@fluendo.com>
11748 * common/m4/gst-error.m4:
11749 Disable warning of statement not reached on Forte.
11750 * gst/gstmessage.h:
11751 Fix warning on Forte (value doesn't fit on enumeration).
11752 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11753 Fix warning on Forte (value doesn't fit on enumeration).
11754 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11755 DEBUG macro says it takes minimum of 2 args and so Forte
11756 complains about the use with just 1 arg.
11757 * plugins/elements/gstfdsink.c:
11758 * plugins/elements/gstfdsrc.c:
11759 * plugins/elements/gstfilesink.c:
11760 * plugins/elements/gstfilesrc.c:
11761 Use correct return type for the uri handler implementations.
11763 All these fix warnings in Forte. Fixes bug #360860.
11765 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11767 * gst/gstelement.h:
11768 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11769 format string, so don't use G_GNUC_PRINTF for those versions.
11771 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11773 * gst/gsttaglist.c: (gst_is_tag_list):
11774 * gst/gsttaglist.h:
11775 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11777 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11778 Small test for the above.
11780 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11782 * gst/gsttaglist.h:
11783 Less tabs, more spaces.
11785 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11788 Those two function declarations do actually belong there, revert
11789 commit from yesterday that turned them intro macros.
11791 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11793 Patch by: Josep Torra Valles <josep@fluendo.com>
11795 * gst/gst.c: (gst_init_get_option_group):
11796 Fix empty declaration and type mismatch.
11797 * gst/gstbin.c: (gst_bin_change_state_func):
11799 * gst/gstelement.c: (gst_element_continue_state),
11800 (gst_element_set_state_func), (gst_element_change_state),
11801 (gst_element_change_state_func):
11802 Fix type mismatches.
11803 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11804 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11805 Cast as appropriate.
11806 * gst/gstobject.c: (gst_class_signal_connect):
11807 Cast as appropriate. The function pointer parameter really
11808 has the wrong type but would break API if we change it.
11810 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11811 order of including string.h.
11812 * gst/gstutils.c: (gst_element_state_get_name):
11813 Remove unreachable line.
11814 * gst/gstxml.c: (gst_xml_parse_doc):
11816 All these caught by Forte.
11818 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11820 Patch by: Josep Torra Valles <josep@fluendo.com>
11822 * common/m4/gst-error.m4:
11824 We need to disable warnings on Forte for empty declarations
11825 due to gst-indent adding ;s to lines that just use macros
11826 where the macro actually doesn't need a ; at end to end
11829 2006-10-06 Wim Taymans <wim@fluendo.com>
11831 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11832 (gst_file_sink_close_file), (gst_file_sink_event),
11833 (gst_file_sink_render):
11834 Add some FIXME for the NEWSEGMENT handling.
11836 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11838 * gst/parse/grammar.y:
11839 Remove static function gst_parse_element_lock as all it does
11840 is return. Looks like cruft from 0.8.
11842 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11844 Patch by: Josep Torra Valles <josep@fluendo.com>
11846 * common/m4/gst-error.m4:
11848 * libs/gst/net/Makefile.am:
11849 Fix a compilation issue with Forte on Solaris. inet_aton is in
11852 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11854 * gst/gstpad.c: (pre_activate):
11855 * gst/gstregistry.c: (gst_registry_scan_path_level):
11856 * gst/gstregistryxml.c: (load_plugin):
11857 * libs/gst/controller/gstcontroller.c:
11858 (gst_controlled_property_set_interpolation_mode):
11859 * libs/gst/dataprotocol/dataprotocol.c:
11860 (gst_dp_packet_from_event_1_0):
11861 * libs/gst/net/gstnetclientclock.c:
11862 (gst_net_client_clock_observe_times):
11863 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11866 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11869 * docs/gst/gstreamer-sections.txt:
11870 * gst/gstconfig.h.in:
11871 * gst/gstelement.h:
11873 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11874 whether we can use G_GNUC_PRINTF in other header files and at
11875 least check the printf format/arguments of debug messages and
11876 GST_ELEMENT_ERROR messages when the printf extension is not
11878 Replace more tabs with spaces in gstinfo.h and remove two spurious
11879 function declarations in GST_DISABLE_DEBUG part with macros.
11881 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11883 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11884 More docs for the sync-message signal (mention that it is not
11885 emitted by default); log message structures of messages posted on
11888 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11890 * gst/gst.c: (ensure_current_registry_forking):
11891 Use a pipe pair to receive status results from the forked child, and
11892 ignore the result from waitpid. Fixes #355499
11894 2006-10-02 Wim Taymans <wim@fluendo.com>
11896 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11897 (gst_ghost_pad_suite):
11900 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11903 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11905 2006-10-02 Edward Hervey <edward@fluendo.com>
11907 * docs/design/part-block.txt:
11908 Further explain the use of flushing on blocked pads.
11909 * docs/gst/gstreamer-sections.txt:
11910 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11911 (gst_pad_push_event):
11913 Added new GstPadFlag : GST_PAD_BLOCKING.
11914 Adds the notion of pads really blocking, which enables to properly
11915 handle FLUSH_START/FLUSH_STOP events on blocked pads.
11917 API: gst_pad_is_blocking()
11918 API: GST_PAD_IS_BLOCKING() macro
11919 API: GST_PAD_BLOCKING GstPadFlag
11921 2006-10-02 Wim Taymans <wim@fluendo.com>
11923 Patch by: mrcgran <mrc.gran at gmail dot com>
11925 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11926 Filter the proxied caps against the padtemplate if we have one.
11928 * gst/gstquery.c: (gst_query_new_segment):
11929 Add include for gstinfo.h so that compilation with
11930 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11932 2006-10-02 Wim Taymans <wim@fluendo.com>
11934 Patch by: Alessandro Decina <alessandro at nnva org>
11936 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11937 (gst_file_sink_set_location), (gst_file_sink_open_file),
11938 (gst_file_sink_close_file), (gst_file_sink_event),
11939 (gst_file_sink_render):
11940 Set file to NULL when closing filesink so that we can set a new filename
11941 in READY. Fixes #358613.
11943 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11945 Patch by: Alessandro Decina <alessandro at nnva org>
11947 * gst/gstevent.c: (_gst_event_copy):
11948 Fix gst_mini_object_make_writable() and gst_event_copy() for events
11949 with event structures by setting the parent refcount address of the
11950 copied structure to the address of the refcount member of the newly
11951 copied event rather than the address of the refcount member of the
11952 original event. Fixes #358737.
11954 * tests/check/gst/gstevent.c: (GST_START_TEST):
11955 Unit test for the above.
11957 2006-09-29 Stefan Kost <ensonic@users.sf.net>
11959 * docs/design/Makefile.am:
11960 Dist some more files.
11962 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11964 * tests/check/libs/controller.c: (GST_START_TEST),
11965 (gst_controller_suite):
11966 Add test for the previous fix; add some more tests
11967 for correct refcounting behaviour; fix a few leaks
11968 in test cases; call gst_controller_init() at start
11971 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11973 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11974 (gst_controller_set_from_list):
11975 Don't g_return_val_if_fail() on timed values with invalid timestamps
11976 inside a critical section without unlocking the mutex. Spotted by
11977 René Stadler. (#357617)
11978 Also, fix up refcounting properly: when returning an existing
11979 controller, we should increase the reference only once and not
11980 once per property and when trying to control a property again
11981 we should also increase the refcount.
11983 2006-09-29 Wim Taymans <wim@fluendo.com>
11985 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11986 * libs/gst/net/gstnettimeprovider.c:
11987 (gst_net_time_provider_thread):
11988 Stop reading commands when EOF as well.
11990 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11991 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11992 * plugins/elements/gstidentity.c: (gst_identity_class_init):
11993 Unify description of the dump property.
11995 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11997 * tests/examples/manual/.cvsignore:
11998 OK, so it's actually cvsignore that needs changing. Stop laughing.
12000 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12002 * tests/examples/manual/Makefile.am:
12003 Gah, declare vars *before* using them
12005 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12007 * gst/gst.c: (init_pre), (scan_and_update_registry),
12008 (ensure_current_registry_nonforking),
12009 (ensure_current_registry_forking), (ensure_current_registry),
12010 (init_post), (gst_debug_help), (gst_deinit):
12011 * gst/gst_private.h:
12012 * gst/gstregistry.c: (gst_registry_finalize),
12013 (gst_registry_remove_features_for_plugin_unlocked),
12014 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12015 (gst_registry_scan_path),
12016 (_priv_gst_registry_remove_cache_plugins),
12017 (_priv_gst_registry_cleanup):
12018 * gst/gstregistry.h:
12019 Re-commit the registry changes, along with an extra fix:
12020 When a cached plugin is encountered at a different file path,
12021 update the stored path in the registry cache so that the parent
12022 process knows where it actually is now when it re-reads the registry
12023 cache. Fixes the thing that broke distcheck with the previous commit.
12025 * tests/check/Makefile.am:
12026 Clean up files named 'core' too when running make clean.
12028 * tests/examples/manual/Makefile.am:
12029 Set up a registry path for running these tests, and clean it properly
12032 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12035 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12036 want gmodule-no-export-2.0.pc instead so that we don't drag in
12037 --export-dynamic on every project that links to GStreamer.
12039 Also, make our export regex only match the start of symbols, rather
12040 than any symbol that contains '_gst' somewhere.
12042 * libs/gst/check/Makefile.am:
12043 The libgstcheck we build does however need export-dynamic, as it
12044 produces some symbols that don't match our _gst... style regex.
12047 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12049 * gst/gst.c: (init_pre), (scan_and_update_registry),
12050 (ensure_current_registry_nonforking),
12051 (ensure_current_registry_forking), (ensure_current_registry),
12052 (init_post), (gst_debug_help), (gst_deinit):
12053 * gst/gst_private.h:
12054 * gst/gstregistry.c: (gst_registry_finalize),
12055 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12056 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12057 (_gst_registry_cleanup):
12058 * gst/gstregistry.h:
12059 Revert previous change until I figure out why it breaks distcheck.
12061 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12063 * gst/gst.c: (init_pre), (scan_and_update_registry),
12064 (ensure_current_registry_nonforking),
12065 (ensure_current_registry_forking), (ensure_current_registry),
12066 (init_post), (gst_debug_help), (gst_deinit):
12068 Make init_pre and init_post take the full complement of GOptionFunc
12069 args so they can return useful GErrors. Make the registry updating
12072 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12073 ensure that the registry we're about to write out doesn't contain
12074 stale information about old-deleted plugin files.
12076 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12077 that deletion of plugin files is considered a registry change.
12079 * gst/gst_private.h:
12080 * gst/gstregistry.c: (gst_registry_finalize),
12081 (gst_registry_remove_features_for_plugin_unlocked),
12082 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12083 (gst_registry_scan_path),
12084 (_priv_gst_registry_remove_cache_plugins),
12085 (_priv_gst_registry_cleanup):
12086 * gst/gstregistry.h:
12087 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12088 by adding _priv prefix, so that they won't appear in the global
12089 symbol table. They still do atm though because of #318031. Move the
12090 prototypes to gst_private.h
12092 When removing a plugin, remove all features for that plugin too.
12095 2006-09-27 Wim Taymans <wim@fluendo.com>
12097 * docs/random/moving-plugins:
12098 Make it clear that the "compiled-in descriptions" really mean
12099 the element details.
12101 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12102 (gst_base_sink_wait_preroll):
12105 * docs/libs/gstreamer-libs-sections.txt:
12106 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12107 (gst_base_src_get_range), (gst_base_src_activate_push):
12108 * libs/gst/base/gstbasesrc.h:
12109 Added function to block while waiting for PLAYING, this function
12110 is used by live sources that block on the clock.
12111 API: gst_base_src_wait_playing()
12113 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12115 Patch by: Peter Kjellerstedt <pkj at axis com>
12118 gst-element-check.m4 is generated and should therefore be
12119 copied from the build dir rather than the source dir (#357593).
12120 'make distcheck' hasn't noticed this because we were disting
12121 the file as well, so stop doing that.
12123 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12125 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12126 Add some tests for gst_caps_intersect().
12128 * tools/gst-launch.c: (event_loop):
12129 Print all buffering percentages we get, even the 100% one.
12131 2006-09-26 Wim Taymans <wim@fluendo.com>
12133 * tools/gst-inspect.c: (print_element_properties_info),
12134 (print_signal_info):
12135 Fix printing of flags to match the look of enums.
12137 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12139 * gst/gstelementfactory.c:
12140 Fix typo in docs blurb.
12142 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12144 * gst/gsturi.c: (search_by_entry):
12145 Don't assert/crash here if a uri handler doesn't return any
12146 supported protocols. The list of protocols could be generated
12147 dynamically at runtime or at plugin registration, and an error
12148 in the underlying library shouldn't be fatal (#353301).
12150 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12153 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12154 (spotted by Peter Kjellerstedt).
12156 2006-09-23 Wim Taymans <wim@fluendo.com>
12158 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12160 * libs/gst/base/gstbasesrc.c:
12161 (gst_base_src_default_check_get_range), (gst_base_src_start),
12162 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12163 (gst_base_src_change_state):
12164 Match _start/_stop calls in the activate functions. Remove redundant
12165 _stop call from the state change function. Fixes #356910.
12166 Turn failure DEBUG into ERROR.
12168 2006-09-22 Wim Taymans <wim@fluendo.com>
12170 * docs/design/part-buffering.txt:
12171 * gst/gstmessage.c: (gst_message_new_buffering),
12172 (gst_message_parse_buffering):
12173 Update docs about buffering.
12175 * docs/design/part-trickmodes.txt:
12178 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12180 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12181 (gst_controller_new_list):
12182 Ref instances when returning them again (fixes #357180)
12184 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12186 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12187 Don't forget to release proxy lock when there's an error.
12189 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12192 Add extra initialisers for Caps things, to fix some plugin warnings
12195 2006-09-18 Wim Taymans <wim@fluendo.com>
12197 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12198 Also set template on the internal pad so that a getcaps from the
12199 target pad returns the template caps.
12201 2006-09-18 Wim Taymans <wim@fluendo.com>
12203 * gst/gstelement.c: (gst_element_post_message),
12204 (gst_element_dispose):
12205 Use _DEBUG_OBJECT some more.
12207 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12210 * tools/gst-launch.c: (main):
12211 If the toplevel element is not a GstPipeline, it must be put in a
12212 pipeline so that a bus and clock is selected.
12214 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12216 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12217 JITTER, RATE, and LATENCY query should be handled by the
12218 default case and not by the CONVERT query code.
12220 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12222 * gst/gstformat.c: (gst_format_register):
12223 Fix locking order (must take lock before using n_values).
12225 * gst/gstvalue.c: (gst_value_serialize_enum),
12226 (gst_value_deserialize_enum_iter_cmp),
12227 (gst_value_deserialize_enum):
12228 Fix serialisation/deserialisation of custom registered GstFormats.
12230 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12231 Unit test for custom format serialisation/deserialisation.
12233 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12235 * docs/pwg/building-boiler.xml:
12236 * plugins/elements/gstcapsfilter.c:
12237 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12240 2006-09-16 Edward Hervey <edward@fluendo.com>
12242 * libs/gst/base/gstbasetransform.c:
12243 (gst_base_transform_buffer_alloc):
12244 Check if requested caps are the same as the sinks caps IF
12245 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12247 This fixes the renegotiation issues stated in #352827.
12249 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12252 * docs/manual/advanced-autoplugging.xml:
12253 * tests/examples/Makefile.am:
12254 * tests/examples/manual/.cvsignore:
12255 * tests/examples/manual/Makefile.am:
12256 * tests/examples/manual/extract.pl:
12257 Extract the manual examples again like we used to do.
12260 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12262 * win32/common/config.h:
12265 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12268 Documents how to receive errors.
12270 2006-09-15 Wim Taymans <wim@fluendo.com>
12272 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12273 (event_loop), (main):
12274 Added some comments here and there.
12275 Post an application message when an interrupt is caught instead of doing
12276 an uncontrolled state change.
12277 Clean up the event loop.
12278 Handle buffering messages, pause/resume the pipeline.
12279 Make shutdown because of an interrupt more reliable.
12281 2006-09-15 Wim Taymans <wim@fluendo.com>
12283 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12284 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12285 (gst_base_sink_preroll_object):
12286 Make sure that our internal state is correct when we commit our state
12287 asynchronously. This solves a race where a state change to PLAYING
12288 could cause the sink to remain blocked in preroll in some situations.
12290 2006-09-15 Wim Taymans <wim@fluendo.com>
12292 * tools/gst-inspect.c: (print_element_properties_info),
12293 (print_signal_info):
12294 List flags as hex so it's easier to deal with.
12296 2006-09-15 Wim Taymans <wim@fluendo.com>
12298 * docs/libs/gstreamer-libs-sections.txt:
12299 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12300 (gst_base_sink_do_sync):
12301 * libs/gst/base/gstbasesink.h:
12302 Expose logic to wait for preroll so that subclasses such as audiosink
12303 can also use this method.
12304 API: gst_base_sink_wait_preroll()
12306 2006-09-15 Wim Taymans <wim@fluendo.com>
12308 * gst/gstobject.c: (gst_object_set_parent):
12309 * gst/gstpipeline.c: (do_pipeline_seek):
12310 Small cleanups in docs and code.
12312 * gst/gstsegment.c: (gst_segment_clip):
12313 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12314 if stop == start and start is in the segment, no clipping should be
12315 done. Also add a test for this.
12317 2006-09-15 Wim Taymans <wim@fluendo.com>
12319 * docs/design/part-buffering.txt:
12320 * docs/gst/gstreamer-sections.txt:
12321 * gst/gstmessage.c: (gst_message_new_buffering),
12322 (gst_message_parse_buffering):
12323 * gst/gstmessage.h:
12324 Added methods to create and parse BUFFERING messages.
12325 Added preliminary docs about buffering.
12326 API: gst_message_new_buffering
12327 API: gst_message_parse_buffering
12329 2006-09-06 Wim Taymans <wim@fluendo.com>
12332 Update documentation.
12334 * gst/gstelement.c: (gst_element_class_init),
12335 (gst_element_release_request_pad), (gst_element_set_clock),
12336 (gst_element_get_index), (gst_element_add_pad),
12337 (gst_element_remove_pad), (gst_element_get_random_pad),
12338 (gst_element_send_event), (gst_element_get_query_types),
12339 (gst_element_query), (gst_element_post_message),
12340 (gst_element_message_full), (gst_element_continue_state),
12341 (gst_element_lost_state), (gst_element_save_thyself),
12342 (gst_element_restore_thyself):
12343 Documentation updates.
12344 Rename last bit of the new-pad -> pad-added signal rename.
12345 Fix the case where an element query would only work if the source
12347 Avoid some useless type checking in message handling.
12352 Documentation updates.
12354 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12356 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12357 add an INFO line for when we actually update the fd
12359 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12364 === release 0.10.10 ===
12366 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12369 releasing 0.10.10, "Pais"
12371 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12373 * docs/manual/advanced-position.xml:
12374 Fix typo in sample code.
12376 2006-09-05 Wim Taymans <wim@fluendo.com>
12378 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12379 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12380 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12381 * libs/gst/net/gstnetclientclock.h:
12382 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12383 * libs/gst/net/gstnettimepacket.h:
12384 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12385 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12386 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12387 * libs/gst/net/gstnettimeprovider.h:
12388 Make stuff compile on windows. Fixes #345295.
12390 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12392 * gst/gst.c: (ensure_current_registry_forking):
12393 Print better details when child was terminated by signal.
12395 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12397 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12398 Print a warning rather than g_assert() if a plugin feature
12399 is a URI handler but returns no protocols (#353976).
12401 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12403 * docs/random/moving-plugins:
12406 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12408 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12409 Fix locking order, handle NULL function values properly.
12414 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12415 Initialise variable before using it and fix debug statement to
12416 print the address of the function rather than the address of the
12417 variable on the stack holding the address of the function.
12419 2006-09-01 Wim Taymans <wim@fluendo.com>
12421 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12422 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12423 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12424 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12425 (gst_ghost_pad_parent_unset),
12426 (gst_ghost_pad_internal_do_activate_push),
12427 (gst_ghost_pad_internal_do_activate_pull),
12428 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12429 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12430 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12431 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12432 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12433 (gst_ghost_pad_new_no_target_from_template),
12434 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12436 Avoid needless typechecking in macros.
12437 Since the internal pad is always present and never changes, there is
12438 no need to locking or ref when retrieving it.
12439 Improve debugging a bit.
12440 Handle link errors when setting the target. Fixes #341029.
12442 2006-09-01 Wim Taymans <wim@fluendo.com>
12444 * docs/libs/gstreamer-libs-sections.txt:
12445 * docs/plugins/gstreamer-plugins-sections.txt:
12446 Fix docs some more.
12448 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12449 (gst_collect_pads_event):
12450 * libs/gst/base/gstcollectpads.h:
12451 Documentation updates.
12452 Free queued buffer when removing a pad.
12454 2006-08-31 Michael Smith <msmith@fluendo.com>
12456 * gst/gstutils.c: (gst_element_link_pads),
12457 (gst_element_link_pads_filtered):
12458 Ensure that we set a capsfilter to NULL if we failed to link it
12459 when doing filtered linking, to avoid criticals.
12461 No need to check for unreffing srcpad, which is explicly NULLed
12462 above (a trivial code cleanup).
12464 2006-08-31 Wim Taymans <wim@fluendo.com>
12466 * docs/design/part-gstghostpad.txt:
12467 Update ascii art in documentation.
12469 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12470 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12471 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12472 (gst_ghost_pad_internal_do_activate_push),
12473 (gst_ghost_pad_internal_do_activate_pull),
12474 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12475 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12476 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12477 (gst_ghost_pad_set_target):
12478 Small cleanups and leak fixes.
12479 Remove some checks now that the internal pad is never NULL.
12480 Fix the case where linking pads without a target would create nasty
12481 criticals. Fixes #341029.
12482 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12483 value of _set_target().
12485 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12486 (gst_ghost_pad_suite):
12487 Some more tests for creating and linking untargeted ghostpads.
12489 2006-08-31 Edward Hervey <edward@fluendo.com>
12491 * docs/gst/gstreamer-sections.txt:
12492 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12493 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12494 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12495 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12496 (gst_ghost_pad_new_from_template),
12497 (gst_ghost_pad_new_no_target_from_template):
12498 * gst/gstghostpad.h:
12499 Refactored *_new() functions.
12500 Templates are now used as a g_object_new() parameter.
12501 Use template in _do_getcaps() if we don't have a target.
12502 Small documentation cleanups.
12503 Added two new constructors:
12504 gst_ghost_pad_new_from_template()
12505 gst_ghost_pad_new_no_target_from_template()
12506 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12507 (gst_ghost_pad_suite):
12508 Added tests for new ghostpad instanciation functions.
12510 API additions: gst_ghost_pad_new_from_template,
12511 gst_ghost_pad_new_no_target_from_template
12513 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12515 * docs/random/ensonic/profiling.txt:
12516 Ideas about qos profiling.
12518 2006-08-29 Wim Taymans <wim@fluendo.com>
12520 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12524 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12527 Improve and detypofy docs.
12529 * tests/check/Makefile.am:
12530 * tests/check/gst/.cvsignore:
12531 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12532 Add a basic test suite for GstXML.
12534 2006-08-29 Wim Taymans <wim@fluendo.com>
12536 * gst/gstelement.c: (activate_pads), (clear_caps),
12537 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12538 Clear the pad caps when the element shut down all of the pads and
12539 is not streaming data that could modify the caps.
12542 2006-08-28 Michael Smith <msmith@fluendo.com>
12544 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12545 Revert previous change; I misunderstood single-segment mode.
12547 2006-08-28 Michael Smith <msmith@fluendo.com>
12549 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12550 Unset DISCONT on buffers when using single-segment mode.
12552 2006-08-28 Wim Taymans <wim@fluendo.com>
12554 * gst/gstcaps.c: (gst_caps_merge_structure):
12556 Fix docs and indentation again.
12558 * tests/check/gst/gstquery.c: (GST_START_TEST):
12559 Fix leak in tests and add some more tests.
12561 2006-08-28 Edward Hervey <edward@fluendo.com>
12563 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12564 Inform GstSegment of the last stop position in order for the current
12565 segment to have a proper duration if it doesn't have a specific stop
12566 position from which a duration could be calculated.
12567 This bug was noticeable when a non-flushing, non-update new segment was
12568 followed by another segment (all buffers from the new segment were being
12571 2006-08-28 Wim Taymans <wim@fluendo.com>
12573 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12574 Small comment update.
12576 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12577 (gst_identity_transform_ip):
12578 Drop-probability is broken, mention this in the code with a
12579 FIXME and also in the property description.
12580 Make silent also be silent about the drop messages.
12582 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12584 * docs/manual/appendix-win32.xml:
12585 Remove mention of popt, we don't depend on that any
12586 longer (#353136). Add some comments pointing out that
12587 this section is slightly outdated.
12589 2006-08-28 Wim Taymans <wim@fluendo.com>
12591 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12593 * gst/gstquery.c: (gst_query_new_segment):
12594 * tests/check/gst/gstquery.c: (GST_START_TEST):
12595 Initialize variables when creating a new segment query.
12598 2006-08-28 Wim Taymans <wim@fluendo.com>
12600 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12602 * gst/gstelement.c: (gst_element_get_bus):
12603 * tests/check/gst/gstelement.c: (GST_START_TEST):
12604 Check for NULL before _reffing the bus. Fixes #353122.
12606 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12608 * docs/manual/basics-bus.xml:
12609 Docs update: fix wrong callback return value explanation; add
12610 some lines about the implicit relationship between main loop
12611 and main context; remove duplicate main loop variable declaration.
12613 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12615 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12616 Don't leak caps in unit test; add a few more simple
12619 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12621 * docs/gst/gstreamer-sections.txt:
12622 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12623 (gst_caps_structure_is_subset), (gst_caps_merge),
12624 (gst_caps_merge_structure):
12626 * libs/gst/base/gstbasetransform.c:
12627 (gst_base_transform_transform_caps):
12628 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12629 implement caps merging (fixes #352580)
12631 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12633 * tools/Makefile.am:
12634 * tools/gst-plot-timeline.py:
12635 add debug-log plotting developer tool (#340674)
12637 2006-08-23 Wim Taymans <wim@fluendo.com>
12639 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12640 (gst_pad_stop_task):
12641 Improve debugging for task functions.
12643 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12644 (gst_task_start), (gst_task_pause), (gst_task_join):
12645 Make sure that the task function started and finished after a
12647 Don't try to push the task function on the threadpool multiple
12649 Improve the g_warning message with some useful suggestions
12650 about how to fix the problem.
12652 2006-08-23 Wim Taymans <wim@fluendo.com>
12654 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12655 Handle RESYNC correctly in _proxy_getcaps.
12657 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12659 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12660 (gst_xml_parse_memory), (gst_xml_get_element):
12661 Chain up to parent class in dispose function and also
12662 unref the elements in the toplevel_elements GList.
12663 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12664 Always return a reference in gst_xml_get_element() rather
12665 than only sometimes.
12667 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12668 Don't leak GstXml object.
12670 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12672 * docs/gst/gstreamer-sections.txt:
12673 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12676 * libs/gst/base/gstbasetransform.c:
12677 (gst_base_transform_transform_caps):
12678 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12681 2006-08-21 Edward Hervey <edward@fluendo.com>
12683 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12684 Implement GObject::dispose virtual method in GstXML so we can free the
12685 top_elements GList.
12687 2006-08-21 Wim Taymans <wim@fluendo.com>
12689 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12690 (gst_buffer_create_sub):
12691 Copy duration/offset_end/caps when creating a subbuffer of the
12693 Make the subbuffer read-only when we make the metadata writable for
12694 now. Fixes #351768.
12696 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12697 Added check for metadata copy when creating subbuffers.
12699 2006-08-21 Edward Hervey <edward@fluendo.com>
12701 * libs/gst/base/gstbasetransform.c:
12702 (gst_base_transform_buffer_alloc):
12703 Only call downstream buffer_alloc if transform element is passthrough
12704 or always_in_place. Closes #350449.
12706 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12709 ChangeLog surgery to add comments to previous changes
12711 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12716 * gst/gstpad.c: (gst_pad_set_active):
12717 Be more verbose in the log
12719 * libs/gst/base/gstbasetransform.c:
12720 (gst_base_transform_transform_caps):
12721 Simplify caps to get rid of duplicates, fixes #345444
12723 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12727 Use these optimizations only internally.
12729 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12731 * gst/gstvalue.c: (gst_value_compare_list),
12732 (gst_value_compare_fraction_range),
12733 (gst_value_intersect_fraction_fraction_range),
12734 (gst_value_intersect_fraction_range_fraction_range),
12735 (gst_value_subtract_fraction_fraction_range),
12736 (gst_value_subtract_fraction_range_fraction_range),
12737 (gst_value_get_compare_func), (gst_value_compare),
12738 (gst_value_compare_with_func):
12740 Saves the expensive lookup of the compare function in many cases
12743 2006-08-18 Edward Hervey <edward@fluendo.com>
12745 * tests/check/gst/gstinfo.c: (gst_info_suite):
12746 Disable test that require gstdebug if it wasn't built in core.
12748 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12750 * docs/random/ensonic/logging.txt:
12753 * gst/gstinfo.c: (gst_debug_log_default):
12754 reorder fields, save some columns, add optional color codes for log
12757 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12759 * docs/random/ensonic/logging.txt:
12760 add ideas about making the logs a bit more useful
12762 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12764 * docs/pwg/advanced-events.xml:
12765 * docs/pwg/titlepage.xml:
12766 Update for 0.10 API (#340627). Add myself
12769 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12771 * docs/libs/gstreamer-libs-docs.sgml:
12772 * docs/libs/gstreamer-libs-sections.txt:
12773 * libs/gst/check/gstbufferstraw.c:
12774 Make gstcheck stuff show up in docs (still needs to
12775 be documented properly though).
12777 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12779 * docs/gst/gstreamer-sections.txt:
12781 * gst/gst.c: (init_post):
12782 * gst/gst_private.h:
12783 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12785 * gst/gstquery.c: (gst_query_new_position),
12786 (gst_query_set_position), (gst_query_parse_position),
12787 (gst_query_new_duration), (gst_query_set_duration),
12788 (gst_query_parse_duration), (gst_query_new_convert),
12789 (gst_query_set_convert), (gst_query_parse_convert),
12790 (gst_query_new_segment), (gst_query_set_segment),
12791 (gst_query_parse_segment), (gst_query_new_seeking),
12792 (gst_query_set_seeking), (gst_query_parse_seeking):
12793 Add internal helpers for pre-registering quarks from static strings
12794 and using the quark values directly instead of looking them up when
12795 creating and parsing queries. Can be used for event construction too.
12798 2006-08-16 Wim Taymans <wim@fluendo.com>
12803 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12805 * gst/gstutils.c: (gst_util_set_value_from_string):
12806 Fix memleak (#351502).
12808 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12809 Add unit test for most of gst_util_set_value_from_string()
12810 (not that one would want to encourage use of this function).
12812 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12814 * libs/gst/check/gstcheck.h:
12815 Use const gchar * variables in fail_unless_equals_string
12816 macro to avoid compiler warnings (and don't use tabs for
12819 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12821 * tools/gst-launch.c: (print_tag):
12822 More space on the left for the tag names, to cater
12823 for the 'extended comment' tag (not touching the
12824 string for the first line since it's translated).
12826 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12828 * libs/gst/check/gstcheck.h:
12829 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12830 print something when they fail.
12832 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12834 * docs/gst/gstreamer-sections.txt:
12835 * gst/gsttaglist.c: (_gst_tag_initialize):
12836 * gst/gsttaglist.h:
12837 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12838 Also change merge function for GST_TAG_COMMENT to
12841 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12843 * gst/gstinfo.c: (gst_debug_print_object):
12844 Make GST_PTR_FORMAT print messages as well.
12846 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12847 (GST_START_TEST), (gst_info_suite):
12850 2006-08-14 Edward Hervey <edward@fluendo.com>
12852 * gst/gstelementfactory.c: (gst_element_register):
12853 If the GstElementClass doesn't have a GstElementDetails with all fields
12854 filled up correctly (longname, description AND author), then error out
12855 nicely instead of crashing.
12857 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12859 * gst/gststructure.c:
12860 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12863 Expand on the difference between arrays and lists as we use them.
12865 2006-08-14 Wim Taymans <wim@fluendo.com>
12867 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12868 If the parent state change function failed, don't assume we can safely
12869 stop the source, this will be done when the pads are deactivated.
12871 2006-08-14 Wim Taymans <wim@fluendo.com>
12874 * gst/gsttask.c: (gst_task_join):
12877 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12878 (gst_pad_stop_task):
12879 When pad (de)activation failed for some reason, restore the old
12880 activation mode and set the pad to flushing instead of assuming the
12881 pad is deactivated.
12882 If the _task_join() failed, reinstall the task on the pad so that it can
12883 be stopped later and return an error.
12885 2006-08-11 Andy Wingo <wingo@pobox.com>
12888 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12889 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12890 is only for users of API that don't want to see deprecated
12891 functions in the headers; people that want to compile out
12892 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12893 CFLAGS. Fixes the build of multifdsink, or will soon..
12895 2006-08-11 Wim Taymans <wim@fluendo.com>
12897 * docs/gst/gstreamer-sections.txt:
12898 Add GstClockClass vmethod docs.
12901 Mark #endif with comment for associated #if
12903 * gst/gstclock.c: (gst_clock_id_wait):
12905 Add vmethod wait_jitter to avoid an unneeded _get_time() for
12906 most clock implementations.
12908 Flesh out docs about resolution methods.
12909 API: GstClockClass::wait_jitter
12911 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12912 (gst_system_clock_async_thread),
12913 (gst_system_clock_id_wait_jitter_unlocked),
12914 (gst_system_clock_id_wait_jitter):
12915 Use base class wait_jitter variant for improved performance
12916 due to less clock polling.
12918 2006-08-11 Edward Hervey <edward@fluendo.com>
12920 * gst/gst.c: (gst_init_check), (init_post):
12921 Set gst as being initialized before scanning/updating the registry,
12922 since there might be my python plugin loader that calls gst_init() and
12923 we don't want to loop back in.
12926 2006-08-11 Wim Taymans <wim@fluendo.com>
12928 * docs/design/part-qos.txt:
12929 Bring docs in line with the code. Mostly the sign of the jitter was
12930 wrong in the docs. Fixes #349943.
12933 Fix the docs for the jitter.
12935 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12936 (gst_event_parse_tag), (gst_event_new_buffer_size),
12937 (gst_event_parse_buffer_size), (gst_event_parse_qos),
12938 (gst_event_new_seek), (gst_event_parse_seek),
12939 (gst_event_new_navigation):
12940 Make sure the GstStructure has no parent when creating custom
12942 Add some more argument checking so that we avoid 0.0 rates.
12943 Flesh out the docs for the QoS event some more.
12945 2006-08-11 Wim Taymans <wim@fluendo.com>
12947 * docs/gst/gstreamer-sections.txt:
12948 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12949 (ensure_current_registry_forking), (ensure_current_registry),
12950 (parse_one_option), (parse_goption_arg), (gst_deinit),
12951 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12954 Added API and command line option to disable registry forking in
12955 addition to the environment variable.
12956 Constify some static arrays.
12957 Added some more debug.
12958 Don't deinit twice.
12959 API: gst_registry_fork_is_enabled()
12960 API: gst_registry_fork_set_enabled()
12961 API: --gst-disable-registry-fork command line option
12964 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
12966 * gst/gst.c: (gst_init):
12967 Fix typo in error message.
12969 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12971 * libs/gst/controller/gstcontroller.h:
12972 fix ABI size-correction
12974 * tests/check/libs/gdp.c: (gst_dp_suite):
12975 make tests that use deprecated API conditional
12977 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12979 * docs/libs/gstreamer-libs-sections.txt:
12980 * libs/gst/controller/gstcontroller.c:
12981 (_gst_controller_get_property), (_gst_controller_set_property),
12982 (_gst_controller_init), (_gst_controller_class_init):
12983 * libs/gst/controller/gstcontroller.h:
12984 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12985 (gst_object_set_control_rate):
12986 API: add gst_object_{s,g}et_control_rate(), add private data section,
12989 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12990 * libs/gst/dataprotocol/dataprotocol.h:
12991 add deprecation guards to make gtk-doc happy and allow disabling cruft
12993 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
12995 * tests/check/Makefile.am:
12996 * tests/check/gst/.cvsignore:
12997 Let's enable the new unit test as well.
12999 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13002 * docs/gst/gstreamer-sections.txt:
13003 * gst/gstconfig.h.in:
13004 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13005 (_gst_info_printf_extension_ptr),
13006 (_gst_info_printf_extension_segment):
13007 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13008 register that lets us easily dump GstSegments into debug
13011 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13012 (info_segment_format_printf_extension), (gst_info_suite):
13013 Add simple unit test that logs a bunch of different segments (not
13014 valgrinded at the moment because of leaks in
13015 gst_debug_add_log_function).
13017 2006-08-09 Edward Hervey <edward@fluendo.com>
13019 * libs/gst/base/gstbasetransform.c:
13020 (gst_base_transform_buffer_alloc):
13021 Even if we can't figure out the proper format to request downstream,
13022 call buffer_alloc() downstream with the input parameters without setting
13023 the caps on the srcpad. This will force negotiation in the chain
13027 2006-08-08 Edward Hervey <edward@fluendo.com>
13029 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13030 Unlinking from a pad without a target is now a perfectly valid case
13031 which should NOT raise an assertion.
13032 This case would happen if a linked ghostpad its target set to NULL after
13033 it was previously linked.
13035 2006-08-08 Edward Hervey <edward@fluendo.com>
13037 * tests/check/libs/gdp.c:
13038 Also comment out the test (see below).
13040 2006-08-08 Edward Hervey <edward@fluendo.com>
13042 * tests/check/libs/gdp.c: (gst_dp_suite):
13043 Use the architecture information from config.h and not gcc macros
13044 in order to properly disable a test that fails on PPC64.
13046 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13048 * gst/gstelement.c: (gst_element_remove_pad):
13049 Don't crash printing the warning if the pad has no parent.
13051 2006-08-02 Wim Taymans <wim@fluendo.com>
13053 * libs/gst/dataprotocol/dataprotocol.c:
13054 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13055 (gst_dp_crc), (gst_dp_header_payload_length),
13056 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13057 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13058 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13059 (gst_dp_event_from_packet), (gst_dp_validate_header),
13060 (gst_dp_validate_payload):
13061 Make debug category static
13062 Constify the crc table.
13063 Do some more arg checking in public functions.
13064 Fix some docs and do some small cleanups.
13066 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13067 Add some more checks to see if GDP deals with bogus input.
13069 2006-07-31 Wim Taymans <wim@fluendo.com>
13071 * gst/gstvalue.c: (gst_value_compare_list):
13072 Fix GstValueList comparison code. Fixes #347293.
13074 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13075 Check to test GstValueList comparison.
13077 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13079 * gst/gstelementfactory.c: (gst_element_factory_create):
13080 Remove unnecessary ref/unref pair
13082 * gst/parse/grammar.y:
13083 Make sure to free the parse buffer on all code paths.
13084 Move a g_free up to the error handler where it's easier to see.
13086 * tests/check/gst/gstevent.c: (test_event):
13087 Extending timeout for downstream travelling events to 10 seconds to
13088 hopefully avoid intermittent failure on the buildbots.
13090 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13091 Don't manually set the state of the src element - it will happen as a
13092 natural consequence of the pipeline changing state, and that way it
13093 will do it in the right order too.
13095 2006-07-31 Wim Taymans <wim@fluendo.com>
13097 * libs/gst/base/gstbasetransform.c:
13098 (gst_base_transform_buffer_alloc):
13099 Use OBJECT_LOCK and refcounting to get the pad caps in the
13100 buffer_alloc function because the caps could change while we are
13101 busy with them. Fixes #349105
13103 2006-07-31 Wim Taymans <wim@fluendo.com>
13105 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13106 Protect _PAD_CAPS with OBJECT_LOCK.
13108 2006-07-31 Wim Taymans <wim@fluendo.com>
13110 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13111 (gst_pad_get_property), (gst_pad_activate_pull),
13112 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13113 (gst_pad_set_activate_function),
13114 (gst_pad_set_activatepull_function),
13115 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13116 (gst_pad_set_getrange_function),
13117 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13118 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13119 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13120 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13121 (gst_pad_set_acceptcaps_function),
13122 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13123 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13124 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13125 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13126 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13127 (gst_pad_configure_sink), (gst_pad_configure_src),
13128 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13129 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13130 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13131 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13132 (gst_pad_send_event):
13133 Use _DEBUG_OBJECT when it makes sense.
13134 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13135 Small cleanups and code reflows.
13136 Avoid caps refcounting in _accept_caps.
13137 Refactor alloc_buffer so that the code performed on the peer is in a
13138 separate function. Also if the pad does not implement a buffer alloc
13139 function, we should still check if the pad is flushing before falling
13140 back to the default allocator.
13142 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13144 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13145 Make all uses of identity and fakesink have silent=true to avoid
13146 serialising every passing data structure, which is breaking tests
13147 on FC4 for some unknown reason.
13149 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13151 * gst/parse/Makefile.am:
13152 * gst/parse/grammar.y:
13153 * gst/parse/parse.l:
13154 Reverted previous patch as it required to bump the flex dependency to
13155 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13157 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13159 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13161 * gst/parse/Makefile.am:
13162 * gst/parse/grammar.y:
13163 * gst/parse/parse.l:
13164 push & pop the state of the lexer for reentrant use case
13167 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13169 * libs/gst/base/gstbasesrc.h:
13170 Note in the docs that the ::newsegment vfunc is not actually used by
13173 2006-07-28 Wim Taymans <wim@fluendo.com>
13175 * libs/gst/base/gstcollectpads.c:
13176 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13177 (gst_collect_pads_clear), (gst_collect_pads_flush),
13178 (gst_collect_pads_event), (gst_collect_pads_chain):
13179 When flushing a pad, also clear the queued buffer so that we don't
13180 accidentally use it when we shouldn't.
13181 Fix leaks by inreffing incomming buffer.
13182 Flush out queued buffers in case of errors.
13185 2006-07-28 Wim Taymans <wim@fluendo.com>
13187 * docs/random/phonon-gst:
13188 Random notes about a Phonon backend.
13190 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13192 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13194 * tests/check/libs/gdp.c: (gst_dp_suite):
13195 Take a whack at fixing the ppc compile using a different define to
13196 disable the broken test.
13198 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13199 Remove excess g_print()
13201 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13203 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13204 Oops, meant to uncomment this line too to dampen the noise a bit.
13206 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13208 * gst/parse/grammar.y:
13209 * gst/parse/parse.l:
13210 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13211 (GST_START_TEST), (parse_suite):
13212 Fix some of the leaks exposed by extending the parse-launch testsuite,
13213 and move the 3 I can't figure out into a separate test that won't run
13214 the pipelines unless the appropriate line is uncommented.
13216 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13218 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13219 Requesting 0 bytes before the end of the file should result in
13220 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13223 2006-07-27 Wim Taymans <wim@fluendo.com>
13225 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13226 Fix useless assert, a uint is always positive.
13228 * gst/gststructure.c: (gst_structure_nth_field_name),
13229 (gst_structure_foreach), (gst_structure_map_in_place):
13230 Check input arguments for public functions to avoid obvious crashes.
13232 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13233 * plugins/elements/gstfakesink.h:
13234 Do less useless typechecking.
13236 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13238 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13239 Do not use mmap() by default since there are a number of error
13240 conditions that we would like to handle in a non-fatal way that
13241 will result in a SIGBUS if we use mmap(). Examples: external
13242 devices (USB harddrive, portable music player) being unplugged
13243 while in use; file on mounted CD/DVD that can't be read because
13244 the medium is partly damaged. Fixes #348455 and #348475.
13246 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13249 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13250 rates are a gdouble
13252 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13254 * gst/gstregistry.c:
13255 Move big documentation comment into class section header, so that it
13256 appears in the API docs.
13258 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13260 * docs/gst/gstreamer-sections.txt:
13261 Oops. Commit the docs additions too for new API.
13262 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13264 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13266 * gst/gststructure.c: (gst_structure_id_set),
13267 (gst_structure_id_set_valist):
13268 * gst/gststructure.h:
13269 Add API for setting values into structures without performing
13270 a quark lookup, if the appropriate quark is already known.
13272 API: gst_structure_id_set
13273 API: gst_structure_id_set_valist
13275 * gst/parse/grammar.y:
13276 * gst/parse/parse.l:
13277 Remove some dead code shown by the coverage information.
13278 Don't throw a critical g_warning when encountering a syntax error,
13279 just warn and let the normal error path handle it.
13281 * plugins/elements/gstelements.c:
13282 Bump the rank of filesink up to PRIMARY so that it is preferred over
13283 gnomevfssink for file:// sink uri's
13285 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13286 (GST_START_TEST), (run_delayed_test),
13287 (gst_parse_test_element_base_init),
13288 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13289 (gst_parse_test_element_change_state),
13290 (gst_register_parse_element), (parse_suite):
13291 Beef up the tests for parse syntax to check that more error cases
13292 fail as they are supposed to. Increases the test coverage a bit.
13294 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13296 * docs/manual/basics-elements.xml:
13297 Fix gst_element_link() example.
13300 Mention in API docs that one should usually gst_bin_add()
13301 elements to a bin or pipeline before doing the linking.
13303 2006-07-26 Wim Taymans <wim@fluendo.com>
13305 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13306 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13307 Avoid function call for known types by keeping the buffer and
13308 subbuffer GType global.
13310 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13311 Random silly optimisations in read() path.
13313 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13315 * tools/gst-launch.c: (main):
13316 If the top-level of the parse is a normal bin, it doesn't do the
13317 right logic to run as a top-level element, so place it inside a
13320 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13322 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13323 Remove superfluous g_object_notify() calls, GObject does
13324 that for us automatically.
13326 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13329 on Win32, use dllspec to export the debug category symbols
13331 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13333 * gst/gsttaglist.c: (_gst_tag_initialize):
13334 Allow more than one GST_TAG_IMAGE per taglist.
13336 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13338 * gst/gstminiobject.c:
13340 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13341 (gst_fd_src_create):
13342 log recurring events at LOG level
13343 add more debug for when the fd gets set
13345 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13347 * gst/gstparse.c: (gst_parse_launch):
13348 Also remove reentrance checks if flex is MT safe (#348179)
13349 Fix my empty ChangeLog entry below
13351 2006-07-21 Andy Wingo <wingo@pobox.com>
13353 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13355 * libs/gst/check/Makefile.am
13356 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13357 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13358 * libs/gst/check/gstbufferstraw.h:
13359 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13360 functions, thus proving I am still a GStreamer haxor. OK I wrote
13361 them a long time ago, but anyways.
13363 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13366 * gst/gstparse.c: (gst_parse_launch):
13367 Check for flex version and omit mutex if we have a MT save flex
13370 2006-07-21 Wim Taymans <wim@fluendo.com>
13372 * gst/gstparse.c: (gst_parse_launch):
13373 Protect recursive calls to _parse with a recursive mutex
13376 2006-07-21 Wim Taymans <wim@fluendo.com>
13378 * tests/check/gst/gstpad.c: (GST_START_TEST):
13381 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13383 * gst/gstparse.c: (gst_parse_launch):
13384 Do not hang on recursive usage of gst_parse_launch()
13386 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13388 * gst/gsttaglist.c:
13389 Add some more docs, comments and FIXME 0.11s here and there
13390 and also fix some typos.
13392 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13394 * gst/gstsegment.h:
13395 Convert tabs to spaces for better readability.
13397 2006-07-20 Edward Hervey <edward@fluendo.com>
13399 * tests/check/libs/gdp.c: (gst_dp_suite):
13400 the test_buffer test fails at line 140 on ppc64 at the following
13402 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13403 GST_BUFFER_FLAG_IN_CAPS),
13404 "GST_BUFFER_IN_CAPS flag should have been copied !");
13405 See bug #348114 for more details.
13407 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13409 * docs/pwg/advanced-scheduling.xml:
13411 Fix typos (#348000).
13413 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13415 * docs/pwg/intro-basics.xml:
13416 Fix wrong links (#347927).
13418 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13420 * gst/gstregistry.h:
13421 * gst/gstregistryxml.c: (load_feature),
13422 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13423 * win32/common/config.h:
13424 make --disable-index work (#342564)
13426 2006-07-18 Wim Taymans <wim@fluendo.com>
13428 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13432 The attached patch adds two missing defines to gsttrace.h when tracing
13433 is disabled. It also corrects one existing define.
13436 2006-07-17 Wim Taymans <wim@fluendo.com>
13438 * docs/gst/gstreamer-sections.txt:
13439 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13441 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13442 Add two functions to check and change the SIGSEGV behaviour
13443 when loading plugins.
13444 Don't mess with the SIGSEGV handler when we were told not to.
13446 API: gst_segtrap_is_enabled
13447 API: gst_segtrap_set_enabled
13449 2006-07-14 Wim Taymans <wim@fluendo.com>
13451 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13452 * tests/check/elements/filesrc.c: (GST_START_TEST):
13453 Revert fix for regression in #347408 after release.
13455 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13457 Patch by: Antoine Tremblay <hexa00 at gmail com>
13459 * gst/gstutils.c: (gst_element_unlink):
13460 Free iterator when done (#347311).
13462 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13463 And add a test case for this.
13465 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13468 Bump nano back to CVS
13470 === release 0.10.9 ===
13472 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13475 releasing 0.10.9, "On the road again"
13477 2006-07-13 Wim Taymans <wim@fluendo.com>
13479 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13480 * tests/check/elements/filesrc.c: (GST_START_TEST):
13481 Revert pull-0 fix for release. Disable check. Fixes #347408.
13483 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13485 * libs/gst/dataprotocol/dataprotocol.c:
13486 (gst_dp_event_from_packet_1_0):
13487 Fixes #347337: failure to deserialize event packets with
13488 empty payload (only event type)
13490 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13493 do not install a .c file in the header directory
13495 2006-07-13 Edward Hervey <edward@fluendo.com>
13497 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13498 GhostPad no longer implicitely use the padtemplates of the targets.
13501 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13503 * gst/gstvalue.c: (gst_value_compare_list),
13504 (gst_value_compare_array), (_gst_value_initialize):
13505 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13506 Make GstValueArray comparison be order dependent as designed.
13507 Add checks for value lists and value array comparisons.
13510 2006-07-11 Edward Hervey <edward@fluendo.com>
13512 * gst/gstbin.c: (activate_pads),
13513 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13514 (gst_bin_change_state_func):
13515 (de)activate src pads before calling state_change on the childs.
13516 This is to avoid the case where a src ghostpad is blocked (holding the
13517 stream lock), which would block the deactivation of the ghostpad's
13519 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13520 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13521 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13522 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13523 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13524 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13525 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13526 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13527 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13528 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13529 (gst_ghost_pad_class_init),
13530 (gst_ghost_pad_internal_do_activate_push),
13531 (gst_ghost_pad_internal_do_activate_pull),
13532 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13533 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13534 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13535 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13536 GhostPads now create their internal GstProxyPad at creation (and not
13537 when they're linked, as it was being done previously).
13538 The internal and target pads are linked straight away.
13539 The data will also travel through the other pad in order to make
13540 pad blocking and probes non-hackish (the probe/block now really happens
13541 on the GhostPad and not on the target).
13542 * gst/gstpad.c: (gst_pad_set_blocked_async),
13543 (gst_pad_link_prepare), (gst_pad_push_event):
13544 Remove previous ghostpad cruft.
13545 * gst/gstutils.c: (gst_pad_add_data_probe),
13546 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13547 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13548 (gst_pad_remove_buffer_probe):
13549 Remove previous ghost pad cruft.
13550 Added more detailed debug statements.
13551 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13552 Fix the testsuite for refcounting changes.
13553 The comments about who has references were correct, but the refcount
13554 being checked wasn't the same (!?!).
13558 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13560 * docs/gst/gstreamer-sections.txt:
13561 * gst/gstconfig.h.in:
13562 More docs for configuration options, add docs to gtk-doc.
13564 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13567 * gst/gstconfig.h.in:
13568 * win32/common/config.h:
13569 Fix build when disabling tracing (fixes #344016). Also start to document
13570 the defines that disable the sub-systems.
13572 2006-07-10 Edward Hervey <edward@fluendo.com>
13574 * gst/gst.c: (ensure_current_registry_forking):
13575 let's make valgrind happy...
13577 2006-07-09 Wim Taymans <wim@fluendo.com>
13579 * gst/gstelement.c: (activate_pads),
13580 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13581 Better pad activation code: Reset the collect value too on resync.
13584 2006-07-09 Wim Taymans <wim@fluendo.com>
13586 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13587 (gst_pad_activate_push):
13588 Use some more macros where it makes sense.
13589 Allow pad mode switching instead of asserting. When a pad
13590 is activated in one mode and we activate it in another,
13591 deactivate it first before activating it in a different mode.
13594 2006-07-08 Andy Wingo <wingo@pobox.com>
13596 * tools/gst-launch.c (main): Handle err == NULL.
13598 * gst/gst.c (init_post, ensure_current_registry)
13599 (ensure_current_registry_forking)
13600 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13601 factoring out the registry scanning into separate functions. Don't
13602 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13603 Better environment var name/interface suggestions accepted.
13605 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13607 * gst/gstobject.c: (gst_object_set_name_default),
13608 (gst_object_set_name):
13609 Random micro-optimisation: don't use a hash table
13610 with strings as keys and the usual strdup/strcmp
13611 involved, but rather just use the GQuark of the
13612 type name as key, since it needs to be looked up
13613 anyway to get the type name string.
13615 * tests/check/gst/gstobject.c: (GST_START_TEST):
13618 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13620 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13621 (gst_bin_iterate_all_by_interface):
13622 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13623 GTypes are gulongs and thus the top 4 bytes might be cut
13624 off on some platforms when doing GPOINTER_TO_INT, leading
13625 to invalid GTypes and bad things happening (see RH bug #179654).
13626 Also add a check to make sure the type passed in is really
13629 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13634 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13638 * gst-element-check.m4:
13639 * gst-element-check.m4.in:
13640 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13641 instead of the unversioned gst-inspect (#324176, #168659).
13643 2006-07-06 Wim Taymans <wim@fluendo.com>
13645 * gst/gstmessage.h:
13646 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13649 2006-07-06 Wim Taymans <wim@fluendo.com>
13651 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13652 (gst_base_src_wait), (gst_base_src_update_length),
13653 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13654 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13655 (gst_base_src_loop), (gst_base_src_start),
13656 (gst_base_src_activate_pull):
13658 blocksize == 0 now means the default blocksize when working in push
13660 Remove some pointless asserts in _wait function.
13661 Fix offset/length calculations and EOS handling. We can now pull 0
13662 bytes as well, which is allowed.
13663 use _check_get_range() to decide if we can operate in _pull based
13665 Fix refcounting leak when check_get_range function was not
13667 API GstBaseSrc::blocksize range can be 0 too now (default)
13669 * tests/check/elements/filesrc.c: (GST_START_TEST),
13671 Added check to test _get_range() behaviour.
13673 2006-07-06 Wim Taymans <wim@fluendo.com>
13675 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13676 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13677 (gst_pad_pull_range):
13679 Lots of comments and docs added to the pad functions.
13680 Flesh out the expected behaviour of the get_range() functions.
13682 2006-07-06 Wim Taymans <wim@fluendo.com>
13687 * gst/gstiterator.h:
13691 Remove comma at end of enumerator list.
13693 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13695 * win32/common/libgstbase.def:
13696 * win32/common/libgstdataprotocol.def:
13697 * win32/common/libsgtreamer.def:
13698 Add new exported functions.
13700 2006-07-05 Wim Taymans <wim@fluendo.com>
13702 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13703 Add some more docs here and there.
13705 2006-07-05 Wim Taymans <wim@fluendo.com>
13707 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13708 (gst_base_sink_loop), (gst_base_sink_get_position):
13709 When operating in pull mode update the offset so that we
13712 2006-07-05 Wim Taymans <wim@fluendo.com>
13714 * gst/gstregistryxml.c: (read_string):
13715 Avoid strdup. (will happen in libxml, but hey!)
13718 Add some more docs.
13720 2006-07-05 Wim Taymans <wim@fluendo.com>
13722 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13723 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13724 (gst_buffer_suite):
13725 No point in checking if the size of the subbuffer > 0, the
13726 code handles it correclty as demonstrated by unit test.
13727 Also add a unit test for the zero sized _new_and_alloc and
13728 _copy. Fixes #346663.
13730 2006-07-05 Wim Taymans <wim@fluendo.com>
13732 * libs/gst/base/gstbasetransform.c:
13733 (gst_base_transform_prepare_output_buffer),
13734 (gst_base_transform_buffer_alloc),
13735 (gst_base_transform_handle_buffer):
13736 Make sure the buffer we pass to transform_ip has a refcount of
13737 1 and thus is writable. Fixes #343196
13739 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13741 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13742 (gst_file_src_init), (gst_file_src_set_property),
13743 (gst_file_src_get_property), (gst_file_src_map_region):
13744 * plugins/elements/gstfilesrc.h:
13745 Add "sequential" property, off by default, to use madvise and hint
13746 to the kernel that sequential access is desired.
13747 Touch all retrieved pages by default to ensure they are pulled
13748 into memory. (Closes #345720)
13750 2006-07-03 Wim Taymans <wim@fluendo.com>
13752 * docs/design/part-block.txt:
13753 * docs/design/part-dynamic.txt:
13754 Small docs updates.
13756 2006-07-03 Wim Taymans <wim@fluendo.com>
13758 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13759 (gst_caps_unref), (gst_static_caps_get),
13760 (gst_caps_append_structure):
13761 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13762 Use GSlice when the glib we build against is >= 2.10
13764 2006-07-03 Wim Taymans <wim@fluendo.com>
13766 * gst/gstelement.c: (gst_element_pads_activate):
13767 Small cleanup in pad activation code.
13769 2006-07-03 Wim Taymans <wim@fluendo.com>
13771 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13773 * gst/gst-i18n-app.h:
13774 * gst/gst-i18n-lib.h:
13775 * tools/gst-inspect.c: (print_signal_info):
13776 The attached patch will make the inclusion of gettext.h unconditional in
13777 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13778 libintl.h in tools/gst-inspect.c.
13779 This allows use of --disable-nls again and fixes #344642.
13781 2006-07-03 Edward Hervey <edward@fluendo.com>
13783 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13784 Implement pad blocking on events according to part-block.txt.
13785 More comments on behaviour.
13786 * tests/check/gst/gstevent.c: (test_event):
13787 Send event to peer pad of blocked pad (else it will block).
13789 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13791 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13792 (gst_check_run_suite):
13793 if we get the wrong message, give us the types as string
13794 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13796 * tests/check/elements/filesrc.c: (GST_START_TEST):
13797 add a test for trying to open a non-existing file
13799 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13801 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13802 add a test for adding self
13804 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13806 * libs/gst/check/gstcheck.h:
13807 add some assert_ as alias for fail_unless_*
13808 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13809 increase test coverage
13811 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13814 include lcov.mak for lcov coverage generation
13815 * tools/Makefile.am:
13818 2006-07-02 Edward Hervey <edward@fluendo.com>
13820 * tests/check/elements/.cvsignore:
13823 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13826 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13827 * tests/check/Makefile.am:
13828 clean up gcov files
13830 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13832 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13833 remove gst_caps_simplify; it was not declared and not used
13834 and deprecated in 0.8
13836 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13838 * docs/faq/gst-uninstalled:
13839 don't put empty paths on PYTHONPATH
13840 * docs/gst/gstreamer-sections.txt:
13841 remove some symbols that are not there
13843 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13845 * gst/gstcaps.c: (gst_caps_compare_structures):
13847 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13848 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13851 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13853 * libs/gst/dataprotocol/Makefile.am:
13854 build dataprotocol test by linking to the lib, instead of
13855 compiling the source, so we get coverage
13856 * tests/check/Makefile.am:
13857 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13858 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13859 add a test for filesrc
13861 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13863 * tests/check/gst/gststructure.c: (GST_START_TEST),
13864 (gst_structure_suite):
13865 Push coverage from 59.04% to 70.00%
13867 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13869 * tests/check/Makefile.am:
13870 gst-inspect every element; this makes sure that we also get
13871 coverage on element's get/set functions
13873 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13876 set CFLAGS and friends to -O0 if gcov is being used
13879 * libs/gst/base/Makefile.am:
13880 * libs/gst/check/Makefile.am:
13881 * libs/gst/controller/Makefile.am:
13882 * libs/gst/dataprotocol/Makefile.am:
13883 * libs/gst/net/Makefile.am:
13884 * plugins/elements/Makefile.am:
13885 * plugins/indexers/Makefile.am:
13886 add makefile rules to generate gcov data and clean up
13887 * tests/check/Makefile.am:
13888 add a coverage target that generates an html overview
13891 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13893 * tests/check/elements/fakesink.c:
13894 * tests/check/elements/fakesrc.c:
13895 * tests/check/elements/fdsrc.c:
13896 * tests/check/elements/identity.c:
13897 * tests/check/generic/sinks.c: (gst_sinks_suite):
13898 * tests/check/generic/states.c:
13899 * tests/check/gst/gst.c:
13900 * tests/check/gst/gstabi.c:
13901 * tests/check/gst/gstbin.c:
13902 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13903 * tests/check/gst/gstbus.c: (gst_bus_suite):
13904 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13905 * tests/check/gst/gstelement.c:
13906 * tests/check/gst/gstevent.c: (gst_event_suite):
13907 * tests/check/gst/gstghostpad.c:
13908 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13909 * tests/check/gst/gstmessage.c: (gst_message_suite):
13910 * tests/check/gst/gstminiobject.c:
13911 * tests/check/gst/gstobject.c:
13912 * tests/check/gst/gstpad.c:
13913 * tests/check/gst/gstpipeline.c:
13914 * tests/check/gst/gstplugin.c:
13915 * tests/check/gst/gstquery.c: (gst_query_suite):
13916 * tests/check/gst/gstsegment.c: (gst_segment_suite):
13917 * tests/check/gst/gststructure.c:
13918 * tests/check/gst/gstsystemclock.c:
13919 * tests/check/gst/gsttag.c:
13920 * tests/check/gst/gsttask.c: (gst_task_suite):
13921 * tests/check/gst/gstutils.c:
13922 * tests/check/gst/gstvalue.c:
13923 * tests/check/libs/adapter.c:
13924 * tests/check/libs/basesrc.c:
13925 * tests/check/libs/collectpads.c:
13926 * tests/check/libs/controller.c:
13927 * tests/check/libs/gdp.c: (gst_dp_suite):
13928 * tests/check/libs/gstnetclientclock.c:
13929 * tests/check/libs/gstnettimeprovider.c:
13930 * tests/check/libs/libsabi.c: (libsabi_suite):
13931 * tests/check/libs/typefindhelper.c:
13932 * tests/check/pipelines/cleanup.c:
13933 * tests/check/pipelines/parse-launch.c:
13934 * tests/check/pipelines/simple-launch-lines.c:
13935 * tests/check/pipelines/stress.c: (stress_suite):
13938 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13940 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13941 * libs/gst/check/gstcheck.h:
13942 create a macro and function so that the simple unit test
13943 case can be just one macro to create main()
13945 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
13947 * gst/gstbin.c: (gst_bin_restore_thyself):
13948 * gst/gstxml.c: (gst_xml_make_element):
13949 Fix deserialisation from XML. Set parent manually
13950 instead of using gst_bin_add(), since gst_bin_add()
13951 will unlink all pads of the element being added.
13954 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
13956 Patch by: Peter Kjellerstedt <pkj at axis com>
13958 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13959 Fix missing g_strdup() and double free when using the
13960 --gst-plugin-load command line option (#346097).
13962 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13965 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13967 * libs/gst/net/gstnetclientclock.c:
13968 * libs/gst/net/gstnettimeprovider.c:
13969 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13971 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13973 * docs/manual/advanced-dataaccess.xml:
13974 Fix buffer probe example compilation in
13977 2006-06-22 Edward Hervey <edward@fluendo.com>
13979 * gst/gstelement.c: (gst_element_pads_activate):
13980 We need to deactivate src pads first and then sink pads.
13981 The reason is the src pads might be blocking while holding the streaming
13982 lock, so we need to deactivate them first so that deactivating the sink
13983 pads doesn't block (since it will require the streaming lock).
13985 2006-06-22 Wim Taymans <wim@fluendo.com>
13987 * libs/gst/base/gstbasetransform.c:
13988 (gst_base_transform_buffer_alloc):
13989 Forgot to remove two unneeded unrefs.
13990 Simplify a check _is_equal allready checks the obvious case.
13992 2006-06-22 Wim Taymans <wim@fluendo.com>
13994 * docs/design/part-block.txt:
13995 Some docs about what pad_block should do.
13997 2006-06-22 Wim Taymans <wim@fluendo.com>
13999 * gst/gstcaps.c: (gst_caps_replace):
14000 Fix crasher when passed NULL. Doc clarification.
14001 Optimize for the trivial case.
14003 * gst/gstpipeline.c: (gst_pipeline_change_state):
14006 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14007 Small documentation cleanup.
14009 * libs/gst/base/gstbasetransform.c:
14010 (gst_base_transform_buffer_alloc):
14011 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14012 is what we need and it avoids a whole lot of redundant
14013 refcount operations.
14015 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14017 Patch by: Philip Jägenstedt <philip at lysator liu se>
14019 * docs/manual/advanced-dataaccess.xml:
14020 Fix 'Embedding static elements' section to use
14021 GST_PLUGIN_DEFINE_STATIC (#345607).
14023 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14025 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14026 Attempt to 'fix' spuriously failing test case: it seems like the
14027 timeout of half a second is simply too small when the system is under
14028 load otherwise, and the timeout doesn't really seem to serve any
14029 particular purpose here. Give the pipeline a few seconds to preroll
14030 first, and then give it another half a second to go from PAUSED to
14031 PLAYING and marshal the message into the main thread.
14033 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14035 * tools/gst-feedback-m.m:
14036 Don't only use unversioned tools, try versioned tools as well
14039 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14041 * gst/gstbus.c: (gst_bus_class_init):
14042 Fix some typos, make docs more explicit.
14044 2006-06-20 Wim Taymans <wim@fluendo.com>
14046 * tests/check/gst/gstghostpad.c: (block_callback),
14047 (GST_START_TEST), (gst_ghost_pad_suite):
14048 Added some more ghostpad tests, mainly blocking
14051 2006-06-16 Wim Taymans <wim@fluendo.com>
14053 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14054 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14055 (gst_file_sink_event), (gst_file_sink_render):
14056 * plugins/elements/gstfilesink.h:
14057 Check if we can seek in the file instead of assuming
14058 we always can. Post an error when we are asked to seek in a
14059 non-seekable file (like a fifo). Fixes #343312.
14062 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14064 * tools/gst-launch.1.in:
14065 Un-garble (fourcc) bit in filtered caps section.
14067 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14069 * docs/manual/advanced-autoplugging.xml:
14070 * docs/manual/basics-helloworld.xml:
14071 * docs/manual/highlevel-components.xml:
14072 Don't leak bus reference in sample code.
14074 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14077 Add default for new --enable-plugin-docs switch.
14080 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14083 * docs/Makefile.am:
14084 Use new ENABLE_PLUGIN_DOCS conditional.
14086 2006-06-14 Wim Taymans <wim@fluendo.com>
14088 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14089 Make it clear with a FIXME and a real define what the #if 0
14090 previously disabled.
14092 2006-06-14 Wim Taymans <wim@fluendo.com>
14094 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14095 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14096 * libs/gst/base/gstbasetransform.c:
14097 (gst_base_transform_sink_eventfunc):
14098 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14099 Don't randomly and silently reset a segment when the format
14100 changes as this is a bug somewhere upstream. Fixes #330379.
14102 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14104 Patch by: Wouter Paesen <wouter at kangaroot net>
14106 * libs/gst/controller/gstcontroller.c:
14107 (gst_controlled_property_new):
14108 Fix controlling of float properties (#344849).
14110 * tests/check/libs/controller.c:
14111 (gst_test_mono_source_get_property),
14112 (gst_test_mono_source_set_property),
14113 (gst_test_mono_source_class_init), (GST_START_TEST):
14114 While we're at it, add some float stuff to unit test.
14116 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14119 * docs/images/gdp-header.svg:
14121 * docs/libs/Makefile.am:
14122 * docs/libs/gdp-header.png:
14123 * libs/gst/dataprotocol/dataprotocol.c:
14124 add it to the API docs
14125 * docs/manual/intro-motivation.xml:
14128 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14130 * gst/gst.c: (scan_and_update_registry), (init_post):
14131 If the fork()'ed child process can't write the updated registry cache
14132 file to disk for some reason, make it exit with a failure exit code,
14133 so that the parent can then re-scan the plugins itself and update the
14134 registry structures in memory and work with that (rather than failing
14135 when creating elements because seemingly no plugins are available).
14136 Refactor registry scanning code into separate function for this and
14137 also separate fork() and non-fork() code paths. Fixes #344748.
14139 2006-06-13 Wim Taymans <wim@fluendo.com>
14141 * docs/manual/advanced-dataaccess.xml:
14142 Fix wrong PluginDesc. Fixes #344755.
14144 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14146 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14147 Fix silly bug that prevented us from creating
14148 ~/.gstreamer-0.10 and writing the registry in one
14149 go (the first call to g_mkstemp() would overwrite the
14150 placeholder in the template string, so the second call
14151 to g_mkstemp() after creating the missing directory
14152 would then error out with 'invalid argument').
14154 2006-06-13 Edward Hervey <edward@fluendo.com>
14156 * gst/gst.c: (init_post):
14159 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14161 * gst/glib-compat-private.h:
14162 * gst/glib-compat.c:
14163 * gst/glib-compat.h:
14164 * gst/gstvalue.c: (gst_value_serialize_flags):
14165 remove GLib 2.6 compatibility code
14167 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14169 * gst/parse/Makefile.am:
14170 Fix build with 'make -j N' even more (#340016).
14172 2006-06-12 Wim Taymans <wim@fluendo.com>
14174 * docs/gst/gstreamer-sections.txt:
14177 2006-06-12 Wim Taymans <wim@fluendo.com>
14179 * gst/gstsegment.c: (gst_segment_set_duration),
14180 (gst_segment_set_last_stop), (gst_segment_set_seek),
14181 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14182 (gst_segment_to_running_time), (gst_segment_clip):
14183 Use G_UNLIKELY to help the compiler a bit.
14185 2006-06-12 Wim Taymans <wim@fluendo.com>
14187 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14189 * gst/gstevent.c: (gst_event_get_type):
14190 * gst/gstmessage.c:
14191 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14193 constify quark registration strings. Fixes #344115
14194 Avoid unneeded type checking is _pad_push() by internally
14195 calling gst_pad_chain_unchecked().
14197 2006-06-12 Wim Taymans <wim@fluendo.com>
14199 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14200 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14201 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14202 (gst_buffer_is_span_fast), (gst_buffer_span):
14203 Init _type for consistency.
14204 Use _FLAGS macro to avoid type check.
14205 Avoid unneeded type checks in subbufer code.
14207 2006-06-12 Wim Taymans <wim@fluendo.com>
14209 * gst/gst.c: (gst_debug_help):
14210 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14211 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14212 (gst_plugin_feature_list_free):
14213 * gst/gstregistry.c: (gst_registry_add_plugin),
14214 (gst_registry_add_feature), (gst_registry_plugin_filter),
14215 (gst_registry_feature_filter), (gst_registry_find_plugin),
14216 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14217 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14218 * gst/gstregistryxml.c: (load_feature),
14219 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14220 * gst/gstminiobject.c: (gst_mini_object_unref),
14221 (gst_mini_object_replace), (gst_value_mini_object_free),
14222 (gst_value_mini_object_copy):
14223 Use _CAST macros to avoid unneeded type checking.
14224 Added some more G_UNLIKELY.
14226 2006-06-12 Wim Taymans <wim@fluendo.com>
14229 Avoid unneeded type checking.
14230 API: GST_BUFFER_IS_DISCONT
14232 * gst/gstminiobject.h:
14233 Avoid type check in flag accessor.
14235 * gst/gstelementfactory.h:
14237 * gst/gstpluginfeature.h:
14239 API: GST_ELEMENT_FACTORY_CAST
14240 API: GST_PLUGIN_CAST
14241 API: GST_PLUGIN_FEATURE_CAST
14243 2006-06-12 Wim Taymans <wim@fluendo.com>
14245 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14246 (gst_object_unref):
14247 Add G_UNLIKELY in type registration.
14248 Avoid type check in _ref/_unref since that is also
14251 2006-06-12 Wim Taymans <wim@fluendo.com>
14253 * gst/gsterror.c: (gst_g_error_get_type):
14254 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14255 (gst_static_pad_template_get_type):
14256 * gst/gsttaglist.c: (gst_tag_list_get_type):
14257 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14258 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14259 * gst/gsturi.c: (gst_uri_handler_get_type):
14260 * gst/gstvalue.c: (gst_date_get_type):
14261 * gst/gstxml.c: (gst_xml_get_type):
14262 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14263 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14264 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14265 Add G_UNLIKELY in type registration.
14267 2006-06-12 Wim Taymans <wim@fluendo.com>
14269 * tools/gst-inspect.c: (print_signal_info):
14270 Properly print enum values.
14272 2006-06-12 Wim Taymans <wim@fluendo.com>
14274 * gst/gstinfo.c: (gst_debug_set_active),
14275 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14277 Add some G_[UN]LIKELY.
14278 Maintain __gst_debug_min to avoid formatting the arguments of
14279 debug messages that will be dropped anyway to avoid a lot of
14280 overhead from the debugging system.
14282 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14285 * po/POTFILES.skip:
14286 add missing files containing translatable strings, tell intltool about
14289 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14291 * tests/check/libs/.cvsignore:
14292 add test-binary to ignore list
14294 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14296 * docs/libs/gstreamer-libs-docs.sgml:
14297 reorder (put dp into a chapter) and indent
14299 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14304 === release 0.10.8 ===
14306 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14309 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14311 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14313 * gst/gst.c: (init_post):
14314 move pid declaration to declaration block
14316 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14318 * gst/gst.c: (init_post):
14319 use _exit() instead of exit() in our forked child; this ensures
14320 that none of the registered exit handlers from whatever is using
14321 GStreamer get executed. This fixes gnome-mixer-applet failing
14322 to load, because ORBit would shut down.
14323 Spotted by: Edward Hervey <edward@fluendo.com>
14324 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14327 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14332 === release 0.10.7 ===
14334 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14337 releasing 0.10.7, "Soepeke, ik zie ou"
14339 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14362 * win32/common/config.h:
14363 0.10.6.2 prerelease
14365 2006-06-07 Wim Taymans <wim@fluendo.com>
14367 * gst/gstindex.c: (gst_index_gtype_resolver):
14368 * tools/gst-xmlinspect.c: (print_plugin_info):
14369 Fix leak spotted by coverity checker. Fixes #343827
14370 Fix another other leak found by paolo borelli.
14372 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14374 * libs/gst/dataprotocol/dataprotocol.c:
14375 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14376 (gst_dp_version_get_type), (gst_dp_init),
14377 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14378 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14379 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14380 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14381 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14382 (gst_dp_packetizer_free):
14383 * libs/gst/dataprotocol/dataprotocol.h:
14384 API: add a GstDPPacketizer object, and create/free functions
14385 API: add GstDPVersion enum
14386 Add 1.0 event function that uses the string serialization
14387 Serialize more useful buffer flags
14390 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14392 * tests/check/Makefile.am:
14393 * tests/check/gst/gstabi.c:
14394 * tests/check/gst/struct_ppc64.h:
14395 * tests/check/libs/libsabi.c:
14396 * tests/check/libs/struct_ppc64.h:
14397 add ppc64 structure sizes
14399 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14401 * tests/check/Makefile.am:
14402 * tests/check/gst/gstabi.c:
14403 * tests/check/gst/struct_x86_64.h:
14404 * tests/check/libs/libsabi.c:
14405 * tests/check/libs/struct_x86_64.h:
14406 generate and add structure size lists for x86_64
14408 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14410 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14411 * libs/gst/check/gstcheck.h:
14412 factor out the method from tests that checks size of structures,
14413 and add code to generate the header containing these sizes
14414 * tests/check/gst/gstabi.c: (GST_START_TEST):
14415 * tests/check/gst/struct_i386.h:
14416 * tests/check/libs/libsabi.c: (GST_START_TEST):
14417 * tests/check/libs/struct_i386.h:
14420 2006-06-06 Michael Smith <msmith@fluendo.com>
14422 * gst/gstsegment.h:
14423 Don't use c++-style comments, fixes #343929
14425 2006-06-05 Edward Hervey <edward@fluendo.com>
14428 plugin_paths is not used if we build without registry support.
14430 * gst/gstsegment.c: (gst_segment_copy):
14431 _copy() was always returning NULL...
14433 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14435 * libs/gst/dataprotocol/dataprotocol.c:
14436 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14437 (gst_dp_packet_from_event):
14438 factor out CRC code
14440 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14442 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14443 make sure we unset caps
14445 2006-06-02 Michael Smith <msmith@fluendo.com>
14447 * libs/gst/check/gstcheck.c: (gst_check_init),
14448 (gst_check_chain_func):
14449 * libs/gst/check/gstcheck.h:
14450 Add a cond/mutex to the check support lib, signal this whenever we
14451 add to the buffers list. This will allow tests to not busy-wait on
14454 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14456 * libs/gst/dataprotocol/dataprotocol.c:
14457 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14458 (gst_dp_packet_from_event):
14459 factor out some common header init code
14461 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14463 * docs/libs/gstreamer-libs-sections.txt:
14464 * docs/libs/tmpl/gstdataprotocol.sgml:
14465 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14466 * libs/gst/dataprotocol/dataprotocol.h:
14467 API: make gst_dp_crc() public
14469 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14471 * plugins/indexers/gstindexers.c: (plugin_init):
14472 conditionally register fileindexer (fixes #343598)
14474 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14476 * gst/gsttagsetter.h:
14477 Can't cast ifaces to a class
14479 * libs/gst/net/gstnetclientclock.h:
14480 * libs/gst/net/gstnettimeprovider.h:
14481 * plugins/elements/gstfakesink.h:
14482 * plugins/elements/gstfakesrc.h:
14483 * plugins/elements/gstfdsink.h:
14484 * plugins/elements/gstfdsrc.h:
14485 * plugins/elements/gstfilesink.h:
14486 * plugins/elements/gstfilesrc.h:
14487 * plugins/elements/gstidentity.h:
14488 * plugins/elements/gstqueue.h:
14489 * plugins/elements/gsttee.h:
14490 * plugins/indexers/gstfileindex.c:
14491 * plugins/indexers/gstmemindex.c:
14492 * tests/old/examples/plugins/example.h:
14493 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14495 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14497 * libs/gst/dataprotocol/dataprotocol.c:
14498 (gst_dp_header_from_buffer):
14499 make sure we zero the whole ABI-compatible area
14501 2006-06-01 Wim Taymans <wim@fluendo.com>
14503 Patch by: Alessandro Decina <alessandro at nnva dot org>
14505 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14506 Make sure the EOS flag is cleared from pads after a flush
14507 or stop. Fixes #343538.
14509 * tests/check/libs/collectpads.c: (GST_START_TEST),
14510 (gst_collect_pads_suite):
14511 Added test for collectpads reusage after EOS.
14513 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14516 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14517 * win32/common/libgstbase.def:
14518 export gst_collect_pads_set_flushing
14519 * win32/common/libgstreamer.def:
14520 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14521 gst_value_fraction_multiply
14522 * win32/vs6/gst_inspect.dsp:
14523 add a link to intl.lib
14525 2006-05-30 Wim Taymans <wim@fluendo.com>
14527 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14528 (gst_collect_pads_chain):
14529 Handle the case where a pad is removed from the collection
14530 that could cause the other pads to become collectable.
14532 2006-05-30 Wim Taymans <wim@fluendo.com>
14534 * gst/gstelement.c:
14535 Clarify the use of _release_request_pad() and
14536 _get_request_pad() a bit better.
14538 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14539 (gst_adapter_take_buffer):
14540 Fix some doc and comment typos.
14542 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14544 * docs/gst/gstreamer-sections.txt:
14545 * docs/libs/gstreamer-libs-sections.txt:
14546 add declared symbols
14548 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14550 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14551 Add debug that can be enabled using a #define at the top of the file,
14552 for dumping stats about how late/early we were when waking up from
14553 waiting on the clock.
14555 2006-05-30 Wim Taymans <wim@fluendo.com>
14557 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14558 When rebuilding the pad list, don't leak the previous list.
14560 2006-05-30 Wim Taymans <wim@fluendo.com>
14562 Patch by: Lutz Mueller <lutz at topfrose dot de>
14564 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14565 (gst_base_src_get_query_types), (gst_base_src_update_length):
14566 Publish supported query types.
14567 Update last_stop field in get_range mode so the position
14568 query works. Fixes #342321.
14570 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14572 * docs/gst/gstreamer-sections.txt:
14573 * gst/gsttaglist.c: (_gst_tag_initialize):
14574 * gst/gsttaglist.h:
14575 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14577 2006-05-30 Wim Taymans <wim@fluendo.com>
14579 Patch by: Alessandro Decina <alessandro at nnva dot org>
14581 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14582 Unlock mutex when removing an unknown pad.
14585 * tests/check/Makefile.am:
14586 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14587 (push_event), (setup), (teardown), (GST_START_TEST),
14588 (gst_collect_pads_suite), (main):
14589 Added collecpads check, disabled for now as check crashes for
14592 2006-05-29 Wim Taymans <wim@fluendo.com>
14594 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14595 Don't leak pads lists.
14597 2006-05-29 Wim Taymans <wim@fluendo.com>
14599 * docs/libs/gstreamer-libs-sections.txt:
14600 * libs/gst/base/gstcollectpads.c:
14601 (gst_collect_pads_set_flushing_unlocked),
14602 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14603 (gst_collect_pads_stop):
14604 * libs/gst/base/gstcollectpads.h:
14605 API: gst_collect_pads_set_flushing()
14606 Added api to set the pads to flushing, useful for seeking
14607 code in elements using collectpads.
14608 Clear segment when receiving a flush.
14610 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14612 * gst/gst.c: (add_path_func), (init_post):
14613 Don't scan registry paths passed via --gst-plugin-path immediately
14614 (will crash, because absolutely nothing is set up and no types are
14615 registered etc.); do this later in init_post(). Fixes #343057.
14617 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14619 * gst/gst.c: (init_post):
14620 if we have fork, fork while reading/rebuilding the registry
14621 so the parent doesn't take the hit of having all plugins loaded
14622 in memory. Fixes #342777.
14624 Check if we have fork()
14625 * win32/common/config.h.in:
14628 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14630 * plugins/elements/gstelements.c:
14631 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14632 (gst_file_src_init), (gst_file_src_set_property),
14633 (gst_file_src_get_property), (gst_file_src_start):
14634 * plugins/elements/gstfilesrc.h:
14635 API: GstFileSrc::use-mmap
14637 Add a use-mmap property to enable easier testing of all code paths.
14638 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14639 in the absence of gnomevfssrc. (Closes #340501)
14641 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14643 * tools/gst-inspect.c:
14644 Add missing include, removes warning of ngettext not being defined on
14647 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14649 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14650 Handle NULL input and output pointers silently as a failed conversion,
14651 rather than g_warnings.
14653 2006-05-25 Wim Taymans <wim@fluendo.com>
14655 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14656 Initialize variable before using. Fixes #342820.
14658 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14660 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14661 Fix off-by-one bug that would only allow peeks of N-1 bytes
14662 from the start even if the buffer to typefind on contains
14663 in fact N bytes of data (makes vorbis typefinding from a
14664 vorbis identification header buffer work).
14666 * tests/check/Makefile.am:
14667 * tests/check/libs/.cvsignore:
14668 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14669 (gst_typefindhelper_suite), (main), (foobar_typefind),
14671 Add very basic unit test for gst_type_find_helper_for_buffer()
14672 that checks for the problem fixed above.
14674 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14676 * tools/gst-inspect.c: (print_interfaces),
14677 (print_element_properties_info), (print_element_list), (main):
14678 add more translatable strings
14680 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14682 Patch by: Julien Moutte <julien at moutte net>
14684 * docs/gst/gstreamer-sections.txt:
14685 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14687 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14688 (gst_fake_sink_preroll):
14689 * plugins/elements/gstfakesink.h:
14690 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14692 2006-05-23 Wim Taymans <wim@fluendo.com>
14694 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14696 Added _CUSTOM error and success GstFlowReturn that can be
14697 used be elements internally.
14698 Added macro to check for SUCCESS flowreturns.
14699 API: GST_FLOW_CUSTOM_SUCCESS
14700 API: GST_FLOW_CUSTOM_ERROR
14701 API: GST_FLOW_IS_SUCCESS
14703 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14704 Added check for GstFlowReturn sanity.
14706 2006-05-23 Wim Taymans <wim@fluendo.com>
14708 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14710 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14711 (gst_collect_pads_event):
14712 clear/reset segment info in FLUSH_STOP.
14715 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14717 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14718 (gst_collect_pads_check_collected):
14719 Flush queued buffer on _stop(), fixes playing again (#342454)
14721 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14723 * tests/check/gst/gststructure.c: (GST_START_TEST),
14724 (gst_structure_suite):
14725 add a test for a complete structure
14727 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14729 * docs/faq/developing.xml:
14730 * docs/faq/faq.xml:
14731 * docs/faq/troubleshooting.xml:
14732 * docs/faq/using.xml:
14733 Some minor FAQ updates that won't change the fact that
14734 our FAQ is badly structured, full of information hardly
14735 anyone new to GStreamer needs to know and lacking lots
14736 of information people constantly ask for.
14738 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14740 * gst/gstpad.c: (gst_pad_set_caps):
14741 Short-circuit gst_pad_set_caps if setting the existing
14742 caps pointer again, and avoid printing debug and
14743 reffing/unreffing the caps.
14745 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14746 There's actually no need to set the caps before pushing -
14747 the acceptcaps method will handle it anyway.
14749 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14751 * docs/gst/gstreamer-sections.txt:
14752 * win32/common/libgstreamer.def:
14753 * gst/gstutils.c: (gst_element_seek_simple):
14755 API: add gst_element_seek_simple() (#342238).
14757 2006-05-18 Edward Hervey <edward@fluendo.com>
14759 * gst/gsttypefind.c: (gst_type_find_get_type):
14760 * gst/gsttypefind.h:
14761 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14762 registered for GstTypeFind pointers. This allows wrapping the structure
14763 in bindings (i.e. gst-python).
14765 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14767 * gst/gsttagsetter.c:
14768 Docs additions and fixes (see #339918).
14770 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14772 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14773 The caps intersection algorithm can produce multiple copies of the
14774 caps. Until that is fixed, we need to simplify the result to be
14775 sure whether the allowed caps are fixed or not.
14777 * plugins/elements/gstqueue.c: (gst_queue_init),
14778 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14779 (gst_queue_push_one):
14780 Proxied buffer alloc should not set the caps on the source pad.
14781 When pushing buffers, we always accept the caps change that triggers.
14782 This prevents negotiation errors caused by caps changing mid-stream
14783 and then being refused on our source pad (because upstream is now
14784 refusing those caps).
14786 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14788 * tests/examples/helloworld/helloworld.c: (main):
14789 Must plug audioconvert and audioresample between decoder
14792 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14794 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14795 (load_feature), (load_plugin):
14796 Allow empty strings for some of the plugin fields so we don't
14797 drop valid plugin entries that were written out correctly
14800 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14802 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14803 Use g_remove and g_rename instead of remove and rename that don't
14804 handle utf8 characters. rename was failing for users who had specific
14805 characters in their name then the registry was built at each
14807 * win32/vs6/gst_inspect.dsp:
14808 * win32/vs6/gst_launch.dsp:
14809 * win32/vs6/libgstbase.dsp:
14810 * win32/vs6/libgstcoreelements.dsp:
14811 * win32/vs6/libgstreamer.dsp:
14812 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14813 build of libgstreamer and clean unused libraries in projects link
14816 2006-05-17 Edward Hervey <edward@fluendo.com>
14818 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14819 The queue is not responsible for pushing an EOS when receiving a fatal
14820 flow error. It's up to the real element driving the pipeline to do that.
14822 2006-05-16 Edward Hervey <edward@fluendo.com>
14824 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14825 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14826 buffer returned a fatal error. It should just send an EOS and stop
14828 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14829 when pushing buffers on the queue and will be able to handle the event.
14831 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14833 * docs/manual/basics-bins.xml:
14834 * docs/manual/basics-init.xml:
14835 Fix typos and minor errors in sample code (#341856).
14837 2006-05-16 Wim Taymans <wim@fluendo.com>
14839 * docs/design/part-qos.txt:
14840 Fix indexes in formulas to make more sense.
14842 2006-05-15 Wim Taymans <wim@fluendo.com>
14844 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14845 Don't report POSITION based on clock time if sync is
14846 disabled in a sink.
14848 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14851 Add cast to make compiler happy - refcount variable was a gint
14852 in GstObject but is a guint in GObject and g_atomic_int_get()
14855 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14857 * gst/parse/Makefile.am:
14858 chain commands using &&, which also makes parallel make work
14860 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14862 * docs/gst/gstreamer-sections.txt:
14865 * gst/gstmessage.h:
14868 === release 0.10.6 ===
14870 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14873 releasing 0.10.6, "Take the cannoli"
14875 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14877 * tools/gst-launch.c: (print_tag):
14878 Fix use of uninitialized variable in the hypothetical
14879 case that some broken plugin creates a GST_TAG_IMAGE
14880 tag containing a NULL buffer (#341667).
14882 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14884 * tools/gst-launch.c: (print_tag):
14885 Print something more intelligible for image tags when
14886 using the -t switch (#341556).
14888 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14893 define GST_MAJORMINOR so we have it available in win32/common/config.h
14894 Possibly remove it from our Makefile.am files later
14895 * win32/common/config.h:
14896 * win32/common/config.h.in:
14897 added GST_MAJORMINOR
14898 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14899 * win32/common/gstversion.h:
14902 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
14905 Update win32 files listing.
14906 * win32/common/gstversion.h:
14907 Add GST_MAJORMINOR definition.
14908 * win32/common/libgstreamer.def:
14909 Add new exported functions.
14911 2006-05-12 Michael Smith <msmith@fluendo.com>
14913 * gst/gstplugin.c: (gst_plugin_load_file):
14914 If an so file has no plugin entry point, unload the module.
14916 2006-05-11 Wim Taymans <wim@fluendo.com>
14918 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14919 (gst_queue_set_property):
14920 Don't forget to signal the _chain or _loop function
14921 when the queue size or thresholds change since that might
14922 cause them to make progres again.
14924 2006-05-11 Stefan Kost <ensonic@users.sf.net>
14926 * gst/gstclock.c: (gst_clock_class_init):
14927 * gst/gstindex.c: (gst_index_class_init):
14928 * gst/gstobject.c: (gst_object_class_init):
14929 * gst/gstpad.c: (gst_pad_class_init):
14930 * gst/gstpipeline.c: (gst_pipeline_class_init):
14931 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14932 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14933 * libs/gst/base/gstbasetransform.c:
14934 (gst_base_transform_class_init):
14935 * libs/gst/net/gstnetclientclock.c:
14936 (gst_net_client_clock_class_init):
14937 * libs/gst/net/gstnettimeprovider.c:
14938 (gst_net_time_provider_class_init):
14939 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14940 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14941 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14942 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14943 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14944 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14945 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14946 * plugins/elements/gstidentity.c: (gst_identity_class_init):
14947 * plugins/elements/gsttee.c: (gst_tee_class_init):
14948 * tests/old/examples/plugins/example.c: (gst_example_class_init):
14949 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14950 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14952 2006-05-11 Wim Taymans <wim@fluendo.com>
14954 * gst/gstbuffer.c: (_gst_buffer_initialize):
14955 Register subbufer along with the buffer type so that
14956 it does not accidentally gets registered from N
14957 different streaming threads in a non threadsafe way.
14959 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14963 * gst/gstmessage.h:
14964 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14965 gst_event_ref() and gst_message_ref() functions again
14966 (ugly hack, please do fix if there's a better way besides
14967 overrides.txt, which doesn't seem to work).
14969 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14971 * libs/gst/check/gstcheck.h:
14972 add an assert for setting state to avoid lots of repetitive code
14975 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14977 * gst/gstvalue.c: (gst_value_serialize_flags):
14978 fix a leak if no flags are set
14979 * tests/check/gst/gstvalue.c: (GST_START_TEST):
14982 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14984 * docs/manual/basics-pads.xml:
14985 Expand a bit on caps and filtered links and update
14986 examples that were still using the no longer existing
14987 gst_pad_link_filtered() (#338206).
14989 2006-05-10 Wim Taymans <wim@fluendo.com>
14991 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14992 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14993 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14994 (gst_collect_pads_stop):
14995 * libs/gst/base/gstcollectpads.h:
14996 No need to call _stop in _finalize.
14997 Iterate the main pad list in _finalize.
14998 Added some more debug.
14999 Free lists and data in the right order.
15000 Also free data whem doing _remove_pad when stopped for
15001 backward compatibility protect ::started with PAD_LOCK as
15004 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15006 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15007 (gst_structure_parse_value):
15009 rename a method so that it actually says what it does better
15011 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15013 * gst/gstevent.c: (_gst_event_initialize):
15014 * gst/gstformat.c: (_gst_format_initialize):
15015 make sure some essential types used by events are registered
15016 as part of gst_init()
15017 * gst/gstvalue.c: (gst_value_serialize_flags):
15018 if no flags are set, serialize them to a value that represents NONE
15019 so that deserializing them works
15020 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15021 add tests for serialization and deserialization of flags
15023 2006-05-10 Wim Taymans <wim@fluendo.com>
15025 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15026 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15027 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15028 (gst_collect_pads_event), (gst_collect_pads_chain):
15031 Catch and return errors from the collect function
15032 Refuse data on eos pads.
15034 2006-05-10 Edward Hervey <edward@fluendo.com>
15036 * gst/gstinterface.h:
15037 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15038 GInterface type checking.
15039 They were previously using non-defined macros.
15041 2006-05-09 Wim Taymans <wim@fluendo.com>
15043 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15044 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15045 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15046 (gst_collect_pads_start), (gst_collect_pads_stop),
15047 (gst_collect_pads_peek), (gst_collect_pads_pop),
15048 (gst_collect_pads_available), (gst_collect_pads_read),
15049 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15050 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15051 (gst_collect_pads_chain):
15052 * libs/gst/base/gstcollectpads.h:
15053 Clean up the mess that is collectpads, add comments and
15054 FIXMEs where needed.
15055 Maintain a separate pad list so we can add pads while
15056 collecting the other ones. For this we need a new separate
15058 Fix memory leak in finalize.
15059 Refactor some weird code to set/unset pad flushing flags, mark
15061 Don't crash in _available, _read, _flush when we're EOS.
15063 * tests/check/libs/.cvsignore:
15064 Ignore adapter check binary.
15066 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15068 * gst/gstindex.c: (gst_index_resolver_get_type):
15069 * plugins/elements/gstfakesink.c:
15070 (gst_fake_sink_state_error_get_type):
15071 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15072 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15073 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15074 Const-ify GEnumValue arrays.
15076 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15078 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15079 Add test case for flags + gst_buffer_make_metadata_writable().
15081 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15083 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15084 gst_buffer_make_metadata_writable() should maintain the
15085 buffer flags (those that make sense at least) (see #340859).
15087 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15089 * tools/gst-inspect.c:
15090 * tools/gst-launch.c:
15091 * tools/gst-typefind.c:
15092 * tools/gst-xmlinspect.c:
15094 Fix up includes: need to include stdlib.h in tools.h for exit().
15096 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15098 * gst/gsttaglist.c: (_gst_tag_initialize):
15099 * gst/gsttaglist.h:
15100 API: add GST_TAG_IMAGE tag (#340721).
15102 2006-05-08 Wim Taymans <wim@fluendo.com>
15105 Added some docs for the segment query.
15107 2006-05-08 Wim Taymans <wim@fluendo.com>
15109 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15110 (gst_base_src_loop), (gst_base_src_change_state):
15111 Always push non-flushing serialized events in the streaming
15114 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15116 * gst/gsterror.c: (_gst_stream_errors_init):
15117 Add a missing error string.
15119 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15121 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15122 Add applied_rate to the debug
15124 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15125 Copy applied_rate into the outgoing NEWSEGMENT event
15127 2006-05-08 Wim Taymans <wim@fluendo.com>
15129 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15131 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15132 (gst_base_sink_change_state):
15133 call ::unlock before taking the PREROLL_LOCK so we can safely
15134 handle elements that lock in ::render.
15137 2006-05-08 Edward Hervey <edward@fluendo.com>
15139 * autogen.sh: (CONFIGURE_DEF_OPT):
15140 Darwin's libtoolize is in fact called glibtoolize.
15141 Adding glibtoolize to the list of accepted names for libtoolize.
15143 2006-05-08 Wim Taymans <wim@fluendo.com>
15145 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15146 Unify error handling, don't post an error message
15147 when a push() returns EOS but perform our normal EOS
15148 handling code. Fixes #340772.
15150 2006-05-08 Wim Taymans <wim@fluendo.com>
15152 * docs/design/part-overview.txt:
15153 Make upsteam/downstream concepts more clear.
15154 Give an example of serialized/non-serialized events.
15156 * docs/design/part-events.txt:
15157 * docs/design/part-streams.txt:
15158 Mention applied_rate.
15160 * docs/design/part-trickmodes.txt:
15161 Mention applied rate, flesh out some more use cases.
15163 * gst/gstevent.c: (gst_event_new_new_segment),
15164 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15165 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15166 (gst_event_parse_tag), (gst_event_new_buffer_size),
15167 (gst_event_parse_buffer_size), (gst_event_new_qos),
15168 (gst_event_parse_qos), (gst_event_parse_seek),
15169 (gst_event_new_navigation):
15171 Add applied_rate field to NEWSEGMENT event.
15172 API: gst_event_new_new_segment_full()
15173 API: gst_event_parse_new_segment_full()
15175 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15176 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15177 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15178 * gst/gstsegment.h:
15179 Add applied_rate to GstSegment structure.
15180 Make calculation of stream_time and running_time more correct
15181 wrt rate/applied_rate.
15182 Add some more docs.
15183 API: GstSegment::applied_rate field
15184 API: gst_segment_set_newsegment_full();
15186 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15187 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15188 * libs/gst/base/gstbasetransform.c:
15189 (gst_base_transform_sink_eventfunc),
15190 (gst_base_transform_handle_buffer):
15191 Parse and use applied_rate in the GstSegment field.
15193 * tests/check/gst/gstevent.c: (GST_START_TEST):
15194 Add check for applied_rate field.
15196 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15197 (gstsegments_suite):
15198 Add more checks for various GstSegment operations.
15200 2006-05-08 Wim Taymans <wim@fluendo.com>
15202 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15203 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15204 (gst_base_sink_get_position), (gst_base_sink_change_state):
15205 Store the sync time of the buffer end position separatly in a
15206 new variable eos_rtime so we can properly sync the EOS event.
15208 Fix the docs for gst_base_sink_set_qos_enabled().
15209 Don't set segment start to invalid value when we receive a
15210 non TIME newsegment.
15211 get closer to handling position reporting for negative rates
15214 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15217 Docs about how to print caps for debug purposes.
15219 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15220 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15222 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15224 * gst/gstelement.c:
15225 use full enum names and preprend a '%' in docs strings to make recent
15226 gtk-doc turn that into a link
15228 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15230 * docs/manual/basics-bins.xml:
15231 * docs/manual/basics-bus.xml:
15232 * docs/manual/basics-pads.xml:
15233 Some typo fixes, some additions, some clarifications.
15235 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15237 * tools/gst-inspect.c: (main):
15238 * tools/gst-launch.c: (main):
15239 * tools/gst-run.c: (main):
15240 * tools/gst-typefind.c: (main):
15241 * tools/gst-xmlinspect.c: (main):
15242 Use the string passed to g_option_context_new() for
15243 what it's intended for - the program name is already
15246 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15248 * tools/Makefile.am:
15249 * tools/gst-inspect.c: (main):
15250 * tools/gst-launch.c: (main):
15251 * tools/gst-xmlinspect.c: (main):
15253 Add back --version command line option (#340460).
15255 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15256 Add --version option and use GOption for argument parsing; refactor a
15257 bit; accept directories as arguments and recurse into them; lastly,
15258 print a decent error message when things go wrong.
15260 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15262 * docs/manual/basics-bins.xml:
15263 Don't mention GstThread (#340611)
15264 * docs/manual/basics-elements.xml:
15265 Update link to GObject tutorial (#340607)
15267 2006-05-05 Wim Taymans <wim@fluendo.com>
15270 * gst/gstminiobject.c:
15271 Add note about refcounting and miniobject/buffer writeability
15272 to docs. Fixes #340604
15274 * gst/gstelementfactory.h:
15275 Added some explanation about @klass.
15277 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15279 * docs/manual/intro-motivation.xml:
15280 * docs/manual/manual.xml:
15281 Avoid CORBA & Bonobo references (#340598)
15283 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15285 * docs/manual/basics-bus.xml:
15286 * docs/manual/basics-pads.xml:
15287 Fix up some inaccuracies and omissions (#340609)
15289 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15291 * gst/gstghostpad.c:
15292 Small typo in docs (#340625)
15294 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15296 * gst/parse/Makefile.am:
15297 Make 'make -j' proof (see #340698).
15299 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15302 Require GLib-2.8 here as well.
15304 2006-05-05 Wim Taymans <wim@fluendo.com>
15306 * gst/glib-compat.c:
15307 * gst/gst.c: (init_pre):
15308 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15309 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15310 (gst_object_dispatch_properties_changed):
15312 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15313 * gst/gststructure.c: (gst_structure_set_valist):
15314 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15315 Remove pre glib2.8 compatibility, fixes #340508
15317 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15319 * gst/gsttaglist.h:
15320 Mention type of tags in doc blurbs.
15322 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15324 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15325 (gst_pad_configure_src), (gst_pad_push):
15326 Restore acceptcaps checking behaviour now that good plugins have
15329 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15331 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15338 * gst/gstmessage.c:
15342 * gst/parse/Makefile.am:
15343 * libs/gst/base/gstadapter.c:
15344 * libs/gst/base/gstbasesrc.c:
15345 * libs/gst/base/gstpushsrc.c:
15346 * libs/gst/base/gsttypefindhelper.c:
15347 * plugins/elements/gstfakesrc.c:
15348 * plugins/elements/gstidentity.c:
15349 Make sure gstprivate.h and/or config.h are
15350 always included first, otherwise some of our
15351 defines (like _FILE_OFFSET_BITS) might be
15352 redefined in the system headers. Fixes build
15353 on opensolaris (#340016).
15355 2006-05-04 Wim Taymans <wim@fluendo.com>
15357 * docs/libs/gstreamer-libs-sections.txt:
15358 API: addition: gst_adapter_take_buffer()
15360 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15361 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15362 (gst_adapter_available_fast):
15363 * libs/gst/base/gstadapter.h:
15364 Prepare for optimizing the hell out of this hugely inefficient
15366 Added gst_adapter_take_buffer() so we can at least start thinking
15367 about subbuffering and merging.
15368 Added some comments.
15370 * tests/check/Makefile.am:
15371 * tests/check/libs/adapter.c: (GST_START_TEST),
15372 (gst_adapter_suite), (main):
15373 Added GstAdapter check.
15375 2006-05-04 Wim Taymans <wim@fluendo.com>
15377 * docs/design/part-overview.txt:
15378 Fix some typos, add blurb about buffer flags.
15380 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15382 * docs/libs/gstreamer-libs-sections.txt:
15383 make sure GstBaseTransformClass shows up in the docs
15384 * libs/gst/base/gstbasetransform.c:
15385 * libs/gst/base/gstbasetransform.h:
15386 move docs so gtk-doc picks it up now
15388 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15390 * docs/libs/gstreamer-libs-sections.txt:
15391 add missing symbols to docs
15393 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15395 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15396 back out the newsegment handling change, see #340060 for ongoing
15399 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15401 * tools/gst-run.c: (get_candidates), (main):
15402 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15403 work); fix typo in error message. Fixes #340079.
15405 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15407 * common/Makefile.am:
15408 * docs/Makefile.am:
15409 * docs/faq/Makefile.am:
15410 * docs/gst/Makefile.am:
15411 * docs/libs/Makefile.am:
15412 * docs/manual/Makefile.am:
15413 * docs/plugins/Makefile.am:
15414 * docs/pwg/Makefile.am:
15415 * docs/slides/Makefile.am:
15417 * common/upload.mak:
15418 move upload.mak to common
15420 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15422 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15423 add more asserts on refcounts
15424 do more cleanup at end of tests
15425 fix test leaks showing in FC5
15427 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15429 * plugins/elements/gsttypefindelement.c:
15430 (gst_type_find_element_handle_event):
15431 reverted wrong change and reflowed code to avoid others falling into
15434 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15436 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15437 fix changelog entry about last collectpads change,
15438 add notes about proper fix
15440 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15443 * gst/gstregistry.c: (gst_registry_scan_path_level),
15444 (gst_registry_scan_path):
15445 * gst/gstregistry.h:
15446 only write out registry if it has changed, fixes #338339
15448 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15451 * gst/gstpipeline.c:
15452 * plugins/elements/gstcapsfilter.c:
15453 * plugins/elements/gstfakesink.c:
15454 * plugins/elements/gstfakesrc.c:
15455 * plugins/elements/gstfdsink.c:
15456 * plugins/elements/gstfdsrc.c:
15457 * plugins/elements/gstfilesink.c:
15458 * plugins/elements/gstfilesrc.c:
15459 * plugins/elements/gstidentity.c:
15460 * plugins/elements/gstqueue.c:
15461 * plugins/elements/gsttee.c:
15462 * plugins/elements/gsttypefindelement.c:
15463 (gst_type_find_element_handle_event):
15464 make GstElementDetails const
15466 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15468 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15469 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15470 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15471 more detailed debug and formatting cleanup,
15472 forward newsegments to src-pad (so that e.g. adder not eats them)
15474 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15476 * gst/gstutils.c: (gst_element_link_pads):
15477 cleanup double code
15479 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15481 * libs/gst/controller/gstcontroller.c:
15482 (gst_controller_sync_values):
15484 * tests/check/libs/controller.c: (GST_START_TEST),
15485 (gst_controller_suite):
15486 a new test for live value handling
15488 2006-04-28 Wim Taymans <wim@fluendo.com>
15490 * gst/gstutils.c: (push_and_ref):
15491 Added some more docs.
15492 Fix refcount issue whith gst_element_found_tags() helper
15493 function. Fixes #338335
15495 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15496 Added testsuite for gst_element_found_tags().
15498 2006-04-28 Michael Smith <msmith@fluendo.com>
15500 * gst/gstvalue.c: (gst_value_serialize_flags):
15501 Avoid NULL dereference when trying to serialize flags containing
15504 2006-04-28 Michael Smith <msmith@fluendo.com>
15506 * plugins/elements/gsttypefindelement.c:
15507 (gst_type_find_element_handle_event):
15508 If we get EOS before any data is accumulated, don't use
15509 uninitialised local variables.
15511 2006-04-28 Michael Smith <msmith@fluendo.com>
15513 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15514 (gst_dp_event_from_packet):
15515 Fixes in reading/writing events over GDP (not currently used?) -
15516 dereferencing NULL events for unknown/invalid event types, memory
15517 leak, and change g_warning to GST_WARNING.
15519 2006-04-28 Wim Taymans <wim@fluendo.com>
15521 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15522 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15523 (gst_base_sink_get_position), (gst_base_sink_change_state):
15524 When frame dropping is enabled, we should not ignore frames
15525 without a duration.
15526 Update some documentation.
15528 2006-04-28 Wim Taymans <wim@fluendo.com>
15530 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15531 (gst_base_src_send_event), (gst_base_src_change_state):
15532 Documentation updates.
15534 2006-04-28 Wim Taymans <wim@fluendo.com>
15536 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15537 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15538 handle EAGAIN, EINTR and short writes correctly. Also clean
15539 up some error cases, avoid a deadlock on bad file descriptors and
15540 use GST_DEBUG_OBJECT.
15543 2006-04-28 Wim Taymans <wim@fluendo.com>
15545 * gst/gstvalue.c: (gst_value_serialize_buffer),
15546 (gst_value_deserialize_buffer):
15547 Don't try to serialize a GValue with a NULL buffer.
15550 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15551 Added check for serialisation of NULL buffers.
15553 2006-04-28 Wim Taymans <wim@fluendo.com>
15555 * gst/gstminiobject.c: (gst_value_take_mini_object):
15556 Taking a NULL miniobject is valid, fix the case where
15557 we try to unref the NULL miniobject.
15559 2006-04-28 Wim Taymans <wim@fluendo.com>
15561 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15563 * gst/gstbin.c: (gst_bin_handle_message_func):
15565 Don't leak bin refcount when a state recalc is
15566 in progress and we delay another one #339808.
15568 2006-04-28 Wim Taymans <wim@fluendo.com>
15570 * docs/design/part-TODO.txt:
15571 Mention QoS as an ongoing work item.
15573 * docs/design/part-buffering.txt:
15574 New doc about buffering that needs to be fleshed out
15577 * docs/design/part-qos.txt:
15578 More QoS policy for decoders/demuxers/transforms
15580 * docs/design/part-trickmodes.txt:
15583 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15588 === release 0.10.5 ===
15590 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15593 releasing 0.10.5, "Fogo"
15595 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15597 patch by: Wim Taymans
15599 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15600 (gst_pad_configure_src), (gst_pad_push):
15601 * gst/gstpipeline.c: (gst_pipeline_init):
15602 Fix internal data flow errors. Fixes #338711.
15604 2006-04-12 Wim Taymans <wim@fluendo.com>
15606 * tests/check/gst/gstelement.c: (GST_START_TEST):
15607 Don't leak the factory.
15609 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15612 * win32/common/config.h:
15615 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15617 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15618 (gst_controller_unset_all):
15619 Free allocated GstTimedValues when freeing list nodes.
15620 Should fix leaks 'make check-valgrind' complains about.
15622 * win32/common/libgstcontroller.def:
15623 Add gst_controller_unset_all.
15625 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15627 * docs/libs/gstreamer-libs-sections.txt:
15628 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15629 (gst_controller_unset_all):
15630 * libs/gst/controller/gstcontroller.h:
15631 API: Added new method gst_controller_unset_all()
15632 fixed gst_controller_unset()
15633 * tests/check/libs/controller.c: (GST_START_TEST),
15634 (gst_controller_suite):
15635 Added two testcases for new and fixed method
15637 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15639 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15640 MSG_DONTWAIT is not defined on Cygwin, so work
15641 around that (fixes #317048).
15643 2006-04-11 Wim Taymans <wim@fluendo.com>
15645 * gst/gstelementfactory.c: (gst_element_register),
15646 (gst_element_factory_create), (gst_element_factory_make):
15649 Updated docs (Fixes #131079)
15651 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15654 * tests/check/gst/gstelement.c: (GST_START_TEST),
15655 (gst_element_suite):
15656 Added testcase for elementfactory class field.
15658 2006-04-10 Wim Taymans <wim@fluendo.com>
15660 * gst/gstsegment.c:
15661 Added some more docs.
15663 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15664 (gst_base_sink_reset_qos):
15665 Calculate more accurate rate values.
15667 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15669 * gst/gst_private.h:
15670 add a new #ifdef to use __declspec(dllimport) only for
15671 other modules and not for gstreamer core
15672 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15673 use gst_guint64_to_gdouble for conversion
15674 * win32/common/libgstreamer.def:
15675 add new exported functions
15676 * win32/vs6/gst_inspect.dsp:
15677 * win32/vs6/gst_launch.dsp:
15678 * win32/vs6/libgstbase.dsp:
15679 * win32/vs6/libgstcontroller.dsp:
15680 * win32/vs6/libgstcoreelements.dsp:
15681 * win32/vs6/libgstdataprotocol.dsp:
15682 * win32/vs6/libgstnet.dsp:
15683 update project files
15685 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15687 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15688 * gst/gstclock.c: (gst_clock_class_init):
15689 * gst/gstelement.c: (gst_element_class_init):
15690 * gst/gstindex.c: (gst_index_class_init):
15691 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15692 * gst/gstobject.c: (gst_object_class_init),
15693 (gst_signal_object_class_init):
15694 * gst/gstpad.c: (gst_pad_class_init):
15695 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15696 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15697 * gst/gstregistry.c: (gst_registry_class_init):
15698 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15699 * gst/gsttask.c: (gst_task_class_init):
15700 * gst/gstxml.c: (gst_xml_class_init):
15701 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15702 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15703 (gst_base_src_loop):
15704 * libs/gst/controller/gstcontroller.c:/
15705 (_gst_controller_class_init):
15706 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15707 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15708 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15709 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15710 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15711 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15713 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15715 * gst/gstpad.c: (gst_pad_link):
15716 Must set peer pads before calling the link function, otherwise
15717 a task started from a link function might get a flow-not-linked
15718 result when trying to push because the other thread where the
15719 linking happens hasn't had a chance to set the peers yet. This
15720 might happen for example when a queue gets linked to a downstream
15721 element, as queue starts a streaming task when its source pad
15722 gets linked. Happens in real life when playing back flac/musepack
15723 files in playbin (#332390).
15725 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15729 * libs/gst/base/gstadapter.h:
15730 * libs/gst/base/gstbasesink.h:
15731 * libs/gst/base/gstbasesrc.h:
15732 * libs/gst/base/gstbasetransform.h:
15733 * libs/gst/base/gstcollectpads.h:
15734 * libs/gst/base/gstpushsrc.h:
15735 Fix broken GObject macros
15737 2006-04-07 Wim Taymans <wim@fluendo.com>
15739 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15740 Initialize start and stop times, thanks valgrind.
15742 2006-04-07 Wim Taymans <wim@fluendo.com>
15744 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15745 Be a bit nicer to badly behaving upstream elements that expect
15746 us to deal with non TIME segments and timestamps (such as fakesrc
15749 2006-04-07 Wim Taymans <wim@fluendo.com>
15752 Small documentation clarification about the signal watch.
15754 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15755 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15756 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15757 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15758 (gst_base_sink_get_position_last),
15759 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15760 Convert and store timestamps in stream time and running time, the
15761 raw timestamps are not useful, also document this better.
15762 Use different window sizes for good and bad QoS observations so
15763 we react to badness a little quicker.
15764 Keep track of the amount of rendered and dropped buffers.
15765 Send QoS timestamps in running time.
15767 * libs/gst/base/gstbasetransform.c:
15768 (gst_base_transform_sink_eventfunc),
15769 (gst_base_transform_handle_buffer):
15770 Compare QoS timestamps against running time.
15772 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15775 Typo fixes in docs.
15777 2006-04-06 Michael Smith <msmith@fluendo.com>
15779 * gst/gstpad.c: (gst_pad_set_property):
15780 Use g_value_get_object() instead of g_value_dup_gst_object(),
15781 to avoid double-reffing the pad template (which we then sink,
15782 so this worked previously if (and only if) the pad template
15785 * gst/gstpadtemplate.c: (gst_pad_template_init),
15786 (gst_pad_template_pad_created):
15787 Never return floating references to pad templates, create
15788 them as initially-sunken.
15790 Document an extra function (and make this stop sinking our
15791 pad template, since that is now guaranteed to do nothing,
15792 since we created it sunken).
15794 * gst/gstghostpad.c:
15797 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15799 * gst/gstinfo.c: (__gst_in_valgrind):
15802 * plugins/elements/gsttypefindelement.c:
15803 (gst_type_find_element_chain):
15804 Don't leak buffer caps.
15806 2006-04-06 Michael Smith <msmith@fluendo.com>
15808 * gst/parse/grammar.y:
15809 Fix a leak in parse-launch for any source-or-sink named element
15812 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15813 Unref the pipeline if it exists after we've failed parsing.
15815 2006-04-05 Michael Smith <msmith@fluendo.com>
15817 * gst/gstpipeline.c: (gst_pipeline_init):
15818 When we create a pipeline bus, initially create it in flushing mode.
15819 Fixes leaks in at least one test, and makes a new pipeline work the
15820 same as one that has gone to READY and then back to NULL.
15822 * gst/gstelement.c:
15825 2006-04-05 Michael Smith <msmith@fluendo.com>
15827 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15828 Unref a pad we reffed.
15829 * tests/check/gst/gstutils.c: (GST_START_TEST):
15832 2006-04-05 Michael Smith <msmith@fluendo.com>
15834 * gst/gstquery.c: (gst_query_set_formats),
15835 (gst_query_set_formatsv):
15836 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15838 2006-04-05 Michael Smith <msmith@fluendo.com>
15840 * tests/check/generic/sinks.c: (GST_START_TEST):
15841 Fix a variety of memleaks in sinks check, which are only sometimes
15842 shown by running the tests under valgrind (weird?).
15844 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15846 * docs/version.entities.in:
15847 Fix the substituted entity name after thomas' changes on the
15850 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15852 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15855 2006-04-05 Andy Wingo <wingo@pobox.com>
15857 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15859 * libs/gst/base/gstbasetransform.c
15860 (gst_base_transform_sink_eventfunc): When resetting our segment on
15861 FLUSH_STOP, also update the flag saying we haven't seen a
15864 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15866 Patch by: Paolo Borelli <pborelli at katamail dot com>
15868 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15869 (gst_plugin_check_license):
15870 minor clean-ups: G_DEFINE_TYPE already takes care of the
15871 parent_class stuff, no need to do it twice. Mark array of
15872 license strings as constant. (#337103)
15874 2006-04-04 Michael Smith <msmith@fluendo.com>
15876 * tools/gst-inspect.c: (print_element_list):
15877 Free the right plugin list; fixes a memory leak.
15879 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15881 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15883 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15884 Don't error out on empty buffers (#336945).
15886 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15888 * docs/libs/gstreamer-libs-sections.txt:
15889 * gst/gsttaglist.c:
15890 * libs/gst/base/gstbasesink.c:
15891 * libs/gst/base/gstbasesink.h:
15892 * libs/gst/base/gstbasesrc.c:
15893 * libs/gst/base/gstbasesrc.h:
15894 Documentation updates. Make BaseSink and BaseSrc docs contain the
15895 class structure so that people can actually see the prototypes for
15896 virtual functions they're supposed to be overriding.
15898 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15900 * plugins/elements/gsttypefindelement.c:
15901 (gst_type_find_element_chain):
15902 More debug info; when skipping typefinding, send cached
15903 events in all cases.
15905 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
15908 use new AS_VERSION and AS_NANO macros
15909 * gst/gst-i18n-lib.h:
15912 * gst/gstversion.h.in:
15913 * win32/common/config.h:
15914 * win32/common/config.h.in:
15917 2006-03-31 Michael Smith <msmith@fluendo.com>
15919 * plugins/elements/gsttypefindelement.c:
15920 (gst_type_find_element_chain):
15921 Do not typefind content if the buffers already have caps.
15922 Neccesary for icydemux (#333657), and the right thing to do anyway.
15924 2006-03-30 Wim Taymans <wim@fluendo.com>
15926 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15927 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15928 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15929 (gst_base_sink_record_qos_observation),
15930 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15931 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15932 (gst_base_sink_change_state):
15933 More QoS measurements as described in the design doc.
15934 Get rid of ringbuffer with observations, running average is
15935 more simple and equally good.
15936 Calculates valid proportion now.
15937 Added beginning of flood measurement.
15939 2006-03-29 Wim Taymans <wim@fluendo.com>
15941 * docs/design/part-qos.txt:
15943 Small documentation updates and additions.
15945 2006-03-29 Wim Taymans <wim@fluendo.com>
15947 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15948 (gst_base_src_send_event), (gst_base_src_loop),
15949 (gst_base_src_change_state):
15950 Perform the EOS logic when we reach the segment stop position.
15951 Fix compilation on gcc4.1
15953 2006-03-29 Wim Taymans <wim@fluendo.com>
15955 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15957 * plugins/elements/gstqueue.c: (gst_queue_init),
15958 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15959 (gst_queue_set_property):
15960 * plugins/elements/gstqueue.h:
15961 In queue, when EOS is received, if minimum threshold > max_size -
15962 current_level, there is chance that queue blocks forever in conditional
15963 item del wait. This is because the queue is not emptied completely due
15964 to minimum threshold. Here is another approach. Instead of setting
15965 cur_levels to max in EOS, just zero all minimum threshold levels. This
15966 should make sure that queue gives out all data. When going to READY
15967 (stop) state, just reset the original minimum threshold levels.
15970 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
15972 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15973 (gst_type_find_element_handle_event),
15974 (gst_type_find_element_send_cached_events),
15975 (gst_type_find_element_change_state):
15976 * plugins/elements/gsttypefindelement.h:
15977 When typefinding is done in push mode, we should cache
15978 events we receive during typefinding instead of just
15979 dropping them (e.g. newsegment, custom events from
15980 dvdreadsrc etc.) and then send them out once we've
15981 determined the type of the stream (and decodebin
15982 has had a chance to plug in a decoder/demuxer).
15984 2006-03-27 Wim Taymans <wim@fluendo.com>
15986 * docs/design/part-qos.txt:
15989 2006-03-27 Wim Taymans <wim@fluendo.com>
15991 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15993 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15994 (gst_base_src_send_event), (gst_base_src_change_state):
15995 Handle element seek correctly when we are streaming.
15998 2006-03-24 Michael Smith <msmith@fluendo.com>
16000 * docs/faq/gst-uninstalled:
16001 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16002 allow you to correctly run intalled applications built against old
16003 core, using plugins that require updated core (e.g. running
16004 installed totem against a full uninstalled gstreamer stack)
16006 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16008 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16011 2006-03-24 Wim Taymans <wim@fluendo.com>
16013 * docs/gst/gstreamer-sections.txt:
16014 Rearrange the order of the methods so that related methods
16015 are grouped together in sections.
16017 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16019 * gst/gstelement.c:
16020 Little clarification in the docs
16022 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16026 * plugins/elements/gstidentity.c:
16027 * plugins/elements/gstqueue.c:
16028 * plugins/elements/gsttee.c:
16029 * plugins/elements/gsttypefindelement.c:
16030 GST_ELEMENT_DETAILS formatting
16032 2006-03-24 Wim Taymans <wim@fluendo.com>
16034 * libs/gst/base/gstbasesink.h:
16035 Only add fields, not insert or we break ABI.
16037 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16039 * win32/common/libgstbase.def:
16040 * win32/common/libgstreamer.def:
16041 Update, add recently added functions.
16043 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16045 * docs/gst/gstreamer-sections.txt:
16046 * gst/gstutils.c: (gst_pad_query_peer_position),
16047 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16049 API: add some new utility functions:
16050 - gst_pad_query_peer_position()
16051 - gst_pad_query_peer_duration()
16052 - gst_pad_query_peer_convert()
16054 2006-03-23 Wim Taymans <wim@fluendo.com>
16056 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16057 (gst_base_sink_init), (gst_base_sink_finalize),
16058 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16059 (gst_base_sink_set_property), (gst_base_sink_get_property),
16060 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16061 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16062 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16063 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16064 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16065 (gst_base_sink_preroll_object), (gst_base_sink_event),
16066 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16067 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16068 (gst_base_sink_query), (gst_base_sink_change_state):
16069 Decouple max-lateness and the fact that QoS messages are generated
16070 with a new property (qos).
16071 added API: GstBaseSink::async_play()
16072 Add vmethod so subclasses can be notified of ASYNC playing
16074 Collect timestamp start and stop to report better current
16075 position in EOS/PLAYING/PAUSED/READY/NULL.
16076 Refactor QoS/frame dropping and other measurements.
16077 API: GstBaseSrc::qos
16080 * libs/gst/base/gstbasesink.h:
16081 Added Private struct.
16082 API: gst_base_sink_set_qos_enabled()
16083 API: gst_base_sink_is_qos_enabled()
16085 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16087 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16088 If compiling against GLib-2.8 or newer, try to read the
16089 registry file using GMappedFile first before falling back
16090 to fopen() + fread() (#332151).
16092 2006-03-22 Wim Taymans <wim@fluendo.com>
16094 * gst/gstinfo.c: (gst_debug_set_active),
16095 (gst_debug_category_set_threshold):
16096 Disable debugging unless explicitly activated.
16099 2006-03-22 Wim Taymans <wim@fluendo.com>
16101 * gst/gstelement.c: (gst_element_set_locked_state),
16102 (gst_element_dispose):
16103 Cleanup the error case.
16105 * gst/gstobject.c: (gst_object_dispose):
16106 print a critical when some object was disposed with
16107 a parent, also revive the object since it might
16110 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16112 * tools/gst-launch.1.in:
16115 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16118 * tests/check/Makefile.am:
16119 disable some tests when we don't have a registry
16120 * tests/check/gst/gstutils.c: (gst_utils_suite):
16121 don't build the part that needs parsing
16123 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16126 * tests/examples/Makefile.am:
16127 fix --disable-parse build
16129 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16131 * tools/gst-feedback.1.in:
16132 Fix typo: s/feeback/feedback/ (#133494).
16134 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16136 * tools/Makefile.am:
16137 * tools/gst-launch.1.in:
16138 Add FILES section and correct entry about GST_REGISTRY_PATH
16139 environment variable (#133495; #133494).
16141 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16143 * tools/Makefile.am:
16144 * tools/gst-md5sum.1.in:
16145 * tools/gst-md5sum.c:
16146 Remove gst-md5sum and man page (the md5sink element
16147 required was removed ages ago)
16149 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16151 * gst/gststructure.c: (gst_structure_id_set_value):
16152 Make sure that string fields in structures/taglists
16153 contain valid UTF-8 - we don't want to pass rubbish to
16154 applications because of a buggy plugin (cp. #334167).
16156 2006-03-21 Edward Hervey <edward@fluendo.com>
16158 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16159 (gst_bin_handle_message_func):
16160 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16161 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16162 (gst_element_set_bus_func):
16163 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16164 * gst/gstminiobject.c: (gst_value_set_mini_object),
16165 (gst_value_take_mini_object):
16166 * gst/gstpad.c: (gst_pad_set_pad_template):
16167 * gst/gstpipeline.c: (gst_pipeline_dispose),
16168 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16169 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16170 (gst_collect_pads_chain):
16171 * libs/gst/net/gstnettimeprovider.c:
16172 (gst_net_time_provider_set_property):
16173 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16174 It's in fact all issues with gst_*object_replace().
16176 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16178 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16180 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16181 * pkgconfig/gstreamer-check.pc.in:
16182 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16184 2006-03-21 Edward Hervey <edward@fluendo.com>
16188 * gst/gstmessage.h:
16189 gst_[buffer|event|message]_ref() macros are replaced by a static
16190 inline functions because gcc-4.1 will about if the return value
16192 * tests/check/gst/gstevent.c: (event_probe):
16193 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16195 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16198 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16199 the type' case. (Closes: #335195 for now). In the future, when we
16200 depend on GLib 2.10, we could also intern the type name using
16201 g_intern_static_string()
16203 2006-03-20 Wim Taymans <wim@fluendo.com>
16205 * gst/gstbin.c: (gst_bin_handle_message_func),
16206 (bin_query_max_init), (bin_query_position_fold),
16207 (bin_query_position_done), (gst_bin_query):
16208 Position query should also take max of all streams.
16210 2006-03-20 Wim Taymans <wim@fluendo.com>
16212 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16213 (gst_fake_src_finalize):
16214 Fix leaks in fakesrc.
16216 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16217 Fix leaks in the testcase.
16219 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16221 * gst/gst_private.h:
16222 add win32 specific import decoration(__declspec(dllimport))
16223 for all extern GstDebugCategory * variables
16224 * win32/common/libgstbase.def:
16225 * win32/common/libgstcontroller.def:
16226 * win32/common/libgstreamer.def:
16227 Add some exports, remove empty lines
16228 * win32/common/libgstdataprotocol.def:
16229 * win32/common/libgstdataprotocol.dsp:
16230 * win32/common/libgstnet.def:
16231 * win32/common/libgstnet.dsp:
16232 new project files and exportation files added
16234 2006-03-19 Wim Taymans <wim@fluendo.com>
16236 * tests/check/libs/basesrc.c: (eos_event_counter):
16237 Use proper return value for probe.
16239 2006-03-17 Wim Taymans <wim@fluendo.com>
16241 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16243 Don't leak buffers, caps and pads on negotiation errors.
16245 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16247 * docs/faq/cvs.xml:
16248 * docs/faq/dependencies.xml:
16249 * docs/faq/developing.xml:
16250 * docs/faq/faq.xml:
16251 * docs/faq/general.xml:
16252 * docs/faq/getting.xml:
16253 * docs/faq/legal.xml:
16254 * docs/faq/troubleshooting.xml:
16255 * docs/faq/using.xml:
16256 Faq review and update.
16258 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16260 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16262 Don't pound the cpu to pieces by checking get_caps when accept_caps
16263 is called with the same caps as the pad already has.
16264 Use GST_DEBUG_OBJECT when outputting caps change information.
16266 2006-03-15 Wim Taymans <wim@fluendo.com>
16268 * gst/gstclock.c: (gst_clock_class_init):
16271 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16276 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16277 (gst_pad_accept_caps), (gst_pad_configure_sink),
16278 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16279 Make the default acceptcaps behaviour be to check the requested
16280 caps against the gst_pad_get_caps output.
16282 Ensure that gst_pad_accept_caps is used to check caps when a pad
16283 doesn't have a setcaps function, so that pads automatically refuse
16284 caps that they don't allow in their pad template. (Fixes #332986)
16286 When a buffer with attached caps is pushed, ensure that the source
16287 pad receives those caps even if the element didn't call
16288 gst_pad_set_caps first.
16290 2006-03-15 Wim Taymans <wim@fluendo.com>
16292 * libs/gst/base/gstadapter.c:
16295 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16297 * win32/common/libgstbase.def:
16298 * win32/common/libgstcontroller.def:
16299 * win32/common/libgstreamer.def:
16300 Add a whole bunch of missing functions (#334434).
16302 2006-03-14 Wim Taymans <wim@fluendo.com>
16304 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16305 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16306 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16307 Better debug info when we receive a segment event.
16308 Reorganize a bit so we can pass the get_times() results around.
16309 Use the segment format when calculating the running time.
16310 Don't do QoS is sync is disabled or we have no clock or the
16311 element does not want us to sync to the clock.
16312 Don't drop buffers if QoS is disabled for now.
16314 2006-03-14 Wim Taymans <wim@fluendo.com>
16316 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16317 Marked the stats property as unimplemented so people don't get
16319 Add debug message when regression goes wrong.
16320 Added some more docs.
16322 2006-03-14 Wim Taymans <wim@fluendo.com>
16324 * gst/gstsegment.c: (gst_segment_to_stream_time):
16325 Return correct return type in case of errors.
16327 2006-03-14 Wim Taymans <wim@fluendo.com>
16329 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16330 Don't segfault on invalid formats.
16332 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16334 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16335 Can't use gst_segment_to_running_time() when the segment
16336 is not in GST_TIME_FORMAT (like with filesink, for example).
16337 Stops flac encoding pipelines from spewing critical warnings
16340 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16342 * gst/gstpipeline.c: (gst_pipeline_class_init):
16343 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16345 * plugins/elements/gsttypefindelement.c:
16346 (gst_type_find_element_handle_event):
16347 Don't try to typefind empty streams.
16349 2006-03-14 Wim Taymans <wim@fluendo.com>
16351 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16352 (gst_base_sink_do_qos):
16353 Separate QoS calculation.
16354 Only drop buffers when lateness is bigger than the
16355 duration of the buffer.
16357 2006-03-13 Wim Taymans <wim@fluendo.com>
16359 * gst/gstpipeline.c: (gst_pipeline_set_property),
16360 (gst_pipeline_get_property), (do_pipeline_seek),
16361 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16362 (gst_pipeline_get_delay):
16363 Don't deadlock when reading properties.
16365 2006-03-13 Wim Taymans <wim@fluendo.com>
16367 * libs/gst/base/gstbasetransform.c:
16368 (gst_base_transform_class_init), (gst_base_transform_init),
16369 (gst_base_transform_sink_event),
16370 (gst_base_transform_sink_eventfunc),
16371 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16372 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16373 (gst_base_transform_set_property),
16374 (gst_base_transform_get_property),
16375 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16376 (gst_base_transform_set_qos_enabled),
16377 (gst_base_transform_is_qos_enabled):
16378 * libs/gst/base/gstbasetransform.h:
16379 Make basetransform virtual method for src events too.
16380 Handle QOS in basetransform.
16381 API: gst_base_transform_update_qos()
16382 API: gst_base_transform_set_qos_enabled()
16383 API: gst_base_transform_is_qos_enabled()
16385 2006-03-13 Wim Taymans <wim@fluendo.com>
16387 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16388 (gst_base_sink_do_sync):
16390 Use QOS debug category.
16392 2006-03-13 Wim Taymans <wim@fluendo.com>
16394 * plugins/elements/gstqueue.c:
16395 Very small doc update.
16397 2006-03-13 Wim Taymans <wim@fluendo.com>
16399 * gst/gst_private.h:
16400 * gst/gstinfo.c: (_gst_debug_init):
16401 Added QOS debug category
16403 2006-03-13 Wim Taymans <wim@fluendo.com>
16405 * docs/gst/gstreamer-sections.txt:
16406 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16408 * gst/gstbus.c: (gst_bus_class_init):
16411 * gst/gstelement.c: (gst_element_set_locked_state):
16412 * gst/gstsegment.c:
16413 Documentation updates.
16415 * gst/gstpipeline.c: (gst_pipeline_get_type),
16416 (gst_pipeline_class_init), (gst_pipeline_init),
16417 (gst_pipeline_dispose), (gst_pipeline_set_property),
16418 (gst_pipeline_get_property), (do_pipeline_seek),
16419 (gst_pipeline_send_event), (gst_pipeline_change_state),
16420 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16421 (gst_pipeline_get_delay):
16422 * gst/gstpipeline.h:
16423 Added methods for setting the delay.
16424 API: gst_pipeline_set_delay()
16425 API: gst_pipeline_get_delay()
16426 Add pipeline debug category
16429 Don't reset stream time when seek failed.
16431 2006-03-13 Wim Taymans <wim@fluendo.com>
16433 * docs/design/draft-klass.txt:
16434 * docs/design/part-clocks.txt:
16435 * docs/design/part-events.txt:
16436 * docs/design/part-gstbin.txt:
16437 * docs/design/part-gstpipeline.txt:
16438 * docs/design/part-messages.txt:
16439 * docs/design/part-negotiation.txt:
16440 * docs/design/part-overview.txt:
16441 * docs/design/part-preroll.txt:
16442 * docs/design/part-seeking.txt:
16443 * docs/design/part-states.txt:
16444 * docs/design/part-streams.txt:
16445 Documentation updates.
16447 2006-03-12 Julien MOUTTE <julien@moutte.net>
16449 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16450 us to leak strings...
16452 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16454 * libs/gst/net/gstnettimeprovider.c:
16456 * win32/common/config.h:
16459 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16461 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16464 Don't check for libgnomeui (leftover from old examples
16465 that aren't built or disted any longer) (#334303).
16467 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16469 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16470 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16471 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16472 there's no space left on the device.
16474 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16477 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16478 to cast the input to GstClockTime before comparing with
16479 another GstClockTime value.
16481 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16486 === release 0.10.4 ===
16488 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16491 releasing 0.10.4, "Light"
16493 2006-03-10 Michael Smith <msmith@fluendo.com>
16495 * libs/gst/dataprotocol/dataprotocol.c:
16496 Fix docs for dataprocotol to not get the return types completely
16497 wrong for a few functions.
16499 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16501 * docs/gst/gstreamer-sections.txt:
16502 * gst/gstpipeline.c: (gst_pipeline_class_init),
16503 (gst_pipeline_init), (gst_pipeline_set_property),
16504 (gst_pipeline_get_property), (gst_pipeline_change_state),
16505 (gst_pipeline_set_auto_flush_bus),
16506 (gst_pipeline_get_auto_flush_bus):
16507 * gst/gstpipeline.h:
16508 Add new API: gst_pipeline_set_auto_flush_bus() and
16509 gst_pipeline_get_auto_flush_bus() to disable automatic
16510 flushing of the pipeline's GstBus when going from READY
16511 to NULL state (#332045).
16513 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16515 * docs/gst/gstreamer-sections.txt:
16516 * gst/gsturi.c: (gst_uri_has_protocol):
16518 Add new API: gst_uri_has_protocol() (#333779).
16520 2006-03-09 Wim Taymans <wim@fluendo.com>
16522 * gst/gstclock.c: (gst_clock_entry_new),
16523 (gst_clock_id_compare_func), (gst_clock_id_wait),
16524 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16525 (gst_clock_init), (gst_clock_get_internal_time),
16526 (gst_clock_set_master), (do_linear_regression),
16527 (gst_clock_add_observation), (gst_clock_set_property):
16531 Fix a possible segfault when the window-size is made smaller.
16532 Calculate jitter before performing the clock wait. Ideally
16533 the clock implementation should calculate jitter but we need
16534 API breakage for that.
16536 * gst/gstsystemclock.c: (gst_system_clock_init):
16539 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16540 Remove leftover else
16542 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16543 (gst_systemclock_suite):
16544 Added check to test GST_CLOCK_DIFF.
16546 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16548 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16549 (gst_type_find_helper_get_range):
16550 If we are provided with the size, we should implement
16551 GstTypeFind::get_length, so that typefind functions who
16552 want to can actually peek at the middle of a file.
16554 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16556 * docs/manual/advanced-dataaccess.xml:
16557 Add some very very basic error checking.
16559 * docs/pwg/appendix-checklist.xml:
16560 Some updates to the list of things to check when writing an element.
16562 2006-03-08 Wim Taymans <wim@fluendo.com>
16564 * docs/design/part-element-transform.txt:
16565 Added some docs about the design of tranform elements.
16567 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16568 (gst_base_src_loop), (gst_base_src_change_state):
16569 Mark buffers with the DISCONT flag.
16571 2006-03-08 Michael Smith <msmith@fluendo.com>
16573 * gst/gstregistry.h:
16574 * gst/gstregistryxml.c: (gst_registry_save),
16575 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16576 (gst_registry_xml_save_pad_template),
16577 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16578 (gst_registry_xml_write_cache):
16579 Rewrite registry-saving to avoid race conditions and check for
16582 2006-03-08 Wim Taymans <wim@fluendo.com>
16584 * libs/gst/base/gstbasetransform.c:
16585 (gst_base_transform_transform_caps),
16586 (gst_base_transform_transform_size),
16587 (gst_base_transform_prepare_output_buffer),
16588 (gst_base_transform_get_unit_size),
16589 (gst_base_transform_buffer_alloc),
16590 (gst_base_transform_handle_buffer),
16591 (gst_base_transform_change_state):
16592 Cleanups, separate normal flow from errors, add sensible
16594 Don't try to renegotiate when allocating an output buffer.
16595 Also copy DISCONT buffer flag when copying a buffer.
16596 Reset the transform after we finish streaming, not during.
16598 2006-03-08 Wim Taymans <wim@fluendo.com>
16600 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16601 Use last buffer timestamp in qos message.
16603 2006-03-07 Wim Taymans <wim@fluendo.com>
16605 Patch by: Christophe Fergeau
16607 * docs/pwg/advanced-tagging.xml:
16608 * docs/pwg/building-pads.xml:
16611 2006-03-07 Wim Taymans <wim@fluendo.com>
16613 * docs/libs/gstreamer-libs-sections.txt:
16614 Added basesink new methods.
16618 Docs updates. Flesh out the QoS docs.
16620 * libs/gst/base/gstadapter.c:
16621 Small doc clarification about ownership and flushing.
16623 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16624 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16625 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16626 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16627 * libs/gst/base/gstbasesink.h:
16629 Added new methods to allow subclass to control max-lateness
16631 Generate very basic QoS events based on last sync observation.
16632 Updated docs, fix typo, added some QoS blurb.
16634 * libs/gst/base/gstbasesrc.c:
16635 Remove obsolete _get_state() calls from docs.
16637 2006-03-07 Wim Taymans <wim@fluendo.com>
16639 * docs/libs/gstreamer-libs-sections.txt:
16640 * libs/gst/base/gstbasetransform.h:
16641 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16642 Fix docs for GstBaseSrc.
16644 2006-03-07 Wim Taymans <wim@fluendo.com>
16646 * docs/gst/gstreamer-sections.txt:
16649 * libs/gst/base/gstbasetransform.h:
16650 Small documentation fixes.
16652 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16655 Document thread-unsafety of gst_value_register_foo_func()
16656 when used at the same time as gst_value_foo() (#322628).
16658 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16660 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16661 (gst_push_src_check_get_range):
16662 Push sources don't support pull mode by default.
16664 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16666 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16667 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16668 (gst_base_src_default_check_get_range):
16669 * libs/gst/base/gstbasesrc.h:
16670 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16671 provide default implementation, and rename
16672 gst_base_src_check_get_range() to
16673 gst_base_src_pad_check_get_range() for clarity.
16675 2006-03-06 Wim Taymans <wim@fluendo.com>
16677 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16678 Make property overridable.
16680 2006-03-06 Wim Taymans <wim@fluendo.com>
16682 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16683 (gst_base_sink_init), (gst_base_sink_set_property),
16684 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16685 * libs/gst/base/gstbasesink.h:
16686 API addition: Make max-lateness a property.
16688 2006-03-06 Wim Taymans <wim@fluendo.com>
16690 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16691 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16692 Don't ever draw a frame that is >10ms late.
16694 2006-03-06 Michael Smith <msmith@fluendo.com>
16696 * gst/gstmessage.c: (_gst_message_copy):
16697 When copying a message, set the parent_refcount of the enclosed
16698 structure to point at the copy, not the original message.
16700 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16702 Patch by: Christophe Fergeau
16705 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16706 usable in c++ code (#333417)
16708 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16711 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16713 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16715 * libs/gst/base/gstbasetransform.c:
16716 (gst_base_transform_transform_caps):
16717 Make sure caps are writable before passing them to
16720 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16723 Fix some minor docs errors.
16725 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16727 Patch by: Ross Burton <ross at burtonini dot com>
16729 * gst/gsterror.c: (_gst_resource_errors_init):
16731 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16733 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16736 Add a check and output a g_warning when GStreamer is built
16737 against GLib 2.6 but running against 2.8 or higher, and vice
16738 versa. (Closes: #323542)
16740 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16742 * gst/parse/parse.l:
16743 Commit patch for parse_launch syntax from #331255. Removes
16744 support for quoted strings and mimetypes when writing filtered
16745 caps. See the bug report for more details - I'm pretty sure this
16746 obscure feature is not in use by _anyone_ anywhere.
16748 With this simple change, the size of the gstreamer.so here
16749 drops from 2193KB to 1565KB.
16751 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16753 * plugins/elements/gsttypefindelement.h:
16754 * plugins/elements/gsttypefindelement.c:
16755 (gst_type_find_element_src_event), (start_typefinding),
16756 (stop_typefinding), (gst_type_find_element_handle_event),
16757 (gst_type_find_element_chain),
16758 (gst_type_find_element_chain_do_typefinding):
16759 Use gst_type_find_helper_for_buffer() for chain-based
16762 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16764 * plugins/elements/gsttypefindelement.c:
16765 (gst_type_find_element_class_init),
16766 (gst_type_find_element_set_property),
16767 (gst_type_find_element_get_property):
16768 Deprecate "maximum" property (not only was it only taken into
16769 account for typefinding in push-mode anyway, it also was never
16770 actually possible to set it in the first place because the
16771 property was registered with the numeric property ID for the
16772 "minimum" property). Register "maximum" property correctly,
16773 for the sake of future copy'n'pasters. Remove some cruft
16774 from property get/set functions.
16776 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16778 * plugins/elements/gsttypefindelement.c:
16779 (gst_type_find_element_activate):
16780 Use gst_type_find_helper_get_range() here, so we
16781 can honour the "minimum" property and also emit
16782 the signal with the correct probability of the found caps.
16784 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16786 * docs/libs/gstreamer-libs-sections.txt:
16787 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16788 (helper_find_suggest), (gst_type_find_helper_get_range),
16789 (gst_type_find_helper):
16790 * libs/gst/base/gsttypefindhelper.h:
16791 New API: gst_type_find_helper_get_range() (#333042).
16793 2006-03-02 Michael Smith <msmith@fluendo.com>
16795 * gst/gstregistryxml.c: (load_feature):
16796 Asserting on a failure to read part of the registry is Not Cool.
16797 Just log a warning and return NULL (which is already handled)
16799 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16801 * win32/common/libgstbase.def:
16802 added export of gst_type_find_helper_for_buffer
16803 * win32/common/libgstbase.def:
16804 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16805 gst_ghost_pad_get_target
16807 2006-02-28 Wim Taymans <wim@fluendo.com>
16809 * docs/design/draft-klass.txt:
16811 Added Connector to mark elements that are only used to
16812 allow pipeline connections.
16813 Moved Debug to extra feature since most of them are
16814 functionally something else.
16816 2006-02-28 Wim Taymans <wim@fluendo.com>
16818 * docs/design/draft-klass.txt:
16819 Some updates and clarifications.
16821 2006-02-28 Wim Taymans <wim@fluendo.com>
16823 * docs/design/draft-klass.txt:
16824 Proposal for klass field values.
16826 * docs/design/part-streams.txt:
16827 Start of a doc describing stream anatomy.
16829 2006-02-28 Wim Taymans <wim@fluendo.com>
16831 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16832 Help the compiler a bit with type registration.
16833 Use existing forward cod path instead of duplicating it when
16834 handling a message.
16836 * gst/gstbus.c: (gst_bus_get_type):
16837 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16838 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16839 * gst/gstclock.c: (gst_clock_get_type):
16840 * gst/gstelement.c: (gst_element_get_type),
16841 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16842 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16843 * gst/gstminiobject.c: (gst_mini_object_get_type):
16844 * gst/gstpad.c: (gst_pad_get_type):
16845 * gst/gstsegment.c: (gst_segment_get_type):
16846 * gst/gststructure.c: (gst_structure_get_type):
16847 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16848 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16850 Help compiler with type registration.
16852 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16855 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16857 * plugins/elements/gsttypefindelement.c:
16858 (gst_type_find_element_handle_event):
16859 When we get an EOS event and have not found a type yet
16860 (most likely because we had not yet accumulated
16861 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16862 type given the data we have so far. Fixes typefinding
16863 for very short streams again, most notably quicktime
16864 redirections as used on Apple's trailer site (#331701).
16866 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16868 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16869 (gst_type_find_helper):
16870 Try typefinding factories with the highest rank first.
16872 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16874 * docs/libs/gstreamer-libs-docs.sgml:
16875 * docs/libs/gstreamer-libs-sections.txt:
16876 * libs/gst/base/gsttypefindhelper.c:
16877 Add section for typefind helper and add documentation
16878 for the old and the new function.
16880 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16882 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16883 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16884 (gst_type_find_helper_for_buffer):
16885 * libs/gst/base/gsttypefindhelper.h:
16886 New API: gst_type_find_helper_for_buffer() (#332723).
16888 2006-02-27 Michael Smith <msmith@fluendo.com>
16890 Patch by: Loïc Minier
16893 * docs/Makefile.am:
16894 * docs/slides/Makefile.am:
16895 prevent CVS directories getting disted.
16897 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16899 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16900 Use the REFCOUNTING category for caps refcounting.
16902 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16904 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16905 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16907 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16909 * plugins/elements/gsttypefindelement.c:
16910 (gst_type_find_element_activate):
16911 Use gst_pad_check_pull_range() before _activate_pull()
16912 to avoid unnecessary open/close (see #331690).
16914 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16917 Docs enhancement: make it crystal clear what the
16918 gst_pad_add_*_probe() callbacks should look like.
16920 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16922 * libs/gst/base/gstbasesrc.c:
16923 Document how applications can stop recording from
16924 live sources (see #330996).
16926 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16928 * tests/check/Makefile.am:
16929 * tests/check/libs/basesrc.c: (eos_event_counter),
16930 (basesrc_eos_events_pull), (basesrc_eos_events_push),
16931 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16932 (gst_basesrc_suite), (main):
16933 ... and add some tests for the base source EOS stuff.
16935 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16937 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16938 Test case originally showed the problem fixed below,
16939 but was then amended. Add checks back at the place
16940 where they used to be.
16942 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16944 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16945 (gst_base_src_init), (gst_base_src_loop),
16946 (gst_base_src_activate_push), (gst_base_src_activate_pull),
16947 (gst_base_src_change_state):
16948 * libs/gst/base/gstbasesrc.h:
16949 Don't unconditionally send EOS when going from PAUSED to
16950 READY state, esp. make sure we don't send two EOS events
16951 in some cases (e.g. one when reaching EOS and one when
16952 going from PAUSED to READY). Also, we don't want to send
16953 EOS events when operating in pull mode. However, we do
16954 want to send an EOS event when shutting down a live
16955 source explicitly, for example (fixes #330996).
16957 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16959 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16960 Update src->read_position after a seek when not using mmap.
16961 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16963 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
16969 Make things work with --disable-parse as they do with
16970 --disable-load-save - the symbols involved disappear, but the
16971 header is still installed and GST_DISABLE_PARSE is included via
16974 2006-02-20 Julien MOUTTE <julien@moutte.net>
16976 * libs/gst/base/gstbasetransform.c:
16977 (gst_base_transform_change_state): Fix a stupid bug. I was
16978 sure I compiled that.
16980 2006-02-20 Julien MOUTTE <julien@moutte.net>
16982 * gst/gstpad.c: (gst_pad_set_blocked_async):
16983 * gst/gstutils.c: (gst_pad_add_data_probe),
16984 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16985 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16986 (gst_pad_remove_buffer_probe): Make those function act on the
16987 ghostpad target when it's a ghostpad. (Closes #331727)
16989 2006-02-20 Julien MOUTTE <julien@moutte.net>
16991 * libs/gst/base/gstbasetransform.c:
16992 (gst_base_transform_change_state): Make basetransform reusable.
16995 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
16997 * docs/random/release:
16998 Move the current documentation of how to do a release to the top
17001 * gst/gstbin.c: (gst_bin_class_init),
17002 (gst_bin_handle_message_func):
17003 Allow multiple state-recalculation threads. (Closes #328873)
17005 2006-02-19 Julien MOUTTE <julien@moutte.net>
17007 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17008 * gst/gstpad.c: (gst_pad_set_event_function),
17009 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17010 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17011 2 strings. You can't use the STR_NULL macro on that.
17013 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17015 * gst/gstpad.c: (gst_pad_set_event_function),
17016 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17017 (gst_pad_set_getcaps_function)
17018 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17019 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17020 So now, we can use --gst-debug-level=5 on Windows
17021 * win32/common/libgstcontroller.def:
17022 Added export of gst_controller_init
17023 * win32/vs6/libgstcontroller.dsp:
17024 Fixed Release post build configuration
17026 2006-02-17 Wim Taymans <wim@fluendo.com>
17028 * tests/check/gst/gstquery.c: (GST_START_TEST):
17029 Added another check.
17031 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17033 * plugins/elements/gsttypefindelement.c: (find_peek):
17034 We can do peeks at non-zero offsets, as long as they
17035 fall within the buffer we have.
17037 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17039 * tests/check/Makefile.am:
17040 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17041 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17042 (parse_suite), (main):
17043 Add testsuite for parse launch syntax
17045 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17047 * plugins/elements/gsttypefindelement.c:
17048 (gst_type_find_element_chain):
17049 When typefinding is unsuccessful in the chain function, don't
17050 error out immediately. Only error out with NO_CAPS_FOUND if
17051 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17052 otherwise simply wait for more data so we can try typefinding
17053 again with more data later. Also, don't attempt to typefind
17054 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17055 this should improve typefinding from network sources where the
17056 size of the first buffer can be somewhat random.
17058 2006-02-14 Wim Taymans <wim@fluendo.com>
17060 * docs/gst/gstreamer-sections.txt:
17061 * gst/gstpadtemplate.c:
17062 * gst/gstpadtemplate.h:
17063 Fix padtemplate docs, fixes #328805.
17065 2006-02-14 Wim Taymans <wim@fluendo.com>
17067 * tools/gst-launch.c: (main):
17068 NO_PREROLL is not an ERROR so don't send confusing messages
17071 2006-02-14 Wim Taymans <wim@fluendo.com>
17073 Patch by: Torsten Schoenfeld
17075 * gst/gstregistry.c: (gst_registry_get_default),
17076 (_gst_registry_cleanup):
17077 Protect default registry with lock and ref/sink it.
17080 2006-02-14 Wim Taymans <wim@fluendo.com>
17083 * gst/gstquery.c: (gst_query_list_add_format),
17084 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17085 (gst_query_parse_formats_nth):
17086 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17089 2006-02-14 Wim Taymans <wim@fluendo.com>
17091 * docs/gst/gstreamer-sections.txt:
17092 Reworked query docs.
17094 * gst/gstquery.c: (gst_query_new_formats),
17095 (gst_query_list_add_format), (gst_query_set_formats),
17096 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17097 (gst_query_parse_formats_nth):
17099 Flesh out formats query, added some new methods.
17100 Fix part of #324398.
17102 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17103 Added query creation tests.
17105 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17107 * gst/gstpad.c: (fixate_value):
17108 Add a default fixation for fraction lists.
17110 2006-02-13 Wim Taymans <wim@fluendo.com>
17112 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17113 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17116 Detect and warn for obvious deadlocks. fixes #320340
17117 Fix error case where lock was not released.
17119 * tests/check/Makefile.am:
17120 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17121 (task_func), (gst_element_suite), (main):
17124 2006-02-13 Wim Taymans <wim@fluendo.com>
17126 * docs/gst/gstreamer-sections.txt:
17128 Add new functions to docs.
17130 2006-02-13 Wim Taymans <wim@fluendo.com>
17132 * docs/design/part-TODO.txt:
17133 Updated TODO list, basesrc supports seeking to non-bytes
17136 * docs/design/part-element-sink.txt:
17139 * gst/gstbin.c: (bin_replace_message),
17140 (gst_bin_handle_message_func):
17141 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17142 * gst/gstevent.c: (gst_event_finalize):
17143 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17144 (gst_pad_send_event):
17145 Use shiny new _TYPE_NAME macros.
17147 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17148 Move debug statement up.
17150 * gst/gstelement.c: (gst_element_set_locked_state):
17151 Add some debugging.
17153 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17155 * docs/gst/gstreamer-sections.txt:
17156 * gst/gstmessage.h:
17158 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17159 macros (#330906). Also, document the already existing
17160 GST_QUERY_TYPE macro.
17162 2006-02-13 Wim Taymans <wim@fluendo.com>
17164 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17165 (event_probe), (GST_START_TEST):
17166 Only events up to the pipeline EOS are counted, there are
17167 some more when going to NULL currently which we don't care
17170 2006-02-13 Wim Taymans <wim@fluendo.com>
17172 * gst/gstpad.c: (gst_pad_send_event):
17173 Correctly check flushing and emit probes. fixes #330125
17175 2006-02-10 Andy Wingo <wingo@pobox.com>
17177 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17179 (gst_bus_init): Cache the location of the private data in the
17180 instance structure.
17181 (gst_bus_enable_sync_message_emission)
17182 (gst_bus_disable_sync_message_emission): Implement new public
17184 (gst_bus_post): Emit the sync-message signal if the user asked for
17187 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17188 location of the bus-private structure.
17189 (gst_bus_enable_sync_message_emission)
17190 (gst_bus_disable_sync_message_emission): API addition
17192 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17194 Patch by: Vincent Torri
17196 * docs/pwg/building-boiler.xml:
17197 PWG patch from #326800
17199 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17202 * docs/Makefile.am:
17203 * docs/design/Makefile.am:
17206 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17211 === release 0.10.3 ===
17213 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17216 releasing 0.10.3, "Like a virgin"
17218 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17221 2nd prerelease of 0.10.3
17222 Bump libtool versioning.
17224 2006-02-07 Andy Wingo <wingo@pobox.com>
17226 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17227 update last_stop if we're in TIME format and the timestamp is
17230 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17231 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17232 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17233 If we get a new newsegment with a different format, adapt
17236 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17237 of 0. Not a problem, really.
17239 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17242 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17247 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17250 project files updated to the default vs7 configuration
17251 * win32/common/libgstbase.def:
17252 * win32/common/libgstreamer.def:
17254 removed empty lines,
17255 sorted all exported symbols alphabetically
17256 * win32/common/dirent.c:
17257 * win32/common/dirent.h:
17258 * win32/common/gchar.h:
17259 use windows line end.
17261 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17263 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17264 Send EOS event when stopping.
17266 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17269 Tell folks what to do if the plugin-foobar.xml file
17270 hasn't been generated for a newly-added plugin.
17272 2006-02-05 Julien MOUTTE <julien@moutte.net>
17274 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17275 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17276 (gst_collect_pads_start), (gst_collect_pads_stop),
17277 (gst_collect_pads_event): Collectpads now holds a reference
17278 to the GstPad that was added. Indeed we don't want to look
17279 at pads that might just go away with no warning...
17281 2006-02-05 Julien MOUTTE <julien@moutte.net>
17283 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17284 (gst_collect_pads_start), (gst_collect_pads_stop),
17285 (gst_collect_pads_event), (gst_collect_pads_chain):
17286 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17287 Mark Nauwelaerts's patch on bug #328491.
17289 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17291 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17293 Add some simple tests for gst_parse_bin_from_description() and
17294 gst_bin_find_unconnected_pad() (#329069).
17296 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17298 * tools/gst-launch.c: (event_loop), (main):
17299 Catch errors during preroll (#320084).
17301 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17303 * plugins/elements/gsttypefindelement.c:
17304 (gst_type_find_element_activate):
17305 Post TYPE_NOT_FOUND error message when typefinding
17306 is unsuccessful in the activate function as well.
17308 2006-02-02 Wim Taymans <wim@fluendo.com>
17310 * docs/design/part-element-sink.txt:
17313 2006-02-02 Wim Taymans <wim@fluendo.com>
17315 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17316 (gst_base_sink_render_object),
17317 (gst_base_sink_queue_object_unlocked):
17318 Only keep track of prerollable items when we are
17320 Before rendering after preroll, always check if we
17322 Added some more debugging.
17324 2006-02-02 Wim Taymans <wim@fluendo.com>
17326 * gst/gstelement.c: (gst_element_continue_state),
17327 (gst_element_set_state_func), (gst_element_change_state):
17328 Fixed #326576, been running this for quite some time with
17329 no regressions at all.
17331 2006-02-02 Wim Taymans <wim@fluendo.com>
17334 Added more suppressions
17336 2006-02-02 Wim Taymans <wim@fluendo.com>
17338 * docs/design/part-element-sink.txt:
17341 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17342 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17343 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17344 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17345 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17346 (gst_base_sink_preroll_object),
17347 (gst_base_sink_queue_object_unlocked),
17348 (gst_base_sink_queue_object), (gst_base_sink_event),
17349 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17350 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17351 (gst_base_sink_get_position), (gst_base_sink_change_state):
17352 * libs/gst/base/gstbasesink.h:
17353 Totally refactored matching the design doc.
17354 Use two segments, one to clip incomming buffers and another to
17356 Handle queueing correctly, bypass the queue when playing.
17357 Make EOS cancelable.
17358 Handle errors correctly when operating in pull based mode.
17360 * tests/check/elements/fakesink.c: (GST_START_TEST),
17362 Added new check for sinks.
17364 2006-02-02 Wim Taymans <wim@fluendo.com>
17366 * gst/gstsegment.c: (gst_segment_clip):
17367 No reason to refuse to clip when start == -1
17369 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17372 * docs/manual/intro-basics.xml:
17373 * docs/manual/intro-preface.xml:
17374 * docs/manual/manual.xml:
17375 * docs/pwg/advanced-dparams.xml:
17376 * docs/pwg/intro-basics.xml:
17377 * docs/pwg/intro-preface.xml:
17378 * docs/pwg/pwg.xml:
17379 describe dparams (controller) for plugins
17380 unify docs a little more
17382 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17384 * docs/gst/gstreamer-sections.txt:
17385 * gst/gstutils.c: (element_find_unconnected_pad),
17386 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17388 Add new API: gst_parse_bin_from_description() and
17389 gst_bin_find_unconnected_pad() (#329069).
17391 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17393 * docs/manual/README:
17394 uncover a nasty detail of the docs build
17396 2006-01-31 Wim Taymans <wim@fluendo.com>
17398 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17399 Don't cache duration messages if we're not going to use or
17402 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17404 * docs/manual/advanced-dparams.xml:
17405 * docs/pwg/advanced-dparams.xml:
17409 * libs/gst/controller/lib.c: (gst_controller_init):
17412 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17414 * gst/gstelement.c: (gst_element_message_full):
17415 also show file/line/func if no additional debug was given
17417 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17419 * win32/vs7/grammar.vcproj:
17420 activate copy of autogenerated files for Release mode
17422 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17424 * win32/common/libgstreamer.def:
17425 export gst_value_compare
17427 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17429 * plugins/elements/Makefile.am:
17430 * plugins/elements/gstelements.c:
17431 * plugins/elements/gstfdsink.c: (_do_init),
17432 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17433 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17434 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17435 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17436 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17437 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17438 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17439 * plugins/elements/gstfdsink.h:
17440 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17442 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17444 * docs/manual/advanced-dparams.xml:
17445 describe controller
17446 * docs/manual/advanced-position.xml:
17447 * docs/manual/basics-init.xml:
17448 * docs/manual/manual.xml:
17449 * docs/manual/titlepage.xml:
17450 * docs/pwg/pwg.xml:
17451 * docs/pwg/titlepage.xml:
17452 cleanup xml (more to come)
17453 * libs/gst/controller/gstcontroller.c:
17456 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17458 * win32/vs6/grammar.dsp:
17459 add autogen of gstmarshal.c,h for Release mode
17461 2006-01-30 Wim Taymans <wim@fluendo.com>
17463 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17464 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17465 (gst_base_sink_handle_object), (gst_base_sink_event),
17466 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17467 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17468 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17469 (gst_base_sink_deactivate), (gst_base_sink_activate),
17470 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17471 (gst_base_sink_query), (gst_base_sink_change_state):
17472 Basesink cleanups, remove some old code.
17473 Handle the case where a subclass can preroll in the render
17474 method (mostly audiosinks).
17475 Handle more events.
17476 Remove some locks around variables that are now protected
17477 with the PREROLL_LOCK (clock_id, flushing, ..).
17478 Optimize position query some more, do correct locking.
17479 Remove old code to push queue in state change, this is not
17480 needed anymore since preroll blocks on all prerollable items
17482 Almost implemented as described in design doc.
17484 2006-01-30 Wim Taymans <wim@fluendo.com>
17486 * tests/check/gst/gstbin.c: (GST_START_TEST):
17487 Wait for refcount to settle down before checking.
17489 2006-01-30 Wim Taymans <wim@fluendo.com>
17491 * docs/design/part-element-sink.txt:
17492 Pseudo code overview of desired sink behaviour regarding
17495 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17496 * win32/vs6/grammar.dsp:
17497 fix some bugs in Release mode for autogenerated files
17499 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17500 * win32/common/libgstbase.def:
17501 * win32/common/libgstreamer.def:
17502 export some new symbols: gst_base_src_set_format,
17503 gst_iterator_next, gst_structure_set_valist
17505 2006-01-29 Julien MOUTTE <julien@moutte.net>
17507 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17508 Set pad functions unconditionally. Fixes #329105.
17510 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17512 add vs8 project files created by Sergey Scobich
17514 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17516 * gst/gstutils.c: (gst_element_unlink_pads):
17517 Don't leak pad references.
17519 * tests/check/elements/fakesink.c: (GST_START_TEST):
17520 * tests/check/generic/sinks.c: (GST_START_TEST):
17521 * tests/check/generic/states.c: (GST_START_TEST):
17522 * tests/check/gst/gstbin.c: (GST_START_TEST):
17523 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17524 * tests/check/gst/gstelement.c: (GST_START_TEST):
17525 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17526 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17527 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17528 Fix a bunch of leaks. Make generic/sinks.c
17529 use a bit less cpu by slowing the buffer rate
17530 between fakesrc and fakesink.
17532 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17534 * gst/gstelement.c: (gst_element_send_event):
17537 * gst/gstiterator.c:
17538 * gst/gstiterator.h:
17539 * gst/gstpad.c: (gst_pad_send_event):
17540 * gst/gststructure.c:
17544 * libs/gst/base/gstadapter.c:
17545 doc fixes, to link to function, just write gst_cool_function(), don't
17548 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17550 * plugins/elements/gsttee.c: (gst_tee_do_push),
17551 (gst_tee_handle_buffer):
17552 Always prefer an actual return value from a src
17553 pad in place of NOT_LINKED. This means we return
17554 WRONG_STATE when all src pads are WRONG_STATE
17555 instead of NOT_LINKED.
17557 Lock when replacing the last message to prevent
17558 racing with the get_property method.
17562 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17564 * tests/check/Makefile.am:
17565 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17567 Add a very simple check that should have caught the memleak I fixed
17568 last night (if not for the slice allocator hiding it)
17570 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17572 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17573 (gst_bin_remove_func), (gst_bin_handle_message_func),
17574 (bin_query_duration_fold), (bin_query_generic_fold):
17575 Clean up references to the clock provider when disposed or when
17576 handling a clock-lost message from it.
17578 Unref sinks when performing a query via gst_iterator_fold, as the
17579 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17581 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17582 (gst_clock_set_master):
17583 Drop our reference to the master clock, if any, when we are disposed.
17585 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17586 Chain up in dispose.
17588 2006-01-26 Wim Taymans <wim@fluendo.com>
17590 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17591 Add some debugging.
17593 2006-01-26 Julien MOUTTE <julien@moutte.net>
17595 * plugins/elements/gsttee.c: (gst_tee_do_push),
17596 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17597 handles pad being NOT_LINKED or in WRONG_STATE.
17599 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17604 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17607 remove obsolete entry
17609 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17611 * docs/gst/gstreamer-sections.txt:
17612 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17613 (gst_bin_iterate_sources), (gst_bin_send_event):
17615 * gst/gstelement.c: (gst_element_send_event):
17617 * gst/gstpad.c: (gst_pad_send_event):
17618 added code for downstream events, reviewed docs in gstevent.c
17620 2006-01-25 Julien MOUTTE <julien@moutte.net>
17622 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17623 We only query position using the clock in the playing state.
17624 Query peer in the other cases.
17625 * win32/common/config.h: Updates.
17627 2006-01-24 Wim Taymans <wim@fluendo.com>
17629 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17630 A clock entry that is scheduled for the exact time of the
17631 clock is still in time.
17633 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17634 (gst_base_sink_do_sync):
17635 Add some more debug info.
17637 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17640 Add new vs7 project files and solution.
17642 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17645 all files removed as they were out-dated.
17647 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17649 * docs/random/release:
17651 * gst/gstbin.c: (gst_bin_init):
17652 * gst/gstbus.c: (gst_bus_new):
17654 * gst/gstpipeline.c: (gst_pipeline_init):
17655 use gst_bus_new(), improve logging, fix docs
17656 * win32/common/config.h:
17657 update for cvs build
17659 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17662 up required version of automake to 1.7
17664 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17666 * win32/common/libgstreamer.def:
17667 export gst_buffer_is_metadata_writable
17669 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17671 * docs/gst/gstreamer-sections.txt:
17673 Add gst_event_replace() (#327001)
17675 2006-01-20 Wim Taymans <wim@fluendo.com>
17677 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17678 Make it actually compile too..
17680 2006-01-20 Wim Taymans <wim@fluendo.com>
17683 Clarify behaviour of _is_equal() when passing NULL parameters.
17685 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17686 (gst_pad_set_caps):
17687 Cleanups. Don't unref NULL caps.
17688 When setting the same caps, protect caps of the pad with
17690 Use full functionality of _is_equal() when comparing caps.
17692 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17694 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17695 Don't loop infinitely if there are no buffers to present. Partially
17696 fixes #327197, but collectpads is just broken for reusing elements
17697 to do multiple encodes atm.
17699 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17701 * tools/gst-inspect.c: (print_element_features):
17702 * tools/gst-xmlinspect.c: (main):
17703 URL_HANDLER is not a plugin feature we can search for in
17706 2006-01-19 Edward Hervey <edward@fluendo.com>
17708 * gst/gstelement.c: (gst_element_pads_activate):
17709 When activating, do src pads first, then sink pads.
17710 When de-activating, do sink pads first, then src pads.
17712 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17714 * docs/gst/gstreamer-sections.txt:
17715 Add gst_index_add_associationv to the docs
17717 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17722 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17723 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17724 Do some refactoring. Doesn't actually change functionality,
17725 but makes landing the DRAIN event easier later.
17727 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17729 * docs/pwg/advanced-scheduling.xml:
17730 Update from 0.9.x to 0.10 API and make example a bit
17733 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17735 * docs/gst/gstreamer-sections.txt:
17736 Add gst_buffer_(is|make)_metadata_writable methods.
17738 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17740 * docs/design/part-sparsestreams.txt:
17741 Update sparse streams doc, hopefully for greater clarity
17743 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17745 * docs/design/part-events.txt:
17746 Remove mention of FILLER events.
17749 * docs/design/part-sparsestreams.txt:
17750 Write some things about using NEWSEGMENT to keep sparse streams
17753 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17755 * gst/gstbin.c: (gst_bin_dispose):
17756 Guard gst_object_unref call against a NULL object (dispose
17757 can theoretically be called multiple times).
17759 2006-01-18 Wim Taymans <wim@fluendo.com>
17761 * gst/gstbin.c: (gst_bin_element_set_state):
17762 * gst/gstclock.c: (gst_clock_id_wait):
17763 Added some more debug info.
17765 * libs/gst/base/gstadapter.c:
17768 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17769 (gst_base_sink_do_sync), (gst_base_sink_chain):
17770 Added some comments.
17772 2006-01-18 Wim Taymans <wim@fluendo.com>
17774 * tests/check/Makefile.am:
17775 * tests/check/elements/fakesink.c: (chain_async_buffer),
17776 (chain_async), (chain_async_return), (GST_START_TEST),
17777 (fakesink_suite), (main):
17778 Added fakesink test that checks prerolling and clipping
17781 * tests/check/gst/gstutils.c: (GST_START_TEST):
17782 Make check run faster so that buildbots don't timeout.
17784 2006-01-18 Wim Taymans <wim@fluendo.com>
17786 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17787 (gst_base_sink_do_sync):
17789 When the sink finishes blocking on the preroll buffer, it can
17790 immediatly render it instead of rendering when the next buffer
17793 2006-01-18 Wim Taymans <wim@fluendo.com>
17795 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17796 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17797 (gst_base_sink_chain):
17799 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17800 Don't store _last_stop if the buffer is dropped.
17802 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17804 * plugins/elements/gsttypefindelement.c:
17805 (gst_type_find_element_class_init):
17806 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17807 object method handler that sets the caps on the pad and we want
17808 that to happen before we emit the signal (fixes e.g. feeding a
17809 plain text file to decodebin).
17811 2006-01-18 Christian Schaller <Christian@fluendo.com>
17813 * gst/gstplugin.c: Add MPL and Proprietary as license options
17815 2006-01-18 Andy Wingo <wingo@pobox.com>
17817 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17818 symbol was exported before, it appears this was just an oversight.
17820 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17822 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17823 prototype to gint. OK since this prototype was not in the header.
17825 2006-01-17 Andy Wingo <wingo@pobox.com>
17827 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17828 registry while we remove plugins.
17830 * tools/gst-inspect.c (print_element_info): Don't unref the
17831 factory arg, that should be the responsibility of whatever code
17832 received the ref. Fixes a double-free when called from
17833 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17834 (main): Unref the factory if we have one.
17835 (print_element_list): No change -- relies on the
17836 plugin_feature_list_free to free the list of features.
17838 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17840 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17841 (gst_buffer_make_metadata_writable):
17843 * libs/gst/base/gstbasetransform.c:
17844 (gst_base_transform_prepare_output_buf):
17845 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17846 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17847 Replace gst_buffer_(make|is)_metadata_writable patch now
17848 that the release is out.
17850 2006-01-17 Andy Wingo <wingo@pobox.com>
17852 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17853 in the present tense without reference to versions.
17855 * gst/gstregistry.c (gst_registry_add_plugin)
17856 (gst_registry_remove_plugin, gst_registry_remove_feature)
17857 (gst_registry_find_feature, gst_registry_get_feature_list)
17858 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17859 (gst_registry_lookup, gst_registry_scan_path)
17860 (_gst_registry_remove_cache_plugins)
17861 (gst_registry_get_feature_list_by_plugin): Add argument
17864 === release 0.10.2 ===
17866 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17869 releasing 0.10.2, "If man is five"
17871 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17875 * libs/gst/base/gstbasetransform.c:
17876 (gst_base_transform_prepare_output_buf):
17877 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17878 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17879 Back out patch until after the release.
17881 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17883 * gst/gstminiobject.c:
17884 Spelling fix in docs.
17885 * ChangeLog - remove conflict indicator
17887 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17889 Reviewed By: Andy Wingo
17891 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17892 (gst_buffer_make_metadata_writable):
17894 Add gst_buffer_(is|make)_metadata_writable as analogues of
17895 gst_buffer_(is|make)_writable.
17897 * libs/gst/base/gstbasetransform.c:
17898 (gst_base_transform_prepare_output_buf):
17899 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17900 Use name gst_buffer_(is|make)_metadata_writable functions.
17902 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17903 Test gst_buffer_(is|make)_metadata_writable
17907 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
17909 * docs/manual/Makefile.am:
17910 don't do parallel make
17913 * win32/common/config.h.in:
17914 add generations for HOST_CPU and GST_MAJORMINOR
17915 * win32/common/config.h:
17916 commit generated result
17918 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
17920 * docs/manual/appendix-integration.xml:
17921 Update GNOME integration section to use gst_init_get_option_group()
17922 instead of the old popt stuff (#322911). Also, GNOME applications
17923 should now use gconf*sink and gconf*src instead of the old gconf
17926 2006-01-13 Stefan Kost <ensonic@users.sf.net>
17929 * docs/gst/gstreamer-docs.sgml:
17930 * docs/gst/gstreamer-sections.txt:
17931 * docs/libs/gstreamer-libs-sections.txt:
17932 add new API entries to the docs
17933 * libs/gst/controller/Makefile.am:
17934 * libs/gst/controller/gstcontroller.c:
17935 * libs/gst/controller/gstcontroller.h:
17936 * libs/gst/controller/gstcontrollerprivate.h:
17937 * libs/gst/controller/gsthelper.c:
17938 * libs/gst/controller/gstinterpolation.c:
17939 move private structs to private header
17941 gstreamer-0.7 -> gstreamer-0.10
17942 * tests/check/libs/struct_i386.h:
17943 remove private structs
17945 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17947 * plugins/indexers/Makefile.am:
17948 Fixes as part of #317048
17950 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17952 * plugins/indexers/Makefile.am:
17953 fix #316086 - compilation when mmap is missing
17955 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
17957 * libs/gst/base/gstbasesink.c:
17958 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
17959 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17960 * win32/common/config.h:
17961 added some defines GST_MAJORMINOR and HOST_CPU
17962 * win32/common/libgstbase.def:
17963 * win32/common/libgstreamer.def:
17964 added some exported functions.
17966 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17968 * libs/gst/controller/gstcontroller.c:
17969 (gst_controlled_property_set_interpolation_mode),
17970 (gst_controlled_property_new):
17971 * libs/gst/controller/gstcontroller.h:
17972 * libs/gst/controller/gstinterpolation.c:
17973 (interpolate_none_get_string_value_array):
17974 make G_TYPE_STRING controlable
17976 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17979 * tools/gst-feedback.1.in:
17980 * tools/gst-inspect.1.in:
17981 * tools/gst-launch.1.in:
17982 * tools/gst-md5sum.1.in:
17983 * tools/gst-typefind.1.in:
17984 * tools/gst-xmlinspect.1.in:
17985 * tools/gst-xmllaunch.1.in:
17986 cleanup man-pages, remove reference to gst-register, document env-vars
17988 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
17990 * gst/gstbuffer.c: (gst_buffer_span):
17991 gst_buffer_span should copy the timestamp of the first buffer
17992 if they were both originally overlapping subbuffers of the
17993 same parent, using the same logic as the 'slow copy' case.
17995 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
17997 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17998 Need to awaken ALL the pads when we pop a buffer, otherwise
17999 collectpads only works when there is 2 input streams.
18001 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18003 * docs/random/ensonic/media-device-daemon.txt:
18006 fix doc example, add clarification
18007 * tools/gst-launch.1.in:
18008 add initial info about GST_PLUGIN_PATH, needs more work
18010 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18012 * docs/manual/basics-bins.xml:
18013 * docs/manual/basics-elements.xml:
18014 * docs/manual/intro-basics.xml:
18015 Some more minor docs additions and updates.
18017 2006-01-11 Wim Taymans <wim@fluendo.com>
18019 * docs/manual/basics-bins.xml:
18020 * docs/manual/basics-elements.xml:
18021 Some small fixes as pointed out by Ser-ver on IRC.
18023 2006-01-10 Edward Hervey <edward@fluendo.com>
18025 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18026 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18027 the single-segment mode.
18029 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18031 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18033 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18034 (gst_base_src_perform_seek), (gst_base_src_send_event),
18035 (gst_base_src_set_property), (gst_base_src_get_property),
18036 (gst_base_src_loop), (gst_base_src_start),
18037 (gst_base_src_activate_push):
18038 * libs/gst/base/gstbasesrc.h:
18039 Name (private) union; makes Sun's Forte compiler happy (#324900).
18041 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18044 gst-register is gone.
18046 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18048 * gst/gstvalue.c: (_gst_value_initialize):
18049 make the G_TYPE_DATE instantiation work if debug is disabled
18051 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18053 * gst/gstmessage.c: (gst_message_parse_tag),
18054 (gst_message_parse_error), (gst_message_parse_warning):
18055 Don't crash when return location for error/warning debug
18056 string is NULL; add fact that return locations can be
18057 NULL to docs where appropriate.
18059 2006-01-05 Wim Taymans <wim@fluendo.com>
18061 * gst/gstplugin.c: (gst_plugin_load_file):
18062 Replace strdup by g_strdup.
18064 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18066 * docs/pwg/advanced-types.xml:
18069 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18071 submitted by: Abel Cheung
18075 Added Chinese (traditional) translation
18077 2006-01-04 Wim Taymans <wim@fluendo.com>
18079 * docs/manual/basics-pads.xml:
18080 * docs/plugins/Makefile.am:
18081 * docs/plugins/gstreamer-plugins-docs.sgml:
18082 * docs/plugins/gstreamer-plugins-sections.txt:
18083 * docs/pwg/advanced-clock.xml:
18084 * docs/pwg/advanced-scheduling.xml:
18085 * docs/pwg/advanced-types.xml:
18086 * plugins/elements/gstfdsink.c:
18087 * plugins/elements/gstfdsrc.c:
18088 * plugins/elements/gstfdsrc.h:
18089 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18090 * plugins/elements/gstidentity.h:
18091 * plugins/elements/gstqueue.h:
18092 * plugins/elements/gsttee.c:
18093 * plugins/elements/gsttee.h:
18094 * plugins/elements/gsttypefindelement.c:
18095 (gst_type_find_element_class_init):
18096 * plugins/elements/gsttypefindelement.h:
18097 Small updates to various docs.
18098 Added core plugins to docs.
18100 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18103 add a suppression for liboil's uninitialized variable
18105 2006-01-02 James Livingston <jrl at ids dot org dot au>
18107 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18110 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18111 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18112 compiler switch is being used (#325429).
18114 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18116 * gst/gstbin.c: (gst_bin_query):
18117 Disable duration query caching in bins until it gets
18118 fixed (see #324807).
18120 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18122 * tools/gst-inspect.c: (print_element_properties_info):
18123 Handle properties of POINTER and BOXED type.
18125 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18127 * gst/gst.c: (init_post):
18128 Init tags stuff and some other things before loading
18129 any static plugins (there may be other static plugins
18130 than just the GStreamer ones, and they may want to
18131 register their own tags or formats or whatever, and
18132 preferably without segfaulting).
18134 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18135 Print at least a warning in the debug logs if we drop a
18136 query just because we don't know how to adjust the value
18137 in the particular format.
18139 2005-12-24 David Schleef <ds@schleef.org>
18141 * tools/gstreamer-completion:
18142 Replacement for gst-complete written in sh and sed. Only
18143 completes names of features, but that's 90% of what I want
18144 it for. Properties are not available in registry.xml. (Maybe
18147 === release 0.10.1 ===
18149 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18152 releasing 0.10.1, "Nollaig chridheil"
18154 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18156 * docs/faq/cvs.xml:
18157 Add missing quote, should be make ERROR_CFLAGS="".
18159 2005-12-20 Wim Taymans <wim@fluendo.com>
18161 * docs/design/part-trickmodes.txt:
18162 More documentation on trickmodes.
18164 2005-12-20 Edward Hervey <edward@fluendo.com>
18166 * gst/gstcaps.c: (gst_static_caps_get_type):
18168 API addition: GST_TYPE_STATIC_CAPS
18169 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18170 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18171 * gst/gstpadtemplate.h:
18172 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18173 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18176 2005-12-18 Wim Taymans <wim@fluendo.com>
18178 * libs/gst/base/gstadapter.c:
18179 * libs/gst/base/gstadapter.h:
18180 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18181 (gst_base_sink_get_position):
18182 * libs/gst/base/gstbasesink.h:
18183 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18184 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18185 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18186 (gst_base_src_send_event), (gst_base_src_update_length),
18187 (gst_base_src_get_range), (gst_base_src_loop),
18188 (gst_base_src_start):
18189 * libs/gst/base/gstbasesrc.h:
18190 * libs/gst/base/gstbasetransform.h:
18191 * libs/gst/base/gstcollectpads.h:
18192 * libs/gst/base/gstpushsrc.c:
18193 * libs/gst/base/gstpushsrc.h:
18194 * libs/gst/dataprotocol/dataprotocol.c:
18195 * libs/gst/dataprotocol/dataprotocol.h:
18196 * libs/gst/net/gstnetclientclock.h:
18197 * libs/gst/net/gstnettimeprovider.h:
18198 Documentation updates.
18200 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18202 * docs/manual/basics-helloworld.xml:
18203 Remove superfluous closing bracket in helloworld example.
18205 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18207 * tools/gst-launch.1.in:
18208 Update gst-launch man page; add a section with useful
18209 environment variables. Fixes #323882.
18211 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18214 * gst/gst_private.h:
18215 change some char* into char[]
18217 2005-12-16 Wim Taymans <wim@fluendo.com>
18219 * gst/gstregistryxml.c: (load_feature):
18221 Don't use g_object_unref on GstObjects so that we avoid
18222 leaks on unsafe glibs.
18224 2005-12-16 Wim Taymans <wim@fluendo.com>
18226 * gst/gstbin.c: (gst_bin_recalc_state):
18229 2005-12-16 Wim Taymans <wim@fluendo.com>
18231 * common/check.mak:
18232 Added make forever target for check.
18234 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18236 * gst/gst.c: (init_post):
18237 make the registry cache file HOST_CPU-dependent
18239 2005-12-16 Andy Wingo <wingo@pobox.com>
18241 * plugins/elements/gstbufferstore.c
18242 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18245 * tests/check/gst/gstobject.c
18246 (test_fake_object_name_threaded_unique): Pay attention to
18247 g_list_sort return value.
18249 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18251 * tools/gst-feedback-m.m:
18252 Update for 0.9/0.10 (fixes #323870).
18254 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18256 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18257 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18259 * tests/check/gst/gstminiobject.c: (my_foo_init),
18260 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18261 (test_value_collection), (gst_mini_object_suite):
18262 Add test to ensure refcounts end up as expected when passing
18263 GstMiniObjects through g_object_get() and g_object_set().
18265 2005-12-14 Julien MOUTTE <julien@moutte.net>
18267 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18268 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18269 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18270 of collectpads. This version removes a lot of races without
18271 touching API/ABI. Yay !
18273 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18275 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18276 Don't allow activation of a srcpad in pull_range if it has no
18278 Change some debug statements to be a little clearer
18280 * plugins/elements/gsttypefindelement.c:
18281 (gst_type_find_handle_src_query):
18282 Check that we have a peer before executing queries thereupon.
18284 * tests/examples/metadata/read-metadata.c: (message_loop):
18285 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18286 immediately return us any available message with 0 timeout.
18288 2005-12-12 Michael Smith <msmith@fluendo.com>
18290 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18291 Don't unref factories after calling them.
18292 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18293 * plugins/elements/gsttypefindelement.c:
18294 (gst_type_find_element_chain):
18295 Free lists of factories after using them. Fixing typefinding memory
18298 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18300 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18301 (gst_plugin_feature_load):
18302 more meaningful debug output
18304 * tests/Makefile.am:
18305 * tests/old/examples/Makefile.am:
18306 make make distcheck happy again
18308 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18310 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18311 Catch the special case where we are operating chain-based,
18312 but the downstream peer pad has no chain function. Emit a
18313 custom error message in this case instead of letting the
18314 core generate one implying that this is some sort of core
18315 bug. It's not, it just means that whatever got plugged
18316 into the pipeline downstream when we announced the type
18317 can only operate pull-based, while our source can only
18318 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18319 Error string has not been marked for translation yet, as
18320 it probably needs some more work first.
18322 (gst_type_find_element_get_best_possibility):
18323 Add helper function to find the best of all available
18324 found possibilities that qualify given the min. threshold.
18326 (gst_type_find_element_handle_event):
18327 Fix the case where we get an EOS while still in TYPEFIND
18328 mode (we want to chose the best of all possible types,
18329 not just the first type that happens to be in our unsorted
18330 list of possible types).
18332 (gst_type_find_element_chain):
18333 Make sure we return GST_FLOW_ERROR when we errored out
18334 in stop_typefinding(); also, don't just find the best of
18335 all found type entries and then use the last examined
18336 type entry, but actually use the best entry.
18338 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18340 * tests/examples/typefind/typefind.c: (type_found):
18341 * tests/examples/xml/runxml.c: (xml_loaded):
18342 More gcc4 fixes and a mem leak fix.
18344 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18346 * tests/examples/xml/createxml.c: (object_saved):
18349 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18351 * tests/Makefile.am:
18352 enable the examples even more
18354 2005-12-12 Andy Wingo <wingo@pobox.com>
18356 * libs/gst/net/gstnettimeprovider.c
18357 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18358 (gst_net_time_provider_set_property)
18359 (gst_net_time_provider_get_property):
18360 API addition: Export "active" as a GObject property.
18361 (gst_net_time_provider_thread): Only respond to time queries if
18362 the time provider is active.
18364 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18365 NetTimeProvider, preserving binary compat.
18367 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18369 * tests/examples/controller/audio-example.c: (main):
18370 * tests/examples/launch/Makefile.am:
18371 convert comments again
18373 2005-12-12 Wim Taymans <wim@fluendo.com>
18375 * libs/gst/base/gstpushsrc.c:
18378 2005-12-12 Wim Taymans <wim@fluendo.com>
18380 * docs/libs/gstreamer-libs-sections.txt:
18381 Added new symbol to docs.
18383 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18384 (gst_base_src_init), (gst_base_src_set_format),
18385 (gst_base_src_default_query), (gst_base_src_query),
18386 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18387 (gst_base_src_perform_seek), (gst_base_src_send_event),
18388 (gst_base_src_default_event), (gst_base_src_event_handler),
18389 (gst_base_src_set_property), (gst_base_src_get_property),
18390 (gst_base_src_wait), (gst_base_src_do_sync),
18391 (gst_base_src_update_length), (gst_base_src_get_range),
18392 (gst_base_src_check_get_range), (gst_base_src_loop),
18393 (gst_base_src_default_negotiate), (gst_base_src_start),
18394 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18395 (gst_base_src_change_state):
18396 * libs/gst/base/gstbasesrc.h:
18397 Implement seeking to other formats than _BYTES.
18398 Implement more seeking methods correctly.
18400 Added query vmethod.
18401 Added do_seek vmethod to make life easier for subclasses
18403 API addition: gst_base_src_set_format()
18405 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18407 * tests/examples/Makefile.am:
18410 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18413 * docs/random/ensonic/media-device-daemon.txt:
18414 * tests/examples/controller/.cvsignore:
18415 * tests/examples/controller/Makefile.am:
18416 * tests/examples/controller/audio-example.c: (main):
18417 * tests/examples/helloworld/.cvsignore:
18418 * tests/examples/helloworld/Makefile.am:
18419 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18420 * tests/examples/launch/.cvsignore:
18421 * tests/examples/launch/Makefile.am:
18422 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18423 * tests/examples/metadata/.cvsignore:
18424 * tests/examples/metadata/Makefile.am:
18425 * tests/examples/metadata/read-metadata.c: (message_loop),
18426 (make_pipeline), (print_tag), (main):
18427 * tests/examples/queue/.cvsignore:
18428 * tests/examples/queue/Makefile.am:
18429 * tests/examples/queue/queue.c: (event_loop), (main):
18430 * tests/examples/typefind/.cvsignore:
18431 * tests/examples/typefind/Makefile.am:
18432 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18434 * tests/examples/xml/.cvsignore:
18435 * tests/examples/xml/Makefile.am:
18436 * tests/examples/xml/createxml.c: (object_saved), (main):
18437 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18438 * tests/old/examples/Makefile.am:
18439 * tests/old/examples/TODO:
18440 * tests/old/examples/controller/.cvsignore:
18441 * tests/old/examples/controller/Makefile.am:
18442 * tests/old/examples/controller/audio-example.c:
18443 * tests/old/examples/helloworld/.cvsignore:
18444 * tests/old/examples/helloworld/Makefile.am:
18445 * tests/old/examples/helloworld/helloworld.c:
18446 * tests/old/examples/launch/.cvsignore:
18447 * tests/old/examples/launch/Makefile.am:
18448 * tests/old/examples/launch/mp3parselaunch.c:
18449 * tests/old/examples/launch/mp3play:
18450 * tests/old/examples/manual/Makefile.am:
18451 * tests/old/examples/metadata/Makefile.am:
18452 * tests/old/examples/metadata/read-metadata.c:
18453 * tests/old/examples/queue/.cvsignore:
18454 * tests/old/examples/queue/Makefile.am:
18455 * tests/old/examples/queue/queue.c:
18456 * tests/old/examples/typefind/.cvsignore:
18457 * tests/old/examples/typefind/Makefile.am:
18458 * tests/old/examples/typefind/typefind.c:
18459 * tests/old/examples/xml/.cvsignore:
18460 * tests/old/examples/xml/Makefile.am:
18461 * tests/old/examples/xml/createxml.c:
18462 * tests/old/examples/xml/runxml.c:
18463 applied some simple fixing to some examples
18464 re-enabled the working examples
18466 2005-12-12 Wim Taymans <wim@fluendo.com>
18468 * gst/gstsegment.c: (gst_segment_init),
18469 (gst_segment_set_last_stop), (gst_segment_set_seek),
18470 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18471 (gst_segment_to_running_time):
18472 Added more documentation.
18473 Make sure the last_pos value is updated properly.
18474 Make sure to_stream_time and to_running_time don't
18475 operate on wrong values.
18477 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18480 2005-12-12 Michael Smith <msmith@fluendo.com>
18482 * plugins/elements/gsttypefindelement.c: (free_entry),
18483 (gst_type_find_element_chain):
18484 Now that we're not leaking factories, make sure we keep references
18485 to them while we need them.
18487 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18489 * tests/check/gst/struct_i386.h:
18490 ifdef out the XML structs
18492 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18494 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18495 floor is not needed, F is always positive; this obviates the
18496 need for adding -lm when building without libxml
18498 2005-12-12 Wim Taymans <wim@fluendo.com>
18500 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18501 Take current playback rate into account when reporting
18504 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18506 * docs/manual/mime-world.fig:
18507 Let's try this again, this time with a file that is
18508 actually in XFig format.
18510 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18512 * docs/manual/mime-world.fig:
18513 Add audioconvert element to diagram so that it
18514 matches the text and the code (fixes #319526).
18516 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18518 * docs/pwg/building-chainfn.xml:
18519 * docs/pwg/building-pads.xml:
18520 * docs/pwg/building-state.xml:
18521 * docs/pwg/other-source.xml:
18522 Update state change stuff for 0.10 (fixes #322969).
18524 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18526 * docs/manual/advanced-dataaccess.xml:
18527 * docs/manual/appendix-checklist.xml:
18528 * docs/manual/appendix-programs.xml:
18529 * docs/manual/basics-pads.xml:
18530 * docs/manual/highlevel-components.xml:
18531 * docs/manual/manual.xml:
18532 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18533 add converters in front of pipelines; remove curly
18534 brackets for threads stuff, they no longer exist; use
18535 GST_TYPE_FRACTION for framerates; update some pieces of
18536 code to 0.10, but there's plenty more to do.
18538 * docs/manual/appendix-porting.xml:
18539 Expand on asynchroneous state changes; s/0.9/0.10/;
18540 mention disappearance of gst_init_get_popt_table()
18543 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18545 * docs/faq/using.xml:
18546 Spider no longer exists, and neither does gst-launch-ext.
18547 Update examples to use decodebin and playbin and put
18548 converters in front of sinks (fixes #323726).
18550 2005-12-09 Michael Smith <msmith@fluendo.com>
18552 * plugins/elements/gsttypefindelement.c: (find_peek),
18553 (gst_type_find_element_chain):
18554 Fix leaking element factories in typefinding.
18555 Fix problem where we forgot about a probable type on non-seekable
18556 files, and thus later mis-typefound it.
18558 2005-12-09 Michael Smith <msmith@fluendo.com>
18560 * common/m4/gst-makecontext.m4:
18561 * common/m4/gst-mcsc.m4:
18563 * win32/common/config.h:
18564 * win32/common/config.h.in:
18565 Remove makecontext stuff; not used in 0.10 and causes problems on
18566 HPUX according to bug #322441
18568 2005-12-07 Wim Taymans <wim@fluendo.com>
18570 * tests/check/Makefile.am:
18571 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18573 * tests/check/libs/struct_i386.h:
18574 Added ABI check for libs
18576 2005-12-07 Wim Taymans <wim@fluendo.com>
18578 * tests/check/Makefile.am:
18579 And add the struct_i386.h to dist.
18581 2005-12-07 Wim Taymans <wim@fluendo.com>
18583 * tests/check/Makefile.am:
18584 * tests/check/gst/.cvsignore:
18585 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18587 * tests/check/gst/struct_i386.h:
18588 Added check for ABI compatibility.
18590 2005-12-07 Wim Taymans <wim@fluendo.com>
18592 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18593 (gst_fake_src_get_times), (gst_fake_src_create):
18594 Fix broken sync option, fixes #323259
18596 2005-12-07 Wim Taymans <wim@fluendo.com>
18601 * gst/gstcaps.c: (gst_caps_is_equal):
18602 Don't assert on NULL <--> X. Fixes #323260
18604 * gst/gstminiobject.c: (gst_mini_object_replace):
18605 If we're doing atomic operations, we might just as well use
18606 the proper way to get an atomic pointer.
18608 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18609 Clean up debugging.
18611 2005-12-07 Michael Smith <msmith@fluendo.com>
18613 * gst/parse/grammar.y:
18614 Remove handling of { } for threads.
18616 2005-12-06 David Schleef <ds@schleef.org>
18618 * libs/gst/base/gstbasetransform.c: speling fix.
18620 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18622 * docs/libs/tmpl/gstdataprotocol.sgml:
18623 * docs/random/omega/testing/gstobject.c:
18626 * gst/gstelement.c:
18627 * gst/gstelementfactory.c:
18630 * gst/gstghostpad.c:
18632 * gst/gstpadtemplate.c:
18633 * gst/gstregistryxml.c:
18634 * gst/gsttaglist.c:
18635 * gst/gsttagsetter.c:
18636 * gst/gsttypefind.c:
18638 * libs/gst/base/gstbasesrc.c:
18639 * libs/gst/net/gstnetclientclock.c:
18640 * libs/gst/net/gstnettimeprovider.c:
18641 * plugins/elements/gstfakesrc.c:
18642 * plugins/elements/gstfdsrc.c:
18643 * plugins/elements/gstfilesrc.c:
18644 * plugins/elements/gstidentity.c:
18645 * plugins/elements/gstqueue.c:
18646 * plugins/elements/gsttypefindelement.c:
18647 * plugins/indexers/gstfileindex.c:
18648 * plugins/indexers/gstmemindex.c:
18649 * tests/check/gst/gsttag.c:
18650 * tests/old/examples/cutter/cutter.c:
18651 * tests/old/examples/mixer/mixer.c:
18652 * tests/old/examples/xml/runxml.c: (main):
18653 * tests/old/testsuite/caps/normalisation.c:
18654 * tests/old/testsuite/debug/global.c:
18655 * tests/old/testsuite/parse/parse1.c:
18656 * tools/gst-xmlinspect.c:
18657 * win32/common/dirent.c:
18660 === release 0.10.0 ===
18662 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18665 releasing 0.10.0, "Maroilles"
18667 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18669 submitted by: Funda Wang <fundawang@linux.net.cn>
18673 added Chinese (Traditional) translation
18675 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18677 * docs/gst/gstreamer-sections.txt:
18678 * docs/libs/tmpl/gstdataprotocol.sgml:
18679 * docs/random/thomasvs/TODO:
18684 2005-12-05 Andy Wingo <wingo@pobox.com>
18686 patch by: Wim Taymans <wim@fluendo.com>
18688 * libs/gst/base/gstbasetransform.c
18689 (gst_base_transform_prepare_output_buf)
18690 (gst_base_transform_buffer_alloc):
18691 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18692 alloc_buffer_and_set_caps.
18694 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18695 set_caps on the source pad.
18696 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18697 alloc_buffer used to do. Fixes #322874.
18699 * docs/gst/gstreamer-sections.txt:
18700 * docs/design/part-negotiation.txt:
18701 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18704 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18706 patch by: Sebastien Moutte
18709 * win32/common/config.h.in:
18710 * win32/vs6/libgstcontroller.dsp:
18713 2005-12-05 Wim Taymans <wim@fluendo.com>
18715 * gst/gstcaps.c: (gst_caps_is_equal):
18716 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18717 (gst_fake_src_create):
18718 Back out previous code changes, leave doc updates, file bugs
18721 2005-12-05 Wim Taymans <wim@fluendo.com>
18723 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18724 (gst_fake_src_get_times), (gst_fake_src_create):
18725 * plugins/elements/gstfakesrc.h:
18726 Fix broken sync code.
18728 2005-12-05 Wim Taymans <wim@fluendo.com>
18730 * gst/gstcaps.c: (gst_caps_is_equal):
18731 Comparing NULL against !NULL yields different caps, not a
18734 2005-12-05 Wim Taymans <wim@fluendo.com>
18736 * gst/gstpipeline.c:
18737 Fix small typo in docs.
18739 2005-12-05 Andy Wingo <wingo@pobox.com>
18741 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18743 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18744 registries/plugins with a MAJORMINOR one.
18745 (plugin_desc): Rename library from gstcoreleements to
18746 staticelements. Fixes #323222.
18748 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18750 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18751 Change debug category to 'collectpads' from 'collect_pads'
18754 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18756 patch by: Sebastien Moutte
18758 * libs/gst/controller/gstinterpolation.c:
18759 use convert function for uint64/double
18760 * win32/vs6/libgstcontroller.dsp:
18763 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18765 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18766 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18768 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18769 add tests that seem to show that the guint64/gdouble conversions
18772 2005-12-02 Wim Taymans <wim@fluendo.com>
18774 * gst/gstregistry.c: (gst_registry_add_path):
18775 * gst/gstregistry.h:
18776 * gst/gstregistryxml.c:
18779 2005-12-02 Wim Taymans <wim@fluendo.com>
18781 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18782 (gst_util_uint64_scale_int):
18785 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18786 Add debug log line.
18788 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18791 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18794 * win32/common/config.h:
18795 * win32/vs6/gstreamer.dsw:
18796 * win32/vs6/libgstcoreelements.dsp:
18797 * win32/vs6/libgstelements.dsp:
18798 renamed core elements plugin
18800 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18802 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18804 do piece-wise major/minor comparison so 0.9 < 0.10
18805 also allow .exe extensions for tools
18807 2005-12-02 Michael Smith <msmith@fluendo.com>
18810 Escape a % to make gtkdoc happier; bug 322958.
18812 === release 0.9.7 ===
18814 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18817 releasing 0.9.7, "My Dog Has No Nose"
18819 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18821 * common/gst-xmlinspect.py:
18823 * docs/libs/tmpl/gstdataprotocol.sgml:
18824 * docs/random/release:
18843 * win32/common/config.h:
18844 * win32/common/config.h.in:
18845 * win32/vs6/gst_inspect.dsp:
18846 * win32/vs6/gst_launch.dsp:
18847 * win32/vs6/libgstbase.dsp:
18848 * win32/vs6/libgstelements.dsp:
18849 * win32/vs6/libgstreamer.dsp:
18850 * win32/vs7/GStreamer.vcproj:
18851 * win32/vs7/gst-inspect.vcproj:
18852 * win32/vs7/gst-launch.vcproj:
18853 * win32/vs7/libgstbase.vcproj:
18854 bump GST_MAJORMINOR to 0.10
18855 reset libtool version
18857 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18861 Added Bulgarian translation by (Alexander Shopov)
18863 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18865 * tests/check/gst/gstplugin.c:
18868 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18870 * common/gst-xmlinspect.py:
18871 * common/gtk-doc-plugins.mak:
18873 * docs/Makefile.am:
18874 * docs/gst/Makefile.am:
18875 * docs/gst/gstreamer-docs.sgml:
18876 * docs/gst/gstreamer-sections.txt:
18877 * docs/gst/gstreamer.types:
18878 * docs/gst/gstreamer.types.in:
18879 * docs/plugins/Makefile.am:
18880 * docs/plugins/gstreamer-plugins-docs.sgml:
18881 * docs/plugins/gstreamer-plugins-sections.txt:
18882 * docs/plugins/gstreamer-plugins.types:
18883 * docs/plugins/inspect.stamp:
18884 * docs/plugins/inspect/plugin-coreelements.xml:
18885 * docs/plugins/inspect/plugin-coreindexers.xml:
18886 * docs/plugins/scanobj-build.stamp:
18887 * gstreamer.spec.in:
18888 * plugins/elements/Makefile.am:
18889 * plugins/elements/gstelements.c:
18890 * plugins/elements/gstfakesink.c:
18891 * plugins/elements/gstfakesrc.c:
18892 * plugins/elements/gstfilesink.c:
18893 * plugins/elements/gstfilesrc.c:
18894 * plugins/elements/gstqueue.c:
18895 * plugins/indexers/Makefile.am:
18896 * plugins/indexers/gstindexers.c:
18897 document core plugins in a separate document just like all the
18899 rename these plugins to something starting with core
18901 2005-12-01 Andy Wingo <wingo@pobox.com>
18903 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18904 padding here before, but it missed the commit.
18906 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18908 * libs/gst/controller/gstinterpolation.c:
18909 whitespace prices have crashed, we should feel free to use some now
18910 use gst_guint64_to_gdouble
18912 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18914 * libs/gst/controller/gstcontroller.c:
18915 * libs/gst/controller/gsthelper.c:
18916 * libs/gst/controller/gstinterpolation.c:
18917 * libs/gst/controller/lib.c:
18918 wrap config.h include
18920 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18922 * docs/gst/gstreamer-sections.txt:
18925 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18927 * plugins/elements/gstelements.c:
18928 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18929 (gst_fd_sink__class_init), (gst_fd_sink__init),
18930 (gst_fd_sink__chain), (gst_fd_sink__set_property),
18931 (gst_fd_sink__get_property):
18932 * plugins/elements/gstfdsink.h:
18933 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18934 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18935 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18936 (gst_fd_src_unlock), (gst_fd_src_set_property),
18937 (gst_fd_src_get_property), (gst_fd_src_create),
18938 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18939 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18940 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18941 (gst_fd_src_uri_handler_init):
18942 * plugins/elements/gstfdsrc.h:
18943 * plugins/elements/gstqueue.c: (gst_queue_get_type):
18946 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18948 * docs/gst/Makefile.am:
18949 * docs/gst/gstreamer.types.in:
18953 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18959 * gst/gstregistry.h:
18960 * tests/benchmarks/complexity.c:
18961 * tests/benchmarks/mass-elements.c:
18962 * tests/check/Makefile.am:
18963 * tools/Makefile.am:
18964 * tools/gst-inspect.c:
18965 * tools/gst-xmlinspect.c:
18966 various fixes to make
18967 --disable-nls --disable-registry --disable-loadsave
18968 --disable-parse --disable-gst-debug
18969 work and get the core .so down to 360444 bytes after stripping
18971 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18976 * docs/random/thomasvs/TODO:
18977 * tests/Makefile.am:
18981 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18983 * win32/GStreamer.vcproj:
18986 * win32/Makefile.inspect:
18987 * win32/Makefile.launch:
18988 * win32/Makefile.register:
18989 * win32/README.txt:
18990 * win32/gst-inspect.vcproj:
18991 * win32/gst-launch.vcproj:
18992 * win32/gst-register.vcproj:
18993 * win32/gstelements.vcproj:
18994 * win32/gstgetbits.def:
18995 * win32/gstgetbits.vcproj:
18996 * win32/gstreamer-dbg.def:
18997 * win32/gstreamer.def:
18998 * win32/libgstbase.def:
18999 * win32/libgstbase.vcproj:
19000 * win32/link_oldruntime.c:
19004 * win32/msvc71.sln:
19005 move even more stuff, win32/ is nice and clean now
19007 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19009 * libs/gst/control/.cvsignore:
19014 * win32/gstbytestream.def:
19015 * win32/gstbytestream.vcproj:
19016 * win32/gstconfig.h:
19017 * win32/gstenumtypes.c:
19018 * win32/gstenumtypes.h:
19019 * win32/gstoptimalscheduler.vcproj:
19020 * win32/gstversion.h:
19022 * win32/testsuite/bins.vcproj:
19023 * win32/testsuite/bytestream.vcproj:
19024 * win32/testsuite/caps.vcproj:
19025 * win32/testsuite/cleanup.vcproj:
19026 * win32/testsuite/clock.vcproj:
19027 * win32/testsuite/debug.vcproj:
19028 * win32/testsuite/dlopen.vcproj:
19029 * win32/testsuite/dynparams.vcproj:
19030 * win32/testsuite/elements.vcproj:
19031 * win32/testsuite/ghostpads.vcproj:
19032 * win32/testsuite/indexers.vcproj:
19033 * win32/testsuite/negotiation.vcproj:
19034 * win32/testsuite/parse.vcproj:
19035 * win32/testsuite/plugin.vcproj:
19036 * win32/testsuite/refcounting.vcproj:
19037 * win32/testsuite/schedulers.vcproj:
19038 * win32/testsuite/states.vcproj:
19039 * win32/testsuite/tags.vcproj:
19040 * win32/testsuite/threads.vcproj:
19041 remove old win32 stuff that isn't maintained and should be
19044 2005-11-30 Andy Wingo <wingo@pobox.com>
19046 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19047 loading the gst.interfaces python module bork.
19049 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19050 available since GLib 2.2. Fixes #318031.
19052 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19055 * check/.cvsignore:
19056 * check/Makefile.am:
19057 * check/elements/.cvsignore:
19058 * check/elements/fakesrc.c:
19059 * check/elements/fdsrc.c:
19060 * check/elements/identity.c:
19061 * check/generic/.cvsignore:
19062 * check/generic/states.c:
19063 * check/gst-libs/.cvsignore:
19064 * check/gst-libs/controller.c:
19065 * check/gst-libs/gdp.c:
19066 * check/gst/.cvsignore:
19067 * check/gst/capslist.h:
19069 * check/gst/gstbin.c:
19070 * check/gst/gstbuffer.c:
19071 * check/gst/gstbus.c:
19072 * check/gst/gstcaps.c:
19073 * check/gst/gstelement.c:
19074 * check/gst/gstevent.c:
19075 * check/gst/gstghostpad.c:
19076 * check/gst/gstiterator.c:
19077 * check/gst/gstmessage.c:
19078 * check/gst/gstminiobject.c:
19079 * check/gst/gstobject.c:
19080 * check/gst/gstpad.c:
19081 * check/gst/gstpipeline.c:
19082 * check/gst/gstplugin.c:
19083 * check/gst/gstsegment.c:
19084 * check/gst/gststructure.c:
19085 * check/gst/gstsystemclock.c:
19086 * check/gst/gsttag.c:
19087 * check/gst/gstutils.c:
19088 * check/gst/gstvalue.c:
19089 * check/net/.cvsignore:
19090 * check/net/gstnetclientclock.c:
19091 * check/net/gstnettimeprovider.c:
19092 * check/pipelines/.cvsignore:
19093 * check/pipelines/cleanup.c:
19094 * check/pipelines/simple_launch_lines.c:
19095 * check/pipelines/stress.c:
19096 * check/states/.cvsignore:
19097 * check/states/sinks.c:
19099 * examples/Makefile.am:
19100 * examples/appreader/.cvsignore:
19101 * examples/appreader/Makefile.am:
19102 * examples/appreader/appreader.c:
19103 * examples/controller/.cvsignore:
19104 * examples/controller/Makefile.am:
19105 * examples/controller/audio-example.c:
19106 * examples/cutter/.cvsignore:
19107 * examples/cutter/Makefile.am:
19108 * examples/cutter/cutter.c:
19109 * examples/cutter/cutter.h:
19110 * examples/events/Makefile.am:
19111 * examples/events/seek.c:
19112 * examples/helloworld/.cvsignore:
19113 * examples/helloworld/Makefile.am:
19114 * examples/helloworld/helloworld.c:
19115 * examples/helloworld2/.cvsignore:
19116 * examples/helloworld2/Makefile.am:
19117 * examples/helloworld2/helloworld2.c:
19118 * examples/launch/.cvsignore:
19119 * examples/launch/Makefile.am:
19120 * examples/launch/mp3parselaunch.c:
19121 * examples/launch/mp3play:
19122 * examples/manual/.cvsignore:
19123 * examples/manual/Makefile.am:
19124 * examples/manual/extract.pl:
19125 * examples/metadata/Makefile.am:
19126 * examples/metadata/read-metadata.c:
19127 * examples/mixer/.cvsignore:
19128 * examples/mixer/Makefile.am:
19129 * examples/mixer/mixer.c:
19130 * examples/mixer/mixer.h:
19131 * examples/pingpong/.cvsignore:
19132 * examples/pingpong/Makefile.am:
19133 * examples/pingpong/pingpong.c:
19134 * examples/plugins/.cvsignore:
19135 * examples/plugins/Makefile.am:
19136 * examples/plugins/example.c:
19137 * examples/plugins/example.h:
19138 * examples/pwg/.cvsignore:
19139 * examples/pwg/Makefile.am:
19140 * examples/pwg/extract.pl:
19141 * examples/queue/.cvsignore:
19142 * examples/queue/Makefile.am:
19143 * examples/queue/queue.c:
19144 * examples/queue2/.cvsignore:
19145 * examples/queue2/Makefile.am:
19146 * examples/queue2/queue2.c:
19147 * examples/queue3/.cvsignore:
19148 * examples/queue3/Makefile.am:
19149 * examples/queue3/queue3.c:
19150 * examples/queue4/.cvsignore:
19151 * examples/queue4/Makefile.am:
19152 * examples/queue4/queue4.c:
19153 * examples/retag/.cvsignore:
19154 * examples/retag/Makefile.am:
19155 * examples/retag/retag.c:
19156 * examples/retag/transcode.c:
19157 * examples/thread/.cvsignore:
19158 * examples/thread/Makefile.am:
19159 * examples/thread/thread.c:
19160 * examples/typefind/.cvsignore:
19161 * examples/typefind/Makefile.am:
19162 * examples/typefind/typefind.c:
19163 * examples/xml/.cvsignore:
19164 * examples/xml/Makefile.am:
19165 * examples/xml/createxml.c:
19166 * examples/xml/runxml.c:
19167 * tests/Makefile.am:
19168 * tests/check/Makefile.am:
19169 * testsuite/.cvsignore:
19170 * testsuite/Makefile.am:
19172 * testsuite/caps/.cvsignore:
19173 * testsuite/caps/Makefile.am:
19174 * testsuite/caps/app_fixate.c:
19175 * testsuite/caps/audioscale.c:
19176 * testsuite/caps/caps.c:
19177 * testsuite/caps/caps.h:
19178 * testsuite/caps/caps_strings:
19179 * testsuite/caps/compatibility.c:
19180 * testsuite/caps/deserialize.c:
19181 * testsuite/caps/enumcaps.c:
19182 * testsuite/caps/eratosthenes.c:
19183 * testsuite/caps/filtercaps.c:
19184 * testsuite/caps/fixed.c:
19185 * testsuite/caps/fraction-convert.c:
19186 * testsuite/caps/fraction-multiply-and-zero.c:
19187 * testsuite/caps/intersect2.c:
19188 * testsuite/caps/intersection.c:
19189 * testsuite/caps/normalisation.c:
19190 * testsuite/caps/random.c:
19191 * testsuite/caps/renegotiate.c:
19192 * testsuite/caps/sets.c:
19193 * testsuite/caps/simplify.c:
19194 * testsuite/caps/string-conversions.c:
19195 * testsuite/caps/structure.c:
19196 * testsuite/caps/subtract.c:
19197 * testsuite/caps/union.c:
19198 * testsuite/debug/.cvsignore:
19199 * testsuite/debug/Makefile.am:
19200 * testsuite/debug/category.c:
19201 * testsuite/debug/commandline.c:
19202 * testsuite/debug/global.c:
19203 * testsuite/debug/output.c:
19204 * testsuite/debug/printf_extension.c:
19205 * testsuite/dlopen/.cvsignore:
19206 * testsuite/dlopen/Makefile.am:
19207 * testsuite/dlopen/dlopen_gst.c:
19208 * testsuite/dlopen/loadgst.c:
19209 * testsuite/elements/.cvsignore:
19210 * testsuite/elements/Makefile.am:
19211 * testsuite/elements/gst-inspect-check.in:
19212 * testsuite/elements/struct_i386.h:
19213 * testsuite/elements/struct_size.c:
19214 * testsuite/indexers/.cvsignore:
19215 * testsuite/indexers/Makefile.am:
19216 * testsuite/indexers/cache1.c:
19217 * testsuite/indexers/indexdump.c:
19218 * testsuite/parse/.cvsignore:
19219 * testsuite/parse/Makefile.am:
19220 * testsuite/parse/parse1.c:
19221 * testsuite/parse/parse2.c:
19222 * testsuite/plugin/.cvsignore:
19223 * testsuite/plugin/Makefile.am:
19224 * testsuite/plugin/README:
19225 * testsuite/plugin/dynamic.c:
19226 * testsuite/plugin/linked.c:
19227 * testsuite/plugin/loading.c:
19228 * testsuite/plugin/registry.c:
19229 * testsuite/plugin/static.c:
19230 * testsuite/plugin/static2.c:
19231 * testsuite/plugin/testplugin.c:
19232 * testsuite/plugin/testplugin2.c:
19233 * testsuite/plugin/testplugin2_s.c:
19234 * testsuite/plugin/testplugin_s.c:
19235 * testsuite/refcounting/.cvsignore:
19236 * testsuite/refcounting/Makefile.am:
19237 * testsuite/refcounting/bin.c:
19238 * testsuite/refcounting/element.c:
19239 * testsuite/refcounting/element_pad.c:
19240 * testsuite/refcounting/mainloop.c:
19241 * testsuite/refcounting/mem.c:
19242 * testsuite/refcounting/mem.h:
19243 * testsuite/refcounting/object.c:
19244 * testsuite/refcounting/pad.c:
19245 * testsuite/refcounting/sched.c:
19246 * testsuite/refcounting/thread.c:
19247 * testsuite/states/.cvsignore:
19248 * testsuite/states/Makefile.am:
19249 * testsuite/states/bin.c:
19250 * testsuite/states/locked.c:
19251 * testsuite/states/parent.c:
19252 * testsuite/threads/.cvsignore:
19253 * testsuite/threads/159566.c:
19254 * testsuite/threads/159852.c:
19255 * testsuite/threads/Makefile.am:
19256 * testsuite/threads/queue.c:
19257 * testsuite/threads/signals.c:
19258 * testsuite/threads/staticrec.c:
19259 * testsuite/threads/thread.c:
19260 * testsuite/threads/threadb.c:
19261 * testsuite/threads/threadc.c:
19262 * testsuite/threads/threadd.c:
19263 * testsuite/threads/threade.c:
19264 * testsuite/threads/threadf.c:
19265 * testsuite/threads/threadg.c:
19266 * testsuite/threads/threadh.c:
19267 * testsuite/threads/threadi.c:
19268 move all of these under tests
19270 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19273 * tests/Makefile.am:
19276 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19278 * docs/gst/gstreamer-sections.txt:
19279 * tests/sched/.cvsignore:
19280 * tests/sched/Makefile.am:
19281 * tests/sched/cases/(fs-fs).xml:
19282 * tests/sched/cases/(fs-i-fs).xml:
19283 * tests/sched/cases/(fs-i-i-fs).xml:
19284 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19285 * tests/sched/dynamic-pipeline.c:
19286 * tests/sched/interrupt1.c:
19287 * tests/sched/interrupt2.c:
19288 * tests/sched/interrupt3.c:
19289 * tests/sched/runtestcases:
19290 * tests/sched/runxml.c:
19291 * tests/sched/sched-stress.c:
19292 * tests/sched/sort.c:
19293 * tests/sched/testcases:
19294 * tests/sched/testcases1.tc:
19295 * tests/seeking/.cvsignore:
19296 * tests/seeking/Makefile.am:
19297 * tests/seeking/seeking1.c:
19298 * tests/threadstate/.cvsignore:
19299 * tests/threadstate/Makefile.am:
19300 * tests/threadstate/test1.c:
19301 * tests/threadstate/test2.c:
19302 * tests/threadstate/threadstate1.c:
19303 * tests/threadstate/threadstate2.c:
19304 * tests/threadstate/threadstate3.c:
19305 * tests/threadstate/threadstate4.c:
19306 * tests/threadstate/threadstate5.c:
19307 remove obsolete tests
19309 * tests/bench-complexity.scm:
19310 * tests/bench-mass_elements.scm:
19311 * tests/complexity.c:
19312 * tests/complexity.gnuplot:
19313 * tests/instantiate/.cvsignore:
19314 * tests/instantiate/Makefile.am:
19315 * tests/instantiate/caps.c:
19316 * tests/mass_elements.c:
19317 * tests/network-clock-utils.scm:
19318 * tests/network-clock.scm:
19320 First pass at cleaning up tests/ dir before moving the rest
19321 Combined with CVS surgery
19323 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19326 queue has moved, update
19328 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19330 * docs/gst/gstreamer-sections.txt:
19331 remove double entries from the docs
19332 * gst/gst_private.h:
19333 * gst/gstinfo.c: (_gst_debug_init):
19334 remove the THREAD debug category
19338 * docs/gst/gstreamer.types:
19339 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19340 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19341 completely move queue and fix up debugging categories
19343 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19345 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19346 make initialization portable, using LL is not
19348 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19350 * win32/common/gstconfig.h:
19353 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19355 * win32/common/libgstreamer.def:
19356 rename symbols; sort base section
19358 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19360 * gst/gstclock.c: (do_linear_regression):
19361 remove crack non-portable handrolled DEBUG macro
19363 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19365 * docs/random/release:
19367 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19368 (gst_object_flags_get_type), (register_gst_bin_flags),
19369 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19370 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19371 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19372 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19373 (gst_caps_flags_get_type), (register_gst_clock_return),
19374 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19375 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19376 (gst_clock_flags_get_type), (register_gst_state),
19377 (gst_state_get_type), (register_gst_state_change_return),
19378 (gst_state_change_return_get_type), (register_gst_state_change),
19379 (gst_state_change_get_type), (register_gst_element_flags),
19380 (gst_element_flags_get_type), (register_gst_core_error),
19381 (gst_core_error_get_type), (register_gst_library_error),
19382 (gst_library_error_get_type), (register_gst_resource_error),
19383 (gst_resource_error_get_type), (register_gst_stream_error),
19384 (gst_stream_error_get_type), (register_gst_event_type_flags),
19385 (gst_event_type_flags_get_type), (register_gst_event_type),
19386 (gst_event_type_get_type), (register_gst_seek_type),
19387 (gst_seek_type_get_type), (register_gst_seek_flags),
19388 (gst_seek_flags_get_type), (register_gst_format),
19389 (gst_format_get_type), (register_gst_index_certainty),
19390 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19391 (gst_index_entry_type_get_type),
19392 (register_gst_index_lookup_method),
19393 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19394 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19395 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19396 (gst_index_flags_get_type), (register_gst_debug_level),
19397 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19398 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19399 (gst_iterator_result_get_type), (register_gst_iterator_item),
19400 (gst_iterator_item_get_type), (register_gst_message_type),
19401 (gst_message_type_get_type), (register_gst_mini_object_flags),
19402 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19403 (gst_pad_link_return_get_type), (register_gst_flow_return),
19404 (gst_flow_return_get_type), (register_gst_activate_mode),
19405 (gst_activate_mode_get_type), (register_gst_pad_direction),
19406 (gst_pad_direction_get_type), (register_gst_pad_flags),
19407 (gst_pad_flags_get_type), (register_gst_pad_presence),
19408 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19409 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19410 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19411 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19412 (gst_plugin_flags_get_type), (register_gst_rank),
19413 (gst_rank_get_type), (register_gst_query_type),
19414 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19415 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19416 (gst_tag_flag_get_type), (register_gst_task_state),
19417 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19418 (gst_alloc_trace_flags_get_type),
19419 (register_gst_type_find_probability),
19420 (gst_type_find_probability_get_type), (register_gst_uri_type),
19421 (gst_uri_type_get_type), (register_gst_parse_error),
19422 (gst_parse_error_get_type):
19423 * win32/common/gstenumtypes.h:
19424 * win32/common/gstversion.h:
19425 update visual studio generated files
19427 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19429 * win32/vs6/libgstbase.dsp:
19430 * win32/vs6/libgstelements.dsp:
19431 update project files for new locations
19433 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19438 reinstate and update
19443 * docs/random/LICENSE:
19446 2005-11-30 Edward Hervey <edward@fluendo.com>
19448 * gst/gsttypefind.c: (gst_type_find_register):
19449 * gst/gsttypefind.h:
19450 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19451 (gst_type_find_factory_dispose):
19452 * gst/gsttypefindfactory.h:
19453 Fix memory leak in GstTypeFindFactory.
19455 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19458 * plugins/elements/Makefile.am:
19459 * plugins/elements/gstelements.c:
19460 * plugins/elements/gstqueue.c:
19461 move queue from core to the elements plugin
19463 2005-11-29 Andy Wingo <wingo@pobox.com>
19465 * libs/gst/base/gstbasetransform.h:
19466 * libs/gst/base/gstbasesrc.h:
19467 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19469 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19470 of pointers by which to pad very extensible base classes (like the
19471 ones in libs/gst/base).
19473 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19475 * docs/gst/gstreamer-docs.sgml:
19476 * docs/gst/gstreamer-sections.txt:
19477 * docs/libs/gstreamer-libs-docs.sgml:
19478 * docs/libs/gstreamer-libs-sections.txt:
19479 moving documentation from core to lib
19481 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19483 * check/Makefile.am:
19485 * docs/gst/Makefile.am:
19487 * gst/base/.cvsignore:
19488 * gst/base/Makefile.am:
19490 * gst/base/gstadapter.c:
19491 * gst/base/gstadapter.h:
19492 * gst/base/gstbasesink.c:
19493 * gst/base/gstbasesink.h:
19494 * gst/base/gstbasesrc.c:
19495 * gst/base/gstbasesrc.h:
19496 * gst/base/gstbasetransform.c:
19497 * gst/base/gstbasetransform.h:
19498 * gst/base/gstcollectpads.c:
19499 * gst/base/gstcollectpads.h:
19500 * gst/base/gstpushsrc.c:
19501 * gst/base/gstpushsrc.h:
19502 * gst/base/gsttypefindhelper.c:
19503 * gst/base/gsttypefindhelper.h:
19504 * gst/check/Makefile.am:
19505 * gst/check/gstcheck.c:
19506 * gst/check/gstcheck.h:
19507 * gst/net/Makefile.am:
19508 * gst/net/gstnet.h:
19509 * gst/net/gstnetclientclock.c:
19510 * gst/net/gstnetclientclock.h:
19511 * gst/net/gstnettimepacket.c:
19512 * gst/net/gstnettimepacket.h:
19513 * gst/net/gstnettimeprovider.c:
19514 * gst/net/gstnettimeprovider.h:
19515 * libs/gst/Makefile.am:
19516 * libs/gst/base/Makefile.am:
19517 * libs/gst/base/gstbasetransform.c:
19518 * libs/gst/check/Makefile.am:
19519 * plugins/elements/Makefile.am:
19521 CVS surgery + support to move base, check, and net out of gst
19524 2005-11-29 Andy Wingo <wingo@pobox.com>
19526 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19528 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19531 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19533 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19535 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19537 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19538 padding; reduces object size by about 30%. We don't expect
19539 anything else to go into gstobject.
19541 * gst/gstminiobject.h (struct _GstMiniObject)
19542 (struct _GstMiniObjectClass): Only one pointer of padding; the
19543 payload is only a pointer and two ints anyway. For the class there
19544 are only two methods as well.
19546 * gst/gstelement.h (struct _GstElementClass): Removed
19547 the state_changed signal callback, it is not used.
19549 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19551 * docs/gst/gstreamer.types:
19552 fix includes, though they are a little dinky
19554 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19556 * check/Makefile.am:
19557 look in the right place for elements, a lot more chance of
19560 remove indexers and elements subdirs
19561 * plugins/Makefile.am:
19562 make indexers conditional
19564 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19568 * plugins/elements/Makefile.am:
19569 * plugins/elements/gstcapsfilter.c:
19570 * plugins/elements/gstfilesink.c:
19571 * plugins/elements/gstfilesrc.c:
19572 * plugins/elements/gstidentity.c:
19573 * plugins/indexers/Makefile.am:
19574 do CVS surgery and related build fixery to move elements
19575 and indexers in a new gstreamer/plugins directory, out of the
19578 2005-11-29 Andy Wingo <wingo@pobox.com>
19580 * check/Makefile.am:
19581 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19582 * pkgconfig/gstreamer-net.pc.in:
19583 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19586 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19588 * tools/Makefile.am:
19589 * tools/gst-complete.1.in:
19590 * tools/gst-complete.c:
19591 * tools/gst-compprep.1.in:
19592 * tools/gst-compprep.c:
19593 removing -compprep and -complete
19595 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19597 * gst/gstevent.c: (gst_event_new_new_segment),
19598 (gst_event_parse_new_segment):
19600 fix #320529 - clean up new_segment API and structure.
19601 Let's hope everyone was using the methods, and not the structure.
19603 2005-11-29 Edward Hervey <edward@fluendo.com>
19605 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19606 (gst_base_sink_event), (gst_base_sink_do_sync),
19607 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19608 Properly handle non GST_FORMAT_TIME segment
19609 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19610 Properly handle non GST_FORMAT_TIME segment
19611 * gst/gstsegment.c:
19612 This function is valid if the accumulator is 0 and the format
19613 is different from the requested format.
19615 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19617 * docs/gst/gstreamer-sections.txt:
19618 Add gst_query_new_seeking and gst_query_parse_seeking to the
19621 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19623 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19624 Treat a pad alloc with new caps the same as if we were not
19625 negotiated, in order to allow a changing upstream output
19626 to produce a new format of data.
19628 2005-11-29 Edward Hervey <edward@fluendo.com>
19630 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19631 (gst_base_transform_event), (gst_base_transform_eventfunc):
19632 The event virtual method is now properly implemented, with a default
19634 Sub classes should call the parent_class event method. They should
19635 return FALSE if they had a problem handling the given event, or don't
19636 want GstBaseTransform to send that even downstream
19637 * gst/elements/gstidentity.c: (gst_identity_class_init),
19638 (gst_identity_init), (gst_identity_event),
19639 (gst_identity_transform_ip), (gst_identity_set_property),
19640 (gst_identity_get_property):
19641 * gst/elements/gstidentity.h:
19642 Added the single-segment boolean property.
19643 If set to TRUE, it will output a single segment of data, starting from
19644 0, will eat up all incoming newsegment, and modify the timestamp of the
19645 buffers accordingly
19647 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19649 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19650 Don't ref NULL target pad (#322751). Improve docs.
19652 2005-11-29 Michael Smith <msmith@fluendo.com>
19654 * gst/gstregistryxml.c: (load_plugin):
19655 Don't crash if we failed to load a feature from a plugin.
19657 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19659 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19661 use more check API and less GLib API
19663 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19666 don't run checks if we don't have check
19667 * common/check.mak:
19668 remove the registry when running make torture
19669 * docs/gst/gstreamer-sections.txt:
19670 remove second multiply
19671 * gst/gstqueue.c: (gst_queue_loop):
19672 fix a compile warning when disabling debug
19674 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19677 Hey! Let's print the pad name if the pointer != NULL instead
19678 of when it == NULL :-)
19680 2005-11-28 Wim Taymans <wim@fluendo.com>
19682 * check/gst/gstutils.c: (GST_START_TEST):
19683 Updated check, add some scaling accuracy checking code.
19685 * gst/gstutils.c: (gst_util_div128_64),
19686 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19687 (gst_util_uint64_scale_int):
19688 Fix 6 times faster division code. Optimize for common
19689 1/1 and less common X/1 cases.
19691 2005-11-28 Wim Taymans <wim@fluendo.com>
19693 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19696 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19697 (do_linear_regression), (gst_clock_add_observation):
19699 Release lock when the clock cannot be slaved.
19700 Catch the case where the regression returned an invalid denominator.
19702 * gst/gstutils.c: (gst_util_div128_64_iterate),
19703 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19704 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19705 Add protentially more performant non-iterative 128/64 divide function
19706 that unfortunatly does not work yet.
19707 Shortcut the trivial 0/X = 0 case.
19708 Remove the warnings on overflow.
19710 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19712 * gst/gstplugin.c: (gst_plugin_register_func):
19713 everything causing a plugin not to load should be at least a WARNING
19715 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19717 * docs/random/ensonic/dparams.txt:
19718 some TODOs for the next dev cycle
19719 * libs/gst/controller/gstcontroller.c:
19720 (gst_controlled_property_set_interpolation_mode),
19721 (gst_controlled_property_new):
19722 * libs/gst/controller/gstcontroller.h:
19723 use base type to assign acccessor functions
19725 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19727 * check/Makefile.am:
19728 Oops, that should have been top_srcdir
19730 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19732 * check/Makefile.am:
19733 * check/elements/fdsrc.c: (GST_START_TEST):
19734 Use a cmdline define to specify the location of a file to use for
19735 testing, to avoid breaking distcheck.
19737 2005-11-28 Andy Wingo <wingo@pobox.com>
19739 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19741 2005-11-28 Edward Hervey <edward@fluendo.com>
19743 * tools/gst-launch.c: (main):
19744 Clarify the output strings, makes it easier to translate.
19747 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19750 don't try and build net if we don't even have <sys/socket.h>
19752 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19754 * check/Makefile.am:
19755 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19756 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19757 Add tests for fdsrc seekability
19759 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19760 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19761 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19762 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19763 * gst/elements/gstfdsrc.h:
19764 fdsrc should not be a 'live' source.
19765 Implement seeking on seekable fd's.
19767 * gst/gstquery.c: (gst_query_new_seeking),
19768 (gst_query_parse_seeking):
19770 Implement SEEKING query functions:
19771 *_new_seeking and *_parse_seeking
19773 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19775 * gst/gstelement.c: (gst_element_dispose):
19778 * gst/gstiterator.c:
19779 * gst/gststructure.c:
19782 * libs/gst/controller/gstcontroller.c:
19783 (gst_controlled_property_set_interpolation_mode):
19784 * libs/gst/controller/gstcontroller.h:
19785 * libs/gst/controller/gstinterpolation.c:
19786 (interpolate_none_get_enum_value_array):
19787 support controlling enums
19789 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19792 Improve documentation for gst_value_union().
19795 Change return value for union, intersect and subtract functions
19796 from gint to gboolean.
19798 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19800 * gst/gstvalue.c: (gst_value_serialize_any_list),
19801 (gst_value_transform_any_list_string),
19802 (gst_value_deserialize_list), (gst_value_deserialize_array),
19803 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19804 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19805 (gst_value_set_fraction_range_full),
19806 (gst_value_deserialize_fraction_range),
19807 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19808 (gst_value_deserialize_boolean),
19809 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19810 (gst_value_serialize_float), (gst_value_deserialize_float),
19811 (gst_string_wrap), (gst_value_deserialize_string),
19812 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19813 (gst_value_union_int_range_int_range),
19814 (gst_value_intersect_int_range_int_range),
19815 (gst_value_intersect_double_range_double_range),
19816 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19817 (gst_value_subtract_int_range_int_range),
19818 (gst_value_subtract_double_double_range),
19819 (gst_value_subtract_double_range_double_range),
19820 (gst_value_deserialize_fraction):
19822 Use gint, gdouble and gchar in our API instead of int, double and
19823 char (and make usage in gstvalue.c more consistent).
19825 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19827 * check/Makefile.am:
19828 * libs/gst/controller/Makefile.am:
19829 * libs/gst/dataprotocol/Makefile.am:
19830 fix up Makefile.am and remove GST_ENABLE_NEW
19832 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19836 * gst/base/Makefile.am:
19837 * gst/check/Makefile.am:
19838 * gst/elements/Makefile.am:
19839 * gst/net/Makefile.am:
19840 update LDFLAGS use some more
19842 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19844 * common/m4/gst-doc.m4:
19847 2005-11-26 Edward Hervey <edward@fluendo.com>
19849 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19850 This shouldn't issue a g_warning since it returns NULL if it
19851 couldn't find the plugin, and all functions using this behave
19852 properly on a NULL return. Switching to a GST_WARNING.
19854 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19856 * gst/gstbin.c: (gst_bin_handle_message_func):
19857 Don't leak clock messages.
19859 2005-11-25 Wim Taymans <wim@fluendo.com>
19861 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19862 (gst_util_uint64_scale_int):
19863 Optimisations, remove unneeded vars.
19865 2005-11-25 Wim Taymans <wim@fluendo.com>
19867 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19868 Added more checks for the high precision uint64 cases.
19870 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19871 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19872 Implement high precision (guint64 * guint64) / guint64.
19874 2005-11-24 Wim Taymans <wim@fluendo.com>
19876 * gst/base/gstbasesrc.c: (gst_base_src_query):
19877 Fix wrong percentage query.
19879 * gst/gstutils.c: (gst_util_uint64_scale),
19880 (gst_util_uint64_scale_int):
19881 Add some more common cases that can be handled
19882 efficiently to _scale.
19884 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19886 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19887 (gst_mini_object_suite):
19888 don't use check calls from threads; check probably isn't
19889 threadsafe and using a lock to make it threadsafe would
19890 defeat the purpose of this check
19891 * gst/check/gstcheck.c:
19892 * gst/check/gstcheck.h:
19893 use GST_DEBUG some more
19895 2005-11-24 Wim Taymans <wim@fluendo.com>
19897 * gst/gstutils.c: (gst_util_uint64_scale),
19898 (gst_util_uint64_scale_int):
19899 Chain trivial case to _scale_int.
19901 2005-11-24 Wim Taymans <wim@fluendo.com>
19903 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19904 Added test for scaling.
19909 * gst/gstutils.c: (gst_util_uint64_scale_int):
19910 Implemented high precision scaling code.
19912 2005-11-24 Stefan Kost <ensonic@users.sf.net>
19915 do not crash on pad==NULL
19917 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19919 Patch by: Stefan Kost
19921 * common/gtk-doc.mak:
19922 * docs/gst/Makefile.am:
19923 * docs/libs/Makefile.am:
19924 Fix distcheck issues for the libraries docs build
19927 2005-11-24 Michael Smith <msmith@fluendo.com>
19929 * docs/manual/basics-helloworld.xml:
19930 Fix bug #315027: memory leak in example code in docs.
19932 2005-11-24 Michael Smith <msmith@fluendo.com>
19934 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19935 Unlock the PREROLL_LOCK in a failure case.
19937 2005-11-24 Wim Taymans <wim@fluendo.com>
19939 * docs/gst/gstreamer-sections.txt:
19940 * gst/base/gstadapter.h:
19941 * gst/base/gstbasesink.h:
19942 * gst/base/gstbasesrc.h:
19943 * gst/base/gstbasetransform.h:
19944 * gst/base/gstpushsrc.h:
19945 * gst/elements/gstfakesink.h:
19946 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19947 * gst/elements/gstfakesrc.h:
19948 * gst/elements/gstfilesink.h:
19949 * gst/elements/gstfilesrc.h:
19952 * gst/gstbuffer.c: (_gst_buffer_copy):
19955 * gst/gstchildproxy.c:
19957 * gst/gstelement.c:
19958 * gst/gstelementfactory.c:
19959 * gst/gstelementfactory.h:
19961 * gst/gstghostpad.h:
19963 * gst/gstinterface.h:
19964 * gst/gstminiobject.c:
19965 * gst/gstminiobject.h:
19968 * gst/gstpadtemplate.h:
19969 * gst/gstpipeline.h:
19970 * gst/gstpluginfeature.h:
19973 * gst/gsttaglist.c:
19974 * gst/gsttaglist.h:
19975 * gst/gsttagsetter.c:
19976 * gst/gsttagsetter.h:
19979 * gst/gsttypefind.h:
19982 * gst/net/gstnetclientclock.c:
19983 * gst/net/gstnetclientclock.h:
19984 * gst/net/gstnettimepacket.c:
19985 * gst/net/gstnettimeprovider.c:
19986 * gst/net/gstnettimeprovider.h:
19989 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19991 * configure.ac: back to HEAD
19993 === release 0.9.6 ===
19995 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19998 releasing 0.9.6, "Always On Time"
20000 2005-11-23 Wim Taymans <wim@fluendo.com>
20002 * docs/gst/gstreamer-sections.txt:
20003 * gst/glib-compat.c:
20004 * gst/gsttagsetter.c:
20006 * gst/net/gstnetclientclock.c:
20007 * gst/net/gstnettimepacket.h:
20010 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20012 * docs/faq/using.xml:
20013 * docs/libs/tmpl/gstcontrol.sgml:
20014 * docs/manual/advanced-dparams.xml:
20015 * docs/manual/appendix-checklist.xml:
20016 * docs/manual/basics-elements.xml:
20017 * docs/pwg/other-source.xml:
20018 * docs/random/moving-plugins:
20020 * tools/gst-launch.1.in:
20021 remove mentions of sinesrc
20023 2005-11-23 Michael Smith <msmith@fluendo.com>
20025 * docs/gst/gstreamer-sections.txt:
20026 Update for new API and API changes.
20028 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20030 Documentation typo fix.
20031 * gst/net/gstnettimepacket.c:
20032 Documentation fixes for arguments.
20034 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20036 * gst/gststructure.c: (gst_structure_get_fraction),
20037 (gst_structure_parse_value),
20038 (gst_structure_fixate_field_nearest_fraction):
20039 * gst/gststructure.h:
20040 * gst/gstutils.c: (gst_util_uint64_scale_int):
20042 * scripts/update-funcnames:
20044 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20045 Make gst_structure_fixate_field_nearest_fraction take a numerator
20046 and denominator argument instead of a GValue
20047 add gst_structure_get_fraction helper function.
20049 2005-11-23 Wim Taymans <wim@fluendo.com>
20051 * docs/design/part-TODO.txt:
20054 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20055 * gst/net/gstnetclientclock.h:
20056 Use parent fields for timeout and window_size.
20058 2005-11-23 Andy Wingo <wingo@pobox.com>
20060 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20061 rate_num/rate_denom change.
20063 * gst/net/gstnetclientclock.c
20064 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20065 OBJECT_LOCK. Don't call add_observation with the lock.
20067 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20069 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20071 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20072 deal with rate as a fraction whose numerator and denominator are
20073 GstClockTime values.
20074 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20075 master; the other fields are protected by the SLAVE_LOCK.
20076 (do_linear_regression): Note that this must be called with the
20078 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20079 OBJECT_LOCK. Call set_calibration instead of touching the
20080 variables directly.
20081 (gst_clock_set_property, gst_clock_get_property): Protect
20082 master/slave parameters with the SLAVE_LOCK.
20084 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20085 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20086 note that all of the instance variables that add_observation and
20087 the set_master functions use are protected by that lock and not
20089 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20091 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20092 the caller to take the object lock.
20094 2005-11-23 Wim Taymans <wim@fluendo.com>
20096 * gst/gsterror.c: (_gst_core_errors_init):
20098 Add error for clock stuff.
20100 * gst/gstpipeline.c: (gst_pipeline_change_state),
20101 (gst_pipeline_set_clock):
20102 Post clock error when clock cannot be used in a pipeline.
20104 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20106 * docs/gst/gstreamer-sections.txt:
20107 make two symbols from gstinfo private for the docs
20108 * gst/base/gstcollectpads.h:
20110 fix doc typos, update docs
20112 2005-11-22 Wim Taymans <wim@fluendo.com>
20114 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20115 (gst_base_sink_wait), (gst_base_sink_do_sync),
20116 (gst_base_sink_handle_event):
20117 * gst/base/gstbasesink.h:
20118 No need to store the clock, the parent element class already
20121 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20122 Updates for clock_set returning a gboolean
20124 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20125 (gst_clock_id_wait_async), (gst_clock_class_init),
20126 (gst_clock_init), (gst_clock_finalize),
20127 (gst_clock_get_internal_time), (gst_clock_get_time),
20128 (gst_clock_slave_callback), (gst_clock_set_master),
20129 (gst_clock_get_master), (do_linear_regression),
20130 (gst_clock_add_observation), (gst_clock_set_property),
20131 (gst_clock_get_property):
20133 Implement master/slave. When setting a clock as a slave, a
20134 periodic timeout is scheduled to sample master and slave times.
20135 Then the slave clock is recalibrated to match offset and rate
20136 of the master clock.
20137 Update logging a bit.
20138 Add flag so that a clock can state that is cannot be slaved to
20141 * gst/gstelement.c: (gst_element_set_clock):
20142 * gst/gstelement.h:
20143 The set clock returns a gboolean for when an element cannot
20144 deal with the selected clock in the pipeline.
20146 * gst/gstpipeline.c: (gst_pipeline_change_state),
20147 (gst_pipeline_set_clock):
20148 * gst/gstpipeline.h:
20149 Handle the case where the selected clock cannot be set on
20152 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20153 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20154 (gst_net_client_clock_set_property),
20155 (gst_net_client_clock_get_property),
20156 (gst_net_client_clock_observe_times):
20157 * gst/net/gstnetclientclock.h:
20158 Use regression code in GstClock parent, remove duplicated
20161 2005-11-22 Michael Smith <msmith@fluendo.com>
20163 * gst/gstutils.c: (gst_util_clock_time_scale):
20165 * docs/gst/gstreamer-sections.txt:
20166 Rename method to have extra underscore.
20168 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20170 * gst/elements/Makefile.am:
20171 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20172 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20173 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20174 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20175 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20176 * gst/elements/gstfakesrc.h:
20177 * gst/gstqueue.c: (queue_leaky_get_type):
20178 correctly fix GEnumValues so that nick is the short lowercase
20180 * tools/gst-inspect.c: (print_element_properties_info):
20181 also show the nick, since it's useful to use from parse_launch
20185 2005-11-22 Michael Smith <msmith@fluendo.com>
20187 * gst/gstutils.c: (gst_util_clocktime_scale):
20189 * docs/gst/gstreamer-sections.txt:
20190 Add util method for scaling a clocktime by a fraction. Useful
20191 implementation is left as an exercise for the reader.
20193 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20195 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20196 If needed, allocate storage in the destination value during
20199 2005-11-22 Edward Hervey <edward@fluendo.com>
20201 * docs/gst/gstreamer-sections.txt:
20204 * gst/gsturitype.c:
20205 * gst/gsturitype.h:
20206 * gst/gstutils.c: (gst_util_set_object_arg):
20207 * tools/gst-compprep.c: (main):
20208 * tools/gst-inspect.c: (print_element_properties_info):
20209 Removed GstURI, closes bug #321061
20211 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20213 * check/gst/gststructure.c: (GST_START_TEST):
20214 * gst/gststructure.c: (gst_structure_parse_value):
20215 Oops, broke automatic string type parsing.
20216 Add a test to catch it in future.
20218 2005-11-22 Andy Wingo <wingo@pobox.com>
20220 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20221 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20222 Actually rename the function implementations. Grr.
20224 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20226 * check/gst/capslist.h:
20228 * check/gst/gststructure.c: (GST_START_TEST),
20229 (gst_structure_suite):
20230 Test automatic value type detection in gst_structure_from_string.
20231 * gst/gststructure.c: (gst_structure_parse_value):
20232 Add fraction as a type we try and guess automatically in
20233 caps/structure strings.
20235 2005-11-22 Andy Wingo <wingo@pobox.com>
20237 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20239 * gst/gsttagsetter.h:
20240 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20241 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20242 (gst_tag_setter_add_tag_valist)
20243 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20244 _add_values, _add_valist, and _add_valist_values. Since this is an
20245 interface the function suffixes should be more explicit so
20246 language binding don't end up with element.add_valist ->
20247 gst_tag_setter_add_valist, for example. Fixes #322069.
20249 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20251 * check/gst/gstcaps.c: (GST_START_TEST):
20252 Extend caps string tests to check that a caps to string
20253 conversion is reversible and produces the same caps.
20255 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20256 Output "fraction" as the generic type fraction range, so caps
20257 serialisation and deserialisation works.
20258 * check/gst/capslist.h:
20259 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20260 Support 'MIN' and 'MAX' for deserialising fractions.
20262 2005-11-22 Andy Wingo <wingo@pobox.com>
20264 * gst/gstevent.h (gst_event_new_new_segment)
20265 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20266 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20267 Renamed from *_newsegment, *_buffersize, *_notarget.
20269 * scripts/update-funcnames: New script, performs the changes
20272 2005-11-22 Wim Taymans <wim@fluendo.com>
20274 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20275 Make sure the GstFlowReturn is returned.
20277 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20278 (gst_bus_add_signal_watch):
20280 add gst_bus_add_signal_watch_full.
20282 * gst/gstplugin.c: (gst_plugin_load_file):
20283 Small style cleanup.
20285 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20287 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20288 Block the fakesrc srcpad when we send an event, to avoid
20289 contention on the stream_lock causing random test failures.
20291 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20293 * check/gst/gstvalue.c: (GST_START_TEST):
20294 * gst/gstvalue.c: (gst_value_fraction_subtract):
20297 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20300 include "gstchildproxy.h"
20301 * gst/gstchildproxy.h:
20302 * libs/gst/controller/gstcontroller.h:
20303 use G_GNUC_NULL_TERMINATED
20305 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20307 * check/gst/capslist.h:
20308 * check/gst/gstcaps.c: (GST_START_TEST):
20309 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20310 * gst/gststructure.c: (gst_structure_parse_range),
20311 (gst_structure_fixate_field_nearest_fraction):
20312 * gst/gststructure.h:
20313 * gst/gstvalue.c: (gst_value_init_fraction_range),
20314 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20315 (gst_value_collect_fraction_range),
20316 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20317 (gst_value_set_fraction_range_full),
20318 (gst_value_get_fraction_range_min),
20319 (gst_value_get_fraction_range_max),
20320 (gst_value_serialize_fraction_range),
20321 (gst_value_transform_fraction_range_string),
20322 (gst_value_compare_fraction_range),
20323 (gst_value_deserialize_fraction_range),
20324 (gst_value_intersect_fraction_fraction_range),
20325 (gst_value_intersect_fraction_range_fraction_range),
20326 (gst_value_subtract_fraction_fraction_range),
20327 (gst_value_subtract_fraction_range_fraction),
20328 (gst_value_subtract_fraction_range_fraction_range),
20329 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20330 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20331 (gst_value_transform_string_fraction), (_gst_value_initialize):
20333 Implement fraction ranges and extend GstFraction to support
20334 arithmetic subtraction, as well as deserialization from integer
20335 strings such as "100"
20336 Add a testsuite as for int and double range set operations
20338 2005-11-21 Andy Wingo <wingo@pobox.com>
20340 * gst/gsttaglist.h:
20342 * gst/gststructure.h: Add glib-compat.h.
20344 2005-11-21 Wim Taymans <wim@fluendo.com>
20346 * gst/gstbin.c: (gst_bin_change_state_func):
20349 2005-11-21 Wim Taymans <wim@fluendo.com>
20351 * gst/gstsegment.h:
20352 And add a nice define too.
20354 2005-11-21 Wim Taymans <wim@fluendo.com>
20356 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20357 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20358 (gst_segment_set_duration), (gst_segment_set_last_stop),
20359 (gst_segment_set_seek), (gst_segment_set_newsegment),
20360 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20361 (gst_segment_clip):
20362 * gst/gstsegment.h:
20363 Make binding friendly.
20365 2005-11-21 Andy Wingo <wingo@pobox.com>
20367 * gst/gsttagsetter.h:
20368 * gst/gsttaglist.h:
20369 * gst/gststructure.h:
20371 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20374 * gst/gsterror.c (_gst_core_errors_init):
20375 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20378 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20379 (noinst_HEADERS): noinst the -private.
20381 2005-11-21 Michael Smith <msmith@fluendo.com>
20384 * gst/gstregistry.h:
20385 Remove unimplemented declarations for which we can see no sensible
20388 2005-11-21 Andy Wingo <wingo@pobox.com>
20390 * gst/gst.h: Include glib-compat.h.
20392 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20394 * gst/glib-compat.c: Include the public and the private header.
20396 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20400 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20402 * check/gst/gstevent.c (create_custom_events): Check that
20403 FLUSH_STOP is serialized.
20405 * check/elements/identity.c (event_func):
20406 * check/elements/fakesrc.c (event_func): No stream lock, the core
20409 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20410 stream lock taking, yay.
20412 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20413 ensure that core takes the stream lock.
20415 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20418 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20419 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20420 it already. For the flush start we do take it though so we get the
20421 right preroll state change messages.
20423 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20424 the stream lock here, the core does it for us.
20426 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20427 GST_STREAM_GET_LOCK.
20428 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20429 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20430 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20431 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20432 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20433 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20435 * gst/gstpad.c: Update for stream lock name change.
20437 * gst/base/gstbasesink.c: Update for preroll lock name change.
20439 2005-11-21 Wim Taymans <wim@fluendo.com>
20441 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20442 (gst_clock_get_master):
20444 * gst/gstsystemclock.c: (gst_system_clock_init):
20445 Convert Clock flags to object flags.
20446 Added methods to manage master/slave clocks.
20448 2005-11-21 Wim Taymans <wim@fluendo.com>
20450 * check/gst/gstsegment.c: (GST_START_TEST):
20451 * docs/design/part-TODO.txt:
20452 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20453 (gst_base_sink_event), (gst_base_sink_do_sync),
20454 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20455 (gst_base_sink_query), (gst_base_sink_change_state):
20456 * gst/base/gstbasesink.h:
20457 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20458 (gst_base_src_default_newsegment),
20459 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20460 (gst_base_src_get_range), (gst_base_src_loop),
20461 (gst_base_src_change_state):
20462 * gst/base/gstbasesrc.h:
20463 * gst/base/gstbasetransform.c:
20464 (gst_base_transform_prepare_output_buf),
20465 (gst_base_transform_event), (gst_base_transform_change_state):
20466 * gst/base/gstbasetransform.h:
20467 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20468 (gst_collect_pads_event):
20469 * gst/base/gstcollectpads.h:
20470 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20471 (gst_fake_src_create):
20472 * gst/elements/gstfakesrc.h:
20473 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20474 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20475 (gst_segment_set_last_stop), (gst_segment_set_seek),
20476 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20477 (gst_segment_to_running_time), (gst_segment_clip):
20478 * gst/gstsegment.h:
20479 More segment updates, replace code in plugins with segment
20482 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20484 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20485 Don't ignore sscanf results
20487 2005-11-21 Andy Wingo <wingo@pobox.com>
20489 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20492 * *.c: Ran scripts/update-macros. Oh yes.
20494 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20495 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20498 * scripts/update-macros: New script. Run it on your files to
20499 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20502 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20504 * docs/gst/Makefile.am:
20505 * docs/gst/gstreamer-docs.sgml:
20506 * docs/gst/gstreamer-sections.txt:
20507 * docs/gst/gstreamer.types:
20509 more docs fixes, add new api to the docs
20511 2005-11-21 Andy Wingo <wingo@pobox.com>
20513 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20514 state_broadcast call.
20516 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20518 2005-11-21 Julien MOUTTE <julien@moutte.net>
20520 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20521 function calls for arrays.
20523 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20525 * docs/random/ensonic/media-device-daemon.txt:
20526 wild idea, can this be done?
20527 * docs/gst/gstreamer-sections.txt:
20532 * gst/gstpluginfeature.c:
20536 doc fixes and additions
20538 2005-11-21 Andy Wingo <wingo@pobox.com>
20540 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20541 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20542 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20543 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20544 private to the basesrc implementation.
20546 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20547 behalf of event function if necessary. It should no longer be
20548 necessary to take the stream lock in pad's event functions. Fixes
20551 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20552 * docs/gst/gstreamer-sections.txt:
20553 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20554 (gst_structure_fixate_field_nearest_double),
20555 (gst_structure_fixate_field_boolean):
20556 * gst/gststructure.h:
20557 * win32/common/libgstreamer.def:
20558 * win32/gstreamer.def:
20560 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20563 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20565 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20566 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20567 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20568 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20569 (gst_fdsrc_uri_handler_init):
20570 * gst/elements/gstfdsrc.h:
20571 Port fd:// URI handler from 0.8 to fdsrc
20573 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20575 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20576 (gst_value_serialize_fourcc):
20578 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20579 consistent with our other format defines (#320324).
20581 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20583 * gst/gstvalue.c: (gst_value_is_fixed):
20584 Revert previous commit. Value lists are by definition
20585 not fixed, as they are a list of possible values.
20587 2005-11-21 Andy Wingo <wingo@pobox.com>
20589 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20590 during the stable series if we need it. Fixes #319178.
20592 * gst/gstevent.c (gst_event_new_filler): Removed.
20594 * check/gst/gstevent.c: Update comment about filler events.
20596 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20598 * gst/gstvalue.c: (gst_value_is_fixed):
20599 Should handle both value arrays and value lists.
20601 2005-11-21 Andy Wingo <wingo@pobox.com>
20603 patch by: Alessandro Dessina <alessandro nnva org>
20605 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20606 functions to access arrays. Fixes #321962.
20608 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20610 * docs/gst/gstreamer.types:
20611 gst_collectpads_get_type => gst_collect_pads_get_type.
20613 * gst/base/gstbasetransform.c:
20614 Remove unused SIGNAL_HANDOFF enum.
20616 2005-11-21 Andy Wingo <wingo@pobox.com>
20618 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20619 the event type (upstream, downstream, serialized). Renamed
20620 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20621 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20622 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20624 * gst/gstevent.c: Update for new CUSTOM event names.
20626 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20629 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20632 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20634 * docs/gst/gstreamer-sections.txt:
20635 * win32/common/libgstbase.def:
20636 * win32/libgstbase.def:
20637 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20638 (gst_collect_pads_class_init), (gst_collect_pads_init),
20639 (gst_collect_pads_finalize), (gst_collect_pads_new),
20640 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20641 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20642 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20643 (gst_collect_pads_start), (gst_collect_pads_stop),
20644 (gst_collect_pads_peek), (gst_collect_pads_pop),
20645 (gst_collect_pads_available), (gst_collect_pads_read),
20646 (gst_collect_pads_flush), (gst_collect_pads_event),
20647 (gst_collect_pads_chain):
20648 * gst/base/gstcollectpads.h:
20649 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20650 unimplemented functions as unimplemented. Add padding to
20651 GstCollectData. (#320766, #320423)
20653 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20655 * gst/gstmessage.c:
20656 Improve docs for DURATION message (usage of duration parameter)
20659 2005-11-20 Wim Taymans <wim@fluendo.com>
20661 * check/Makefile.am:
20662 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20666 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20667 (gst_segment_set_seek), (gst_segment_set_newsegment),
20668 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20669 (gst_segment_clip):
20670 * gst/gstsegment.h:
20671 Added segment helper structure and methods. Not fully implemented
20673 Added segment check.
20675 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20677 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20678 Add a deserialisation test for fractions
20679 * examples/metadata/read-metadata.c: (message_loop),
20680 (make_pipeline), (main):
20681 Fix up metadata reading sample.
20682 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20684 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20685 Don't try and fixate empty caps
20686 * gst/gst_private.h:
20687 Wrap in G_BEGIN_DECLS/G_END_DECLS
20688 * gst/gstvalue.c: (gst_value_collect_fraction),
20689 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20690 (gst_value_transform_string_fraction),
20691 (gst_value_compare_fraction):
20692 Add some extra guards to ensure that we don't end up
20693 with an invalid denominator of 0 in a gstfraction and
20694 that fractions always get reduced.
20696 2005-11-20 Wim Taymans <wim@fluendo.com>
20698 * docs/gst/gstreamer-sections.txt:
20700 * gst/gstelement.c:
20709 2005-11-20 Wim Taymans <wim@fluendo.com>
20711 * docs/design/part-TODO.txt:
20713 Make a proper enum of the flag.
20715 2005-11-19 Wim Taymans <wim@fluendo.com>
20717 * docs/design/part-TODO.txt:
20718 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20719 (gst_format_to_quark), (gst_format_register):
20721 * gst/gstquery.c: (_gst_query_initialize),
20722 (gst_query_type_get_name), (gst_query_type_to_quark),
20723 (gst_query_type_register):
20725 Add type to quark and type to string conversions.
20727 2005-11-19 Andy Wingo <wingo@pobox.com>
20729 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20732 2005-11-19 Wim Taymans <wim@fluendo.com>
20734 * docs/design/part-TODO.txt:
20735 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20736 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20737 (gst_bin_handle_message_func):
20739 Make message handling overridable.
20741 2005-11-19 Andy Wingo <wingo@pobox.com>
20743 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20746 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20748 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20749 is a GstClockTime. Fixes #321710.
20751 * gst/gstclock.h (GstClock): Remove offset property. Add
20752 internal_calibration and external_calibration. Fix padding. Pad
20753 also by GstClockTime so we don't run into problems.
20755 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20756 (gst_clock_get_rate_offset): Remove.
20757 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20760 * gst/gstutils.c (g_static_rec_cond_wait)
20761 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20763 * gst/gstbin.c: Remove terrible continue_state prototype.
20765 * gst/gstelement.h (gst_element_continue_state): Make public.
20767 * gst/gstelement.h:
20768 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20769 by continue_state. Fixes #319389.
20771 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20772 Really fixes #168438. However I don't see anywhere where the
20773 filter function is called... stupid GStreamer...
20775 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20776 don't have a dispose function, so it won't get called when the
20777 object is unreffed, but oh well!
20779 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20780 allows a destroy function to be set so user_data can be freed.
20782 (gst_index_set_filter): Call gst_index_set_filter_full.
20784 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20786 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20787 string should produce an error, given the lack of a way to
20788 represent NULL strings. Fixes #165650.
20791 * gst/gstvalue.c (gst_value_array_append_value)
20792 (gst_value_array_prepend_value, gst_value_array_get_size)
20793 (gst_value_array_get_value): New API, copied from
20794 gst_value_list_*, only operates on arrays.
20795 (gst_value_list_append_value, gst_value_list_prepend_value)
20796 (gst_value_list_concat, gst_value_list_get_size)
20797 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20799 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20800 init_list, because it works on both.
20801 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20802 (gst_value_copy_list_or_array): Renamed from copy_list.
20803 (gst_value_free_list_or_array): Renamed from free_list.
20804 (gst_value_collect_list_or_array): Renamed from collect_list.
20805 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20806 (gst_value_list_or_array_peek_pointer): Renamed from
20808 (_gst_value_array_value_table, _gst_value_list_value_table):
20809 Update value table functions.
20810 (gst_value_compare_list_or_array): Renamed from compare_list.
20812 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20815 * gst/gsttaglist.c:
20816 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20817 GstTagList*. Fixes #143472.
20819 * gst/gststructure.h: Clarify what the foreach/map functions can
20820 or can't do to their arguments.
20822 2005-11-18 Wim Taymans <wim@fluendo.com>
20824 * gst/gstclock.c: (gst_clock_set_calibration),
20825 (gst_clock_get_calibration):
20827 Calibration can be set with internal time equal to current
20830 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20836 2005-11-18 Andy Wingo <wingo@pobox.com>
20839 * pkgconfig/gstreamer-net.pc.in:
20840 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20841 * pkgconfig/Makefile.am: Add net pkgconfig files.
20843 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20846 * gst/gstghostpad.c:
20852 2005-11-18 Andy Wingo <wingo@pobox.com>
20854 * gst/net/gstnetclientclock.c: Turn off debugging.
20856 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20857 times connverge somewhat. Can't make a real test.
20859 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20860 integer arithmetic. Return the minimum of the domain, which can be
20861 set as "internal" for gst_clock_set_calibration.
20862 (gst_net_client_clock_observe_times): Call _set_calibration.
20863 (gst_net_client_clock_new): Call _set_calibration instead of
20866 * check/net/gstnetclientclock.c (test_functioning): Use the right
20870 * gst/gstclock.c (gst_clock_get_calibration)
20871 (gst_clock_set_calibration): New functions, obsolete the ones I
20872 added yesterday. Doh. Precision issues mean we have to extrapolate
20873 from a point in the more recent past than 1970.
20874 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20876 (gst_clock_adjust_unlocked): Use the right calibration data.
20878 2005-11-18 Edward Hervey <edward@fluendo.com>
20880 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20881 Also reset the ->current_* values in READY->PAUSED
20883 2005-11-18 Andy Wingo <wingo@pobox.com>
20885 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20886 Whoops, check the right fd. Also add some debugging.
20887 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20888 (do_linear_regression): Add a crapload of debugging. Subtract off
20889 the minimum values from the input series to discard unneeded bits.
20890 Use only int arithmetic. There is still double arithmetic when
20891 calculating the intercept that needs fixing. Return boolean to
20892 indicate success; FALSE would mean the domain or range is too
20893 great. Still needs fixes.
20895 2005-11-18 Wim Taymans <wim@fluendo.com>
20897 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20898 For the current position in stream time, we need to subtract
20901 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20902 Release lock before calling the callback function of async
20905 2005-11-18 Andy Wingo <wingo@pobox.com>
20907 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20908 Port goes all the way to MAXUINT16.
20910 * gst/net/gstnettimeprovider.c: Make the port range the same as
20911 for the kernel: 0 assigns, otherwise ports are less than
20914 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20917 * check/net/gstnetclientclock.c (test_functioning): Add the start
20920 2005-11-18 Wim Taymans <wim@fluendo.com>
20922 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20923 (gst_bin_remove_func), (bin_bus_handler):
20925 Removing a clock provider from a bin, triggers a clock lost message
20926 so that a new clock will be selected.
20927 Adding a clock to a bin triggers a clock provider message.
20928 Make sure we reselect a clock when we received a clock lost message.
20929 Keep a reference to the element that provided the clock.
20931 2005-11-18 Andy Wingo <wingo@pobox.com>
20933 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20934 the clock initially so it produces values around the base time.
20935 (gst_net_client_clock_class_init): Typo fix.
20936 (gst_net_client_clock_thread): Add note on when the socket gets
20939 2005-11-17 Wim Taymans <wim@fluendo.com>
20941 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20942 Free remote and local time arrays.
20944 2005-11-17 Wim Taymans <wim@fluendo.com>
20946 * gst/net/gstnetclientclock.c: (do_linear_regression),
20947 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20948 Fix compilation, uninitialized vars and a forgotten continue.
20950 2005-11-17 Andy Wingo <wingo@pobox.com>
20952 * check/Makefile.am (check_PROGRAMS):
20953 * check/net/gstnetclientclock.c: Add a most minimal test for the
20954 net client clock. More to come later.
20956 * gst/net/gstnet.h:
20957 * gst/net/Makefile.am: Add netclientclock.
20959 * gst/net/gstnetclientclock.h:
20960 * gst/net/gstnetclientclock.c: New files, implement an untested
20961 GstClock that takes its time from a network time provider.
20962 Implements the algorithm in network-clock.scm.
20964 * tests/network-clock.scm (*window-size*): Rename from
20966 * tests/network-clock.scm (network-time):
20967 * tests/network-clock-utils.scm (q-push): Update callers.
20969 2005-11-17 Wim Taymans <wim@fluendo.com>
20971 * gst/gstbin.c: (gst_bin_provide_clock_func),
20972 (gst_bin_sort_iterator_new):
20973 And unref the child too..
20975 2005-11-17 Wim Taymans <wim@fluendo.com>
20977 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20978 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20979 Refactor the sort iterator so it can be used while holding the
20981 Make clock selection select a clock closest to the source.
20983 2005-11-17 Michael Smith <msmith@fluendo.com>
20985 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20986 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20988 Anonymous structs are a gcc (and some other compilers) extension, so
20989 don't use them. Since this is only for ABI-compatibility, and our
20990 API/ABI freeze is over in a few days, this whole thing will only
20991 last a few days, so don't bother trying to think up a meaningful
20992 name for the struct.
20994 2005-11-17 Andy Wingo <wingo@pobox.com>
20996 * gst/gstclock.h (GstClock): Add rate and offset properties,
20997 preserving ABI stability. Add rate/offset accessors. Will file bug
20998 for the freeze break.
21000 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21001 and offset, trying to keep precision and avoiding
21002 underflow/overflow.
21003 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21004 functions. Make gst_clock_set_time_adjust obsolete.
21005 (gst_clock_set_time_adjust): Note that this function is obsolete.
21006 Will file bug soon.
21008 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21009 greppable by using GST_PADDING-1+1.
21011 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21013 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21015 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21016 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21018 * gst/gstpadtemplate.h:
21019 * gst/gstpluginfeature.h:
21020 Don't use c++ style comments in headers (#321638).
21022 2005-11-16 Andy Wingo <wingo@pobox.com>
21024 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21027 * check/net/gstnettimeprovider.c: Check to see that the time
21028 provider actually provides times. Works, yo!
21030 2005-11-16 Wim Taymans <wim@fluendo.com>
21032 * check/Makefile.am:
21035 * check/elements/fakesrc.c: (GST_START_TEST):
21036 Set element to NULL before disposing it.
21038 2005-11-16 Andy Wingo <wingo@pobox.com>
21040 * gst/net/Makefile.am:
21041 * gst/net/gstnet.h:
21042 * gst/net/gstnettimeprovider.c:
21043 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21044 provider, include it from gstnet.h, and add it to the build.
21046 * gst/net/gstnettimepacket.h:
21047 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21048 sending and receiving.
21050 2005-11-16 Wim Taymans <wim@fluendo.com>
21052 * check/Makefile.am:
21053 Enable valgrind check.
21055 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21056 (gst_fake_src_alloc_buffer):
21059 2005-11-16 Wim Taymans <wim@fluendo.com>
21061 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21062 Call parent finalize too.
21064 2005-11-16 Wim Taymans <wim@fluendo.com>
21066 * check/Makefile.am:
21067 Enable valgrind check that should work fine now.
21069 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21070 * gst/gstqueue.c: (gst_queue_init):
21071 Fix memleaks in pad allocation.
21073 2005-11-16 Andy Wingo <wingo@pobox.com>
21075 * gst/net/Makefile.am:
21076 * gst/net/gstnet.h: New part of core to hold network elements and
21077 objects. Put in core because it exposes API that applications want
21078 to use. The library is named libgstnet-tempname right now because
21079 of the existing libgstnet in gst-plugins-base. Solution is
21080 probably to rename the one in plugins-base; will file a bug for
21083 * gst/net/gstnettimeprovider.c:
21084 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21085 get_time call over the network.
21088 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21090 * check/Makefile.am:
21091 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21092 get additions shortly.
21094 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21096 * gst/gstpad.c: (gst_pad_new_from_static_template):
21098 add gst_pad_new_from_static_template functions
21099 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21100 (gst_check_setup_sink_pad):
21101 * gst/elements/gsttee.c: (gst_tee_init):
21104 2005-11-16 Wim Taymans <wim@fluendo.com>
21106 * gst/gstpad.c: (gst_pad_pause_task):
21107 Removed warning, it's not really an error either.
21109 2005-11-16 Wim Taymans <wim@fluendo.com>
21111 * gst/base/gstbasetransform.c:
21112 (gst_base_transform_prepare_output_buf),
21113 (gst_base_transform_event):
21114 Check if the caps are NULL, this can happen if the element
21115 is shutting down and the pad caps are set to NULL.
21117 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21119 * gst/elements/gsttee.c: (gst_tee_init):
21120 fix pad template leak in tee
21122 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21124 * gst/glib-compat.c: (g_value_dup_gst_object):
21125 * gst/glib-compat.h:
21126 * gst/gstpad.c: (gst_pad_set_property):
21127 use gst_object_ref when setting the pad template; this will
21128 trigger the pad template leaks on GLib 2.6 and the slaves
21130 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21132 * gst/glib-compat.c: (gst_flags_get_first_value):
21133 * gst/glib-compat.h:
21134 * gst/gstregistryxml.c:
21135 remove functions copied from GLib 2.6
21137 2005-11-16 Michael Smith <msmith@fluendo.com>
21140 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21141 do, but only breaks with newer valgrind versions. We're not a
21142 valgrind tool, we have no link-time dependencies on libcoregrind.
21144 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21146 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21148 * gst/gstmessage.h:
21151 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21153 * gst/base/gstbasesrc.c: (gst_base_src_init):
21154 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21155 * gst/gstqueue.c: (gst_queue_init):
21156 * gst/gstregistryxml.c: (load_feature):
21157 Revert all these unrefs, they don't even pass make check !
21159 2005-11-15 Johan Dahlin <johan@gnome.org>
21161 * gst/base/gstbasesrc.c: (gst_base_src_init):
21162 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21163 * gst/gstqueue.c: (gst_queue_init):
21164 Free pad templates, fixes a couple of leaks.
21166 2005-11-15 Daniel Fischer <dan at f3c dot com>
21168 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21170 * gst/gstpad.c: (gst_pad_get_property):
21171 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21172 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21175 2005-11-15 Wim Taymans <wim@fluendo.com>
21180 2005-11-15 Andy Wingo <wingo@pobox.com>
21182 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21184 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21185 using GST_CLOCK_TIME_NONE to disable base time management.
21186 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21187 time if it was NONE before.
21188 (gst_pipeline_change_state): Only munge the base time if
21189 stream_time != GST_CLOCK_TIME_NONE.
21191 * check/gst/gstpipeline.c (test_base_time): Punt around the
21192 problem of the probe not being called, because that's not the
21193 issue I'm looking at. Add a check that setting stream_time to NONE
21194 disables base time management.
21196 2005-11-15 Wim Taymans <wim@fluendo.com>
21198 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21199 segment_stop == -1 at startup.
21201 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21202 (gst_base_transform_change_state):
21203 Init segment values at start.
21205 2005-11-15 Wim Taymans <wim@fluendo.com>
21207 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21208 0 segment values are 0 in any format.
21210 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21211 * gst/base/gstbasetransform.h:
21212 Parse newsegment correctly in basetransform
21214 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21215 Sync to clock using updated segment values.
21217 2005-11-15 Andy Wingo <wingo@pobox.com>
21219 * check/gst/gstpipeline.c (test_base_time): Add check that the
21220 base time and stream time are reset correctly.
21222 2005-11-15 Wim Taymans <wim@fluendo.com>
21224 * docs/design/part-TODO.txt:
21225 Some more TODO items.
21227 2005-11-15 Andy Wingo <wingo@pobox.com>
21229 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21230 error if the user selected "no clock" as the clocking method.
21232 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21233 timestamps with live capture.
21235 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21236 is 0 but we are a live source, timestamp the buffers using the
21239 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21241 * docs/gst/gstreamer-sections.txt:
21243 * gst/gstghostpad.c:
21248 2005-11-14 Wim Taymans <wim@fluendo.com>
21251 add suppressions from Wim's Debian machine
21253 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21256 add suppressions from Andy's AMD64 Ubuntu machine
21258 2005-11-14 Andy Wingo <wingo@pobox.com>
21260 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21261 STATE_LOCK not necessary. Fixes #311489.
21263 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21266 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21267 this function is not implemented.
21269 2005-11-14 Julien MOUTTE <julien@moutte.net>
21271 * gst/base/gstbasetransform.c:
21272 (gst_base_transform_prepare_output_buf):
21273 Ref the source pad caps while we need them.
21276 2005-11-11 Wim Taymans <wim@fluendo.com>
21278 * docs/gst/gstreamer-sections.txt:
21279 Added some docs for GstCollectData.
21281 * gst/base/gstadapter.c:
21282 Some small code example fix.
21284 * gst/base/gstcollectpads.c:
21285 * gst/base/gstcollectpads.h:
21286 Document some more.
21288 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21290 * configure.ac: back to HEAD
21292 === release 0.9.5 ===
21294 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21297 releasing 0.9.5, "Bike Lunch Day"
21299 2005-11-11 Wim Taymans <wim@fluendo.com>
21301 * gst/gstbuffer.c: (_gst_buffer_copy):
21304 * gst/gstcaps.c: (gst_caps_is_equal):
21306 Make _is_equal fast in the trivial cases.
21308 * gst/gstminiobject.c:
21309 * gst/gstminiobject.h:
21310 More docs. Spifify .h file.
21315 2005-11-11 Wim Taymans <wim@fluendo.com>
21317 * gst/base/gstbasetransform.c:
21318 (gst_base_transform_prepare_output_buf),
21319 (gst_base_transform_handle_buffer):
21321 If we're processing a buffer and need to allocate an output
21322 buffer, we cannot accept a format change. If we did get a
21323 format change, we have to alloc a buffer ourselves of the
21326 2005-11-11 Wim Taymans <wim@fluendo.com>
21328 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21329 While checking the flag for reentrancy in the gstcaps function
21330 is nice to detect recursive invocations, it also makes it
21331 impossible to call getcaps from multiple threads, which must be
21332 possible. So, checking for recursive calls has to go.
21334 2005-11-11 Michael Smith <msmith@fluendo.com>
21336 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21337 Don't sync on buffers that fall partially outside our current
21338 segment. Prevents an assertion failure/abort playing some files.
21340 2005-11-10 Andy Wingo <wingo@pobox.com>
21342 * check/gst/gstbin.c (test_message_state_changed_children): Style
21345 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21346 gst_bus_poll with the signal watch. Ensures that poll and a signal
21347 watch see the same messages.
21349 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21350 a poll and a watch at the same time get the same messages.
21352 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21354 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21355 * gst/gstcaps.c: (gst_caps_intersect):
21356 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21357 and it's not needed.
21359 2005-11-10 Wim Taymans <wim@fluendo.com>
21361 * docs/design/part-TODO.txt:
21364 2005-11-10 Wim Taymans <wim@fluendo.com>
21366 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21367 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21368 (gst_base_src_do_sync), (gst_base_src_get_range):
21369 Implement clock sync in base class.
21371 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21373 patch by: Tim-Philipp Müller <tim at centricular dot net>
21375 * gst/gststructure.c: (gst_structure_parse_field),
21376 (gst_structure_from_string):
21377 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21378 so that gst_parse_launch() can deal with spaces in filtered link
21379 caps (fixes #164479)
21380 * check/gst/capslist.h:
21381 * check/gst/gststructure.c: (GST_START_TEST):
21382 add unit tests for this change
21384 2005-11-10 Wim Taymans <wim@fluendo.com>
21386 * docs/gst/gstreamer-sections.txt:
21387 * gst/gstelement.c:
21388 * gst/gstelement.h:
21389 Fix docs, move some STATE macros to private.
21391 2005-11-10 Wim Taymans <wim@fluendo.com>
21393 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21394 Added check for bug #317341
21398 Some more spiffifying.
21400 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21401 Call peer linkfunction if we are a source pad. Totally fixes
21405 Update docs, source pads should call the peer linkfunction
21406 so they can atomically perform the pad link.
21408 2005-11-09 Wim Taymans <wim@fluendo.com>
21412 Uber-spiffy-spiffify some more.
21414 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21416 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21417 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21418 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21419 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21420 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21421 * gst/gstpad.c: (gst_pad_init):
21422 Use GST_DEBUG_FUNCPTR() more extensively.
21424 2005-11-09 Wim Taymans <wim@fluendo.com>
21426 * gst/gstobject.c: (gst_object_class_init):
21428 Documentation fixes.
21430 2005-11-09 Edward Hervey <edward@fluendo.com>
21432 * gst/gsttypefindfactory.c:
21435 2005-11-09 Edward Hervey <edward@fluendo.com>
21437 * gst/base/gsttypefindhelper.c:
21438 * gst/gsttypefind.c:
21439 * gst/gsttypefind.h:
21442 2005-11-09 Wim Taymans <wim@fluendo.com>
21444 * gst/gstiterator.c:
21451 2005-11-09 Wim Taymans <wim@fluendo.com>
21457 2005-11-09 Wim Taymans <wim@fluendo.com>
21459 * docs/gst/gstreamer-sections.txt:
21460 Moved the message async delivery private lock and cond
21461 to the private section.
21463 * gst/gstmessage.c:
21464 * gst/gstmessage.h:
21467 2005-11-09 Edward Hervey <edward@fluendo.com>
21469 * docs/gst/gstreamer-sections.txt:
21472 Document GstURIHandler
21474 2005-11-09 Wim Taymans <wim@fluendo.com>
21476 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21477 (gst_iterator_find_custom):
21478 * gst/gstiterator.h:
21481 2005-11-09 Wim Taymans <wim@fluendo.com>
21484 Document another field.
21486 * gst/gststructure.c:
21487 * gst/gststructure.h:
21490 2005-11-09 Wim Taymans <wim@fluendo.com>
21493 Documented structs.
21495 2005-11-09 Wim Taymans <wim@fluendo.com>
21497 * docs/gst/gstreamer-sections.txt:
21498 Added some new macros.
21505 2005-11-09 Wim Taymans <wim@fluendo.com>
21507 * docs/design/part-TODO.txt:
21508 Some more items for the TODO
21514 2005-11-09 Andy Wingo <wingo@pobox.com>
21516 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21517 to work on something else now tho...
21519 * gst/base/gstadapter.c: More adapter docs.
21521 * gst/elements/gstfilesink.c (gst_file_sink_start)
21522 (gst_file_sink_stop): New functions, replace the state change
21524 (gst_file_sink_class_init): Hook up the start and stop functions.
21525 (gst_file_sink_base_init): Don't set the state change handler any
21526 more. It was a bit ugly too, being set from here...
21527 (gst_file_sink_get_property, gst_file_sink_set_property):
21529 (gst_file_sink_set_location): More robust check that doesn't call
21530 GST_STATE. Ugggggg.
21532 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21534 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21535 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21537 2005-11-08 Wim Taymans <wim@fluendo.com>
21539 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21540 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21541 (gst_base_sink_chain), (gst_base_sink_change_state):
21542 * gst/base/gstbasesink.h:
21543 * gst/base/gstbasesrc.h:
21544 * gst/gstelement.h:
21546 Avoid excessive typechecking in macros.
21548 * gst/gstminiobject.c: (gst_mini_object_get_type),
21549 (gst_mini_object_init), (gst_mini_object_new),
21550 (gst_mini_object_free):
21551 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21552 (gst_object_finalize):
21553 Remove cruft code, optimize alloc_trace.
21555 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21557 * docs/faq/gst-uninstalled:
21558 fix up PS1 for systems that try to reset it
21560 2005-11-07 Wim Taymans <wim@fluendo.com>
21562 * gst/base/gstbasesrc.c: (gst_base_src_init),
21563 (gst_base_src_get_range):
21564 Set the segment_end to -1 initially. Fixed typefind.
21566 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21568 * gst/base/gstadapter.c:
21569 Debug category should be 'adapter', not 'GstAdapter'.
21571 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21572 (gst_collectpads_class_init), (gst_collectpads_init),
21573 (gst_collectpads_peek), (gst_collectpads_pop),
21574 (gst_collectpads_event), (gst_collectpads_chain):
21575 Add debug category and some debugging output. Use boilerplate
21576 macros. Remove some extraneous words from docs.
21578 2005-11-05 Andy Wingo <wingo@pobox.com>
21580 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21583 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21585 * docs/gst/gstreamer-sections.txt:
21588 * gst/gstminiobject.h:
21593 2005-11-04 Wim Taymans <wim@fluendo.com>
21595 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21596 Small update to stop at the configured segment_end
21599 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21601 * gst/gstregistry.c:
21602 * gst/gstregistry.h:
21605 2005-11-04 Edward Hervey <edward@fluendo.com>
21607 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21608 Check if we are doing a segment seek and have arrived at the
21609 end of that segment.
21611 2005-11-04 Wim Taymans <wim@fluendo.com>
21613 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21614 Don't leak a mutex unlock in case of an error.
21619 2005-11-04 Wim Taymans <wim@fluendo.com>
21621 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21623 Get the context to wake up only once.
21625 2005-11-03 Wim Taymans <wim@fluendo.com>
21627 * check/states/sinks.c: (GST_START_TEST):
21628 Uncomment fixed check.
21630 * docs/design/part-TODO.txt:
21633 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21634 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21635 (gst_base_sink_get_position):
21636 If we are going to PLAYING, post the right pending state
21637 when we post the intermediate paused message.
21639 * gst/gstelement.c: (gst_element_continue_state),
21640 (gst_element_set_state_func), (gst_element_change_state):
21641 Don't post state changes that were between the same state
21642 and were not ASYNC.
21644 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21646 * docs/gst/gstreamer-sections.txt:
21649 * gst/gstminiobject.h:
21652 more docs and doc style fixes
21654 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21656 * docs/gst/gstreamer-sections.txt:
21657 * gst/gstelement.c:
21658 * gst/gstminiobject.c:
21661 2005-11-03 Andy Wingo <wingo@pobox.com>
21663 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21664 state-changed messages actually have the right order and the right
21667 2005-11-03 Wim Taymans <wim@fluendo.com>
21669 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21670 Added some more checks. Specifically the case where NO_PREROLL
21671 elements are in the pipeline.
21673 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21674 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21675 (gst_base_sink_get_position):
21676 Post READY->PAUSED state change messages too.
21677 Fix bug where VOID was posted as pending state...
21679 * gst/gstbin.c: (gst_bin_recalc_state):
21680 use _element_continue_state() to continue the state change.
21682 * gst/gstelement.c: (gst_element_continue_state),
21683 (gst_element_commit_state), (gst_element_set_state_func),
21684 (gst_element_change_state), (gst_element_change_state_func):
21685 Lots of state change cleanups, assign the STATE_RETURN in
21686 a new continue_state() function that also propagates the
21687 last return value from a state change to the app.
21688 Update some debug statements with proper category.
21690 2005-11-03 Wim Taymans <wim@fluendo.com>
21692 * docs/design/part-events.txt:
21693 * docs/design/part-gstpipeline.txt:
21694 * docs/design/part-messages.txt:
21695 * docs/design/part-overview.txt:
21696 * docs/design/part-seeking.txt:
21697 * docs/design/part-states.txt:
21698 * docs/design/part-trickmodes.txt:
21699 * docs/manual/advanced-position.xml:
21700 Small docs updates.
21703 People think !! is ugly, this looks better.
21705 * gst/gstpad.c: (gst_pad_set_blocked_async):
21706 Remove !! since it's fixed elsewhere now.
21708 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21710 * gst/gstminiobject.h:
21712 Add !! to _FLAG_IS_SET macros to make the result boolean.
21714 2005-11-03 Edward Hervey <edward@fluendo.com>
21716 * gst/gstpad.c: (gst_pad_set_blocked_async):
21717 comparing a flag and a gboolean rarely returns coherent results...
21718 Added two characters (!!) to make that work correctly.
21720 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21722 * gst/gstbus.c: (gst_bus_class_init):
21725 * gst/gstqueue.c: (gst_queue_loop):
21726 Don't assume a miniobject that isn't a buffer is an
21727 event (it could be that there is a refcounting
21728 problem somewhere and the pointer is stale and
21729 refers to an already destroyed miniobject).
21731 2005-11-03 Julien MOUTTE <julien@moutte.net>
21733 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21735 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21737 * docs/manual/advanced-position.xml:
21738 Update seek example and explanations to current 0.9 API.
21740 * gst/elements/gsttypefindelement.c:
21741 (gst_type_find_element_activate):
21742 Remove FIXME comment now that the found caps
21745 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21747 * gst/gstregistryxml.c: (load_feature):
21748 Add another GST_STR_NULL instance
21750 2005-11-02 Edward Hervey <edward@fluendo.com>
21752 * gst/gstpad.c: (handle_pad_block):
21753 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21755 2005-11-02 Wim Taymans <wim@fluendo.com>
21760 * gst/gstelement.c: (gst_element_commit_state):
21761 Remove unused value.
21763 * gst/gstiterator.c:
21764 Mention that the returned element is reffed in the docs.
21766 2005-11-02 Wim Taymans <wim@fluendo.com>
21768 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21769 (gst_pad_push), (gst_pad_push_event):
21770 Unlock blocked pads when they are flushed.
21772 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21775 * docs/gst/gstreamer-sections.txt:
21778 * gst/gstregistry.c: (gst_registry_scan_path_level):
21779 fix for a nasty little missed situation where an installed plug-in
21780 which was in the cache did not get overridden by an uninstalled one
21781 which was earlier in the plugin path because the newly created plugin
21782 for the uninstalled one (not in the registry) didn't get its
21783 ->registered set to TRUE
21785 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21787 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21788 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21789 (gst_collectpads_is_active), (gst_collectpads_collect),
21790 (gst_collectpads_collect_range), (gst_collectpads_start),
21791 (gst_collectpads_stop), (gst_collectpads_peek),
21792 (gst_collectpads_pop), (gst_collectpads_available),
21793 (gst_collectpads_read), (gst_collectpads_flush):
21794 Guard public API with assertions.
21797 Fix docs for gst_pad_set_link_function().
21799 2005-11-02 Johan Dahlin <johan@gnome.org>
21801 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21802 Unref found_caps after we used it.
21804 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21806 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21807 Don't try to ref NULL.
21809 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21811 * win32/common/config.h.in:
21812 provide a GST_FUNCTION that just gives a string for now
21814 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21816 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21817 (gst_object_flags_get_type), (register_gst_bin_flags),
21818 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21819 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21820 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21821 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21822 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21823 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21824 (gst_clock_flags_get_type), (register_gst_state),
21825 (gst_state_get_type), (register_gst_state_change_return),
21826 (gst_state_change_return_get_type), (register_gst_state_change),
21827 (gst_state_change_get_type), (register_gst_element_flags),
21828 (gst_element_flags_get_type), (register_gst_core_error),
21829 (gst_core_error_get_type), (register_gst_library_error),
21830 (gst_library_error_get_type), (register_gst_resource_error),
21831 (gst_resource_error_get_type), (register_gst_stream_error),
21832 (gst_stream_error_get_type), (register_gst_event_type),
21833 (gst_event_type_get_type), (register_gst_seek_type),
21834 (gst_seek_type_get_type), (register_gst_seek_flags),
21835 (gst_seek_flags_get_type), (register_gst_format),
21836 (gst_format_get_type), (register_gst_index_certainty),
21837 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21838 (gst_index_entry_type_get_type),
21839 (register_gst_index_lookup_method),
21840 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21841 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21842 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21843 (gst_index_flags_get_type), (register_gst_debug_level),
21844 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21845 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21846 (gst_iterator_result_get_type), (register_gst_iterator_item),
21847 (gst_iterator_item_get_type), (register_gst_message_type),
21848 (gst_message_type_get_type), (register_gst_mini_object_flags),
21849 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21850 (gst_pad_link_return_get_type), (register_gst_flow_return),
21851 (gst_flow_return_get_type), (register_gst_activate_mode),
21852 (gst_activate_mode_get_type), (register_gst_pad_direction),
21853 (gst_pad_direction_get_type), (register_gst_pad_flags),
21854 (gst_pad_flags_get_type), (register_gst_pad_presence),
21855 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21856 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21857 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21858 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21859 (gst_plugin_flags_get_type), (register_gst_rank),
21860 (gst_rank_get_type), (register_gst_query_type),
21861 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21862 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21863 (gst_tag_flag_get_type), (register_gst_task_state),
21864 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21865 (gst_alloc_trace_flags_get_type),
21866 (register_gst_type_find_probability),
21867 (gst_type_find_probability_get_type), (register_gst_uri_type),
21868 (gst_uri_type_get_type), (register_gst_parse_error),
21869 (gst_parse_error_get_type):
21870 * win32/common/gstversion.h:
21871 update win32 copies
21873 2005-11-01 Luca Ognibene <luogni@tin.it>
21876 fix docs. popt is dead, long live GOption.
21878 2005-10-31 Wim Taymans <wim@fluendo.com>
21883 2005-10-31 Andy Wingo <wingo@pobox.com>
21887 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21889 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21890 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21891 the possibility of deadlocks here if code calling notify() or
21892 set() has a lock that can be taken in another notify handler (ABBA
21893 with class lock and e.g. python GIL state lock).
21895 2005-10-28 Julien MOUTTE <julien@moutte.net>
21897 * gst/gstbus.c: Doc updates.
21899 2005-10-28 Wim Taymans <wim@fluendo.com>
21901 * docs/design/part-TODO.txt:
21902 * gst/gstiterator.c:
21903 * gst/gstsystemclock.c:
21904 * gst/gstsystemclock.h:
21907 2005-10-28 Edward Hervey <edward@fluendo.com>
21909 * docs/gst/gstreamer-docs.sgml:
21910 * docs/gst/gstreamer-sections.txt:
21911 the GstURIType documentation page is private, it only defines GstURIType
21912 which should be defined in the GstURIHandler page
21914 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
21916 * gst/gstbin.c: (gst_bin_class_init):
21919 Documentation updates.
21921 2005-10-28 Wim Taymans <wim@fluendo.com>
21923 * docs/gst/gstreamer-sections.txt:
21926 Documented the clocks.
21928 2005-10-28 Stefan Kost <ensonic@users.sf.net>
21930 * docs/gst/gstreamer-sections.txt:
21931 move some macros to private sections
21932 * gst/gstminiobject.c:
21933 * gst/gstminiobject.h:
21934 add descriptions provided by ds and some more
21936 mark macro as to be removed
21938 2005-10-28 Wim Taymans <wim@fluendo.com>
21940 * docs/design/part-TODO.txt:
21941 Add an item to TODO.
21943 * gst/gstiterator.c: (gst_iterator_fold),
21944 (gst_iterator_find_custom):
21945 * gst/gstiterator.h:
21948 2005-10-28 Wim Taymans <wim@fluendo.com>
21950 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21951 (gst_base_transform_init):
21954 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21955 An EOS event marks the queue as completely filled.
21957 2005-10-27 Wim Taymans <wim@fluendo.com>
21959 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21960 (gst_base_sink_do_sync), (gst_base_sink_get_position):
21961 Some more debugging.
21963 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21964 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21965 (gst_base_transform_event), (gst_base_transform_getrange),
21966 (gst_base_transform_chain):
21967 * gst/base/gstbasetransform.h:
21969 Protect transform and concurrent buffer alloc with a new lock.
21970 Try not to break ABI/API.
21972 2005-10-27 Wim Taymans <wim@fluendo.com>
21974 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21975 (gst_base_src_init), (gst_base_src_query),
21976 (gst_base_src_default_newsegment),
21977 (gst_base_src_configure_segment), (gst_base_src_do_seek),
21978 (gst_base_src_send_event), (gst_base_src_event_handler),
21979 (gst_base_src_pad_get_range), (gst_base_src_loop),
21980 (gst_base_src_unlock), (gst_base_src_default_negotiate),
21981 (gst_base_src_start), (gst_base_src_deactivate),
21982 (gst_base_src_activate_push), (gst_base_src_change_state):
21983 Move some stuff around and cleanup things.
21985 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
21987 * gst/base/gstbasesrc.c: (gst_base_src_query):
21988 Add missing break statements.
21990 2005-10-27 Wim Taymans <wim@fluendo.com>
21992 * check/gst/gstbin.c: (GST_START_TEST):
21993 An extra refcount is taken in basesrc.
21995 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21996 (gst_base_src_get_range), (gst_base_src_pad_get_range),
21997 (gst_base_src_loop):
21998 Small cleanups, check for flushing after being unlocked from the
21999 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22000 Don't send out EOS when going to READY.
22002 2005-10-27 Wim Taymans <wim@fluendo.com>
22004 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22005 (gst_base_sink_get_position):
22008 * gst/gstbin.c: (message_check), (bin_replace_message),
22009 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22010 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22011 (bin_query_duration_init), (bin_query_duration_fold),
22012 (bin_query_duration_done), (bin_query_generic_fold),
22014 * tools/gst-launch.c: (main):
22017 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22019 * examples/controller/audio-example.c: (main):
22020 * examples/queue/queue.c: (event_loop):
22021 * gst/base/gstbasetransform.h:
22022 * gst/gstelement.c: (gst_element_send_event):
22024 * gst/gstpad.c: (gst_pad_send_event):
22027 changing log priority in error situations
22029 2005-10-25 Wim Taymans <wim@fluendo.com>
22031 * gst/gstbin.c: (message_check), (bin_replace_message),
22032 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22033 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22034 (bin_query_duration_init), (bin_query_duration_fold),
22035 (bin_query_duration_done), (bin_query_generic_fold),
22037 Some doc and debug updates.
22038 Cache previously requested query DURATION for speed. invalidate
22039 cached duration if element posts a DURATION message.
22041 2005-10-25 Wim Taymans <wim@fluendo.com>
22043 * docs/design/part-TODO.txt:
22046 * gst/gstbin.c: (message_check), (bin_replace_message),
22047 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22048 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22049 (bin_query_duration_init), (bin_query_duration_fold),
22050 (bin_query_duration_done), (bin_query_generic_fold),
22052 Handle SEGMENT_START/DONE messages correctly.
22053 More evolved query algorithm that handles duration queries
22056 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22057 (gst_element_get_state_func), (gst_element_abort_state),
22058 (gst_element_commit_state), (gst_element_lost_state):
22059 Some more debugging.
22061 * gst/gstmessage.h:
22064 2005-10-25 Wim Taymans <wim@fluendo.com>
22066 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22067 Don't use invalid stream_time.
22069 * gst/gstevent.c: (gst_event_new_newsegment):
22070 stream_time in newsegment cannot be undefined.
22072 2005-10-24 Wim Taymans <wim@fluendo.com>
22077 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22079 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22081 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22083 * docs/libs/tmpl/gstdparam.sgml:
22084 * docs/libs/tmpl/gstdplinint.sgml:
22085 * docs/libs/tmpl/gstdpman.sgml:
22086 * docs/libs/tmpl/gstdpsmooth.sgml:
22087 * docs/libs/tmpl/gstunitconvert.sgml:
22090 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22095 === release 0.9.4 ===
22097 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22100 releasing 0.9.4, "Tyrannosaurus Rex"
22102 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22104 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22105 (gst_file_sink_get_current_offset):
22106 Use fseeko() and ftello() if available. When falling back on
22107 lseek() to get the current offset, fflush() first to make sure
22108 everything is up-to-date and we get the right offset.
22110 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22112 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22113 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22114 * gst/gsterror.c: (_gst_stream_errors_init):
22116 * gst/gstqueue.c: (gst_queue_loop):
22118 remove prematurely added error category and clean up the instances
22120 2005-10-21 Wim Taymans <wim@fluendo.com>
22122 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22123 (gst_base_sink_get_position), (gst_base_sink_query),
22124 (gst_base_sink_change_state):
22125 Simply set the right flag when going to playing, that's all
22126 we need to do instead of calling a function inside the object
22127 lock (that could take the lock as well and deadlock)
22129 2005-10-21 Wim Taymans <wim@fluendo.com>
22131 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22132 (gst_base_src_loop):
22133 Don't warn, the peer element knows what to do best when
22134 the seek failed, it might try something else.
22136 2005-10-21 Wim Taymans <wim@fluendo.com>
22138 * gst/base/gstbasesrc.c: (gst_base_src_init),
22139 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22142 2005-10-21 Wim Taymans <wim@fluendo.com>
22144 * docs/design/part-segments.txt:
22147 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22148 Correctly set caps, even on the subbufer.
22150 2005-10-21 Wim Taymans <wim@fluendo.com>
22152 * docs/gst/gstreamer-docs.sgml:
22153 * docs/gst/gstreamer-sections.txt:
22154 * gst/gstelement.h:
22157 * gst/gstmessage.h:
22160 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22164 And 2% more doc coverage.
22166 2005-10-21 Andy Wingo <wingo@pobox.com>
22168 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22169 position reporting.
22171 2005-10-20 Wim Taymans <wim@fluendo.com>
22173 * gst/gsterror.c: (gst_error_get_message):
22176 * gst/gststructure.c:
22181 2005-10-20 Wim Taymans <wim@fluendo.com>
22186 Another 1% more coverage.
22188 2005-10-20 Wim Taymans <wim@fluendo.com>
22190 * docs/gst/gstreamer-sections.txt:
22191 * gst/gstelement.c: (gst_element_get_state_func),
22192 (gst_element_abort_state), (gst_element_commit_state),
22193 (gst_element_lost_state):
22195 * gst/gstquery.c: (gst_query_set_position),
22196 (gst_query_parse_position), (gst_query_set_duration),
22197 (gst_query_parse_duration), (gst_query_new_convert):
22199 Yay! 1% more docs coverage.
22201 2005-10-20 Wim Taymans <wim@fluendo.com>
22204 * gst/gstquery.c: (gst_query_set_position),
22205 (gst_query_parse_position), (gst_query_set_duration),
22206 (gst_query_parse_duration), (gst_query_new_convert):
22208 * gst/gstutils.c: (gst_element_query_convert):
22210 Docs and consistency fixes.
22212 2005-10-20 Wim Taymans <wim@fluendo.com>
22218 2005-10-20 Wim Taymans <wim@fluendo.com>
22220 * gst/gstbin.c: (message_check), (bin_replace_message),
22221 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22222 (update_degree), (gst_bin_sort_iterator_next),
22223 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22224 Reworked the message handling a bit, cache the messages instead of
22225 only the senders. alows us to do more in the future.
22227 2005-10-20 Wim Taymans <wim@fluendo.com>
22229 * docs/design/part-TODO.txt:
22232 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22233 (gst_base_sink_query):
22234 Don't use clock time to report position when in EOS.
22236 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22238 * tools/gst-inspect.c: (print_interfaces),
22239 (print_element_properties_info), (print_element_info):
22240 Fix interface output with gst-inspect -a; don't print
22241 newlines after double/float properties.
22243 2005-10-20 Wim Taymans <wim@fluendo.com>
22245 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22246 (gst_base_sink_query):
22247 Speed up current position calculation.
22249 * gst/base/gstbasesrc.c: (gst_base_src_query),
22250 (gst_base_src_default_newsegment):
22251 Correctly set stream position in newsegment.
22253 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22254 (update_degree), (gst_bin_sort_iterator_next),
22255 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22256 * gst/gstmessage.c: (gst_message_new_custom):
22257 Clean up debugging info
22259 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22260 (gst_queue_loop), (gst_queue_handle_src_query):
22263 2005-10-19 Wim Taymans <wim@fluendo.com>
22265 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22266 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22267 Fix query handling again.
22269 2005-10-19 Wim Taymans <wim@fluendo.com>
22271 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22272 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22273 * gst/base/gstbasesrc.c: (gst_base_src_query):
22274 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22275 * gst/elements/gsttypefindelement.c:
22276 (gst_type_find_handle_src_query), (find_element_get_length),
22277 (gst_type_find_element_activate):
22280 * gst/gstquery.c: (gst_query_new_position),
22281 (gst_query_set_position), (gst_query_parse_position),
22282 (gst_query_new_duration), (gst_query_set_duration),
22283 (gst_query_parse_duration), (gst_query_set_segment),
22284 (gst_query_parse_segment):
22286 Bundling query position/duration is not a good idea since duration
22287 does not change much and we don't want to recalculate it for every
22288 position query, so they are separated again..
22289 Base value in segment query is not needed.
22291 * gst/gstqueue.c: (gst_queue_handle_src_query):
22292 * gst/gstutils.c: (gst_element_query_position),
22293 (gst_element_query_duration), (gst_pad_query_position),
22294 (gst_pad_query_duration):
22296 Updates for query API change.
22297 Added some docs here and there.
22299 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22301 * check/gst/gstbin.c: (GST_START_TEST):
22302 * check/gst/gstghostpad.c: (GST_START_TEST):
22303 * check/pipelines/cleanup.c: (GST_START_TEST):
22304 wait on thread to die so we can check refcount correctly
22306 2005-10-18 Wim Taymans <wim@fluendo.com>
22308 * check/pipelines/stress.c: (GST_START_TEST):
22309 Make check a little more time consuming.
22311 2005-10-18 Wim Taymans <wim@fluendo.com>
22313 * check/Makefile.am:
22314 * check/pipelines/stress.c: (GST_START_TEST),
22315 (simple_launch_lines_suite), (main):
22316 Small state change torture test.
22318 * docs/design/part-states.txt:
22319 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22320 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22321 (gst_base_sink_change_state):
22322 Never take state lock from streaming thread, clean up ugly
22323 hacks. Unfortunatly core does not yet support nice ways to
22324 async commit state.
22326 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22328 Start state recalc if a STATE_DIRTY message is posted, but only
22329 on the toplevel bin.
22331 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22332 (gst_element_get_state_func), (gst_element_abort_state),
22333 (gst_element_commit_state), (gst_element_lost_state),
22334 (gst_element_set_state_func), (gst_element_change_state):
22335 * gst/gstelement.h:
22336 State variables are now protected with the LOCK, the state
22337 lock is only used to serialize _set_state().
22339 2005-10-18 Wim Taymans <wim@fluendo.com>
22341 * check/gst/gstbin.c: (GST_START_TEST):
22342 * check/gst/gstmessage.c: (GST_START_TEST):
22343 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22344 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22346 * gst/gstelement.c: (gst_element_abort_state),
22347 (gst_element_commit_state), (gst_element_lost_state):
22348 * gst/gstmessage.c: (gst_message_new_state_changed),
22349 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22350 (gst_message_new_segment_done), (gst_message_new_duration),
22351 (gst_message_parse_state_changed),
22352 (gst_message_parse_segment_start),
22353 (gst_message_parse_segment_done), (gst_message_parse_duration):
22354 * gst/gstmessage.h:
22355 * tools/gst-launch.c: (event_loop):
22356 Seriously, this is better than a previous commit as we only need
22357 to notify the fact that an element changed state in a streaming
22358 thread, marking the state of the parents dirty, hence the
22359 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22362 2005-10-18 Wim Taymans <wim@fluendo.com>
22364 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22365 (gst_bin_recalc_func):
22366 * gst/gstelement.c: (gst_element_set_clock),
22367 (gst_element_abort_state), (gst_element_lost_state):
22368 Cleanups, prepare for state change fixes.
22370 2005-10-18 Wim Taymans <wim@fluendo.com>
22373 * gst/gstelement.c: (gst_element_class_init),
22374 (gst_element_set_state), (gst_element_set_state_func):
22375 * gst/gstelement.h:
22376 Pending ABI changes.
22377 GThreadPool in GstBinClass to monitor async state changes.
22378 state_cookie in GstElement to detect concurrent gst/set state.
22379 set_state is now virtual too in case a very complicated element
22380 has to be constructed.
22382 2005-10-18 Wim Taymans <wim@fluendo.com>
22384 * check/gst/gstbin.c: (GST_START_TEST):
22385 * check/gst/gstmessage.c: (GST_START_TEST):
22386 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22387 * gst/gstbin.c: (bin_bus_handler):
22388 * gst/gstelement.c: (gst_element_commit_state),
22389 (gst_element_lost_state):
22390 * gst/gstmessage.c: (gst_message_new_state_changed),
22391 (gst_message_new_segment_start), (gst_message_new_segment_done),
22392 (gst_message_new_duration), (gst_message_parse_state_changed),
22393 (gst_message_parse_segment_start),
22394 (gst_message_parse_segment_done), (gst_message_parse_duration):
22395 * gst/gstmessage.h:
22396 * tools/gst-launch.c: (event_loop):
22397 Make messages future proof.
22398 state-change gets a flag if it was a message comming from the
22400 segment-start/stop can also be specified in other formats.
22401 A message to notify an app that a pipeline changed playback
22403 Also fix a GstMessage leak in -launch
22405 2005-10-18 Andy Wingo <wingo@pobox.com>
22407 * gst/gstelement.c (gst_element_dispose): More helpful message.
22409 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22411 reviewed by: <delete if not using a buddy>
22413 * common/gtk-doc.mak:
22415 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22417 * gst/gstregistry.c: (gst_registry_scan_path_level):
22418 unref a plug-in we get that was already initialized
22420 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22422 * docs/gst/gstreamer-sections.txt:
22423 * docs/libs/gstreamer-libs-sections.txt:
22424 * gst/gstelement.h:
22425 add new api entries
22426 hide internal macro
22428 2005-10-17 Andy Wingo <wingo@pobox.com>
22430 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22433 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22435 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22437 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22438 (gst_element_get_state_func): Better debug message.
22439 (gst_element_commit_state): s/INFO/DEBUG/.
22440 (gst_element_lost_state, gst_element_change_state):
22442 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22443 (gst_message_new_custom): s/INFO/LOG/.
22445 2005-10-17 Michael Smith <msmith@fluendo.com>
22447 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22448 Check if end time is valid using end time, not start time.
22450 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22452 * check/gst-libs/controller.c: (GST_START_TEST),
22453 (gst_controller_suite):
22454 * libs/gst/controller/gstcontroller.c:
22455 (gst_controlled_property_set_interpolation_mode):
22456 * libs/gst/controller/gstcontroller.h:
22457 * libs/gst/controller/gstinterpolation.c:
22458 * testsuite/controller/.cvsignore:
22459 * testsuite/controller/Makefile.am:
22460 * testsuite/controller/interpolator.c:
22461 merge controller testsuites
22463 remove mem-chunk from docs
22465 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22467 * gst/gstmemchunk.c:
22468 * gst/gstmemchunk.h:
22469 * gst/gsttrashstack.c:
22470 * gst/gsttrashstack.h:
22471 out. get out. you're fired. to the Attic !
22473 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22475 * gst/gstcaps.c: (gst_caps_intersect):
22476 fix signedness issues in a (hopefully) correct way
22477 * gst/gstelement.c: (gst_element_pads_activate):
22479 * gst/gstobject.c: (gst_object_set_parent):
22482 2005-10-17 Julien MOUTTE <julien@moutte.net>
22484 * gst/gstvalue.h: Fix prototypes.
22486 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22488 * docs/gst/gstreamer-sections.txt:
22489 * gst/gst.c: (gst_version_string):
22491 * gst/gstversion.h.in:
22492 * win32/common/libgstreamer.def:
22493 add gst_version_string ()
22495 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22499 * gst/gst.c: (init_post):
22500 * win32/common/config.h.in:
22502 * gst/gstcaps.c: (gst_caps_intersect):
22503 use gint64, the range could be bigger than a guint
22505 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22508 document potential problem in 2038
22510 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22512 * gst/gstcaps.c: (gst_caps_intersect):
22513 Fix guint j diving under 0
22515 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22518 * win32/common/config.h:
22519 * win32/common/config.h.in:
22520 check for process.h, declares getpid() on Windows
22522 include process.h if we have it
22523 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22524 * gst/gstmemchunk.h:
22525 fix signedness issues
22526 * win32/common/libgstreamer.def:
22529 2005-10-16 Julien MOUTTE <julien@moutte.net>
22531 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22532 fix. Because of unsigned ints, caps intersection was going nuts and
22533 trying to access structures with G_MAXUINT index. That fixes
22534 videotestsrc ! ffmpegcolorspace ! fakesink
22535 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22538 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22541 use the gettext macro
22542 * gst/elements/gstelements.c:
22544 * gst/indexers/gstindexers.c:
22545 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22546 * win32/common/config.h:
22548 * win32/common/config.h.in:
22549 add the template to generate config.h
22550 * win32/common/gstenumtypes.c:
22551 * win32/common/gstversion.h:
22554 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22556 * gst/gst.c: (gst_version):
22557 * gst/gstversion.h.in:
22560 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22563 Oops, add missing closing bracket.
22565 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22568 use common m4's for argument checking
22570 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22572 * docs/gst/gstreamer-sections.txt:
22574 Add GST_EVENT_TYPE_NAME() macro.
22576 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22579 * gst/gstpluginfeature.c:
22581 privatize more symbols
22583 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22586 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22587 everything that uses GStreamer API should have the includes
22589 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22591 * docs/gst/gstreamer-sections.txt:
22592 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22594 give each value a _get_type, removes the DATA exports
22596 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22600 remove _gst_registry_auto_load, not used anymore
22601 * gst/gstbin.c: (gst_bin_get_type):
22603 * gst/gstelement.c: (gst_element_get_type):
22604 * gst/gstelement.h:
22605 * gst/gstobject.c: (gst_object_get_type):
22607 * gst/gstpad.c: (gst_pad_get_type):
22609 make _get_type functions similar, fixes data export from library
22611 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22614 correctly make conditionals
22615 * gst/elements/Makefile.am:
22616 * gst/elements/gstelements.c:
22617 fix typo causing fdsrc not to build
22619 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22621 * testsuite/Makefile.am:
22622 * testsuite/bytestream/.cvsignore:
22623 * testsuite/bytestream/Makefile.am:
22624 * testsuite/bytestream/filepadsink.c:
22625 * testsuite/bytestream/gstbstest.c:
22626 * testsuite/bytestream/test1.c:
22627 * testsuite/bytestream/testfile1:
22628 * testsuite/caps/normalisation.c:
22629 * testsuite/caps/random.c: (main):
22630 * testsuite/cleanup/.cvsignore:
22631 * testsuite/cleanup/Makefile.am:
22632 * testsuite/cleanup/cleanup1.c:
22633 * testsuite/cleanup/cleanup2.c:
22634 * testsuite/cleanup/cleanup3.c:
22635 * testsuite/cleanup/cleanup4.c:
22636 * testsuite/cleanup/cleanup5.c:
22637 * testsuite/controller/interpolator.c:
22638 * testsuite/debug/printf_extension.c: (main):
22639 * testsuite/elements/tee.c:
22640 * testsuite/negotiation/.cvsignore:
22641 * testsuite/negotiation/Makefile.am:
22642 * testsuite/negotiation/pad_link.c:
22643 * testsuite/pad/Makefile.am:
22644 * testsuite/pad/chainnopull.c:
22645 * testsuite/pad/getnopush.c:
22646 * testsuite/pad/link.c:
22647 * testsuite/refcounting/sched.c: (create_pipeline):
22648 * testsuite/registry/Makefile.am:
22649 * testsuite/registry/gst-print-formats.c:
22650 * testsuite/schedulers/.cvsignore:
22651 * testsuite/schedulers/142183-2.c:
22652 * testsuite/schedulers/142183.c:
22653 * testsuite/schedulers/143777-2.c:
22654 * testsuite/schedulers/143777.c:
22655 * testsuite/schedulers/147713.c:
22656 * testsuite/schedulers/147819.c:
22657 * testsuite/schedulers/147894-2.c:
22658 * testsuite/schedulers/147894.c:
22659 * testsuite/schedulers/Makefile.am:
22660 * testsuite/schedulers/group_link.c:
22661 * testsuite/schedulers/queue_link.c:
22662 * testsuite/schedulers/relink.c:
22663 * testsuite/schedulers/unlink.c:
22664 * testsuite/schedulers/unref.c:
22665 * testsuite/schedulers/useless_iteration.c:
22666 * testsuite/states/bin.c:
22667 clean out/remove some stuff from the testsuite directories
22669 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22672 check for some headers
22673 * gst/elements/Makefile.am:
22674 * gst/elements/gstelements.c:
22675 don't compile fdsrc without sys/socket.h
22676 * gst/indexers/Makefile.am:
22677 * gst/indexers/gstindexers.c: (plugin_init):
22678 don't compile fileindex without mmap
22680 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22687 * check/Makefile.am:
22688 * docs/gst/Makefile.am:
22689 * examples/helloworld/Makefile.am:
22691 * gst/base/Makefile.am:
22692 * gst/check/Makefile.am:
22693 * gst/elements/Makefile.am:
22694 * gst/indexers/Makefile.am:
22695 * gst/parse/Makefile.am:
22696 * libs/gst/controller/Makefile.am:
22697 * libs/gst/dataprotocol/Makefile.am:
22698 * examples/helloworld/helloworld.c: (event_loop):
22699 compile fixes, though it's not being compiled currently
22701 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22703 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22704 Add some simple tests for the new taglist date API.
22706 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22708 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22709 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22710 Beautify 'last-message' output: print 'none' for buffer timestamps
22711 and durations if none is set; improve alignment with next messages.
22713 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22715 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22716 * gst/gstpluginfeature.h:
22717 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22718 * gst/gstregistry.h:
22719 * docs/gst/gstreamer-sections.txt:
22720 Add new API to check plugin feature version requirements.
22722 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22723 Some basic tests for the above.
22725 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22727 * gst/gststructure.c: (gst_structure_to_string):
22728 guard against NULL printf - happens when for example
22729 a message structure with GstClock gets serialized
22731 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22733 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22734 Fix presumable copy'n'pasto.
22736 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22738 * gst/elements/gstfakesrc.h:
22739 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22740 * gst/elements/gsttypefindelement.c:
22741 fix some signedness
22742 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22743 I wonder if this could actually write +2GB files before
22745 2005-10-13 Andy Wingo <wingo@pobox.com>
22747 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22748 Fix Timmeke Waymans bug.
22749 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22750 string of the proper length to gst_caps_from_string. There's a
22751 potential for, before this fix, that this could cause someone
22752 connecting over the network to cause a segfault if the payload is
22753 not NUL-terminated.
22755 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22757 * docs/design/draft-push-pull.txt:
22758 * docs/design/part-overview.txt:
22759 * docs/random/TODO-pre-0.9:
22760 * docs/random/old/ChangeLog.gstreamer:
22761 * gst/base/gstpushsrc.c:
22765 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22767 * gst/glib-compat.c: (gst_flags_get_first_value):
22768 * gst/glib-compat.h:
22769 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22770 (gst_value_compare_double), (gst_value_serialize_flags):
22771 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22774 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22776 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22777 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22779 * tools/gst-launch.c: (event_loop):
22780 print out clock nicely
22782 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22784 * docs/gst/gstreamer-sections.txt:
22785 * gst/gsttaglist.h:
22786 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22787 (gst_tag_list_get_date_index):
22788 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22789 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22791 2005-10-13 Julien MOUTTE <julien@moutte.net>
22793 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22794 (gst_collectpads_chain):
22795 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22798 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22800 * docs/gst/gstreamer-sections.txt:
22803 * tools/gst-inspect.c: (main):
22804 * tools/gst-launch.c: (main):
22805 * tools/gst-run.c: (main):
22806 * tools/gst-xmlinspect.c: (main):
22807 fix GOption context leaks
22810 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22814 * win32/common/config.h:
22816 * win32/vs6/grammar.dsp:
22817 * win32/vs6/libgstelements.dsp:
22818 * win32/vs6/libgstreamer.dsp:
22821 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22823 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22824 * gst/base/gstbasesrc.c: (gst_base_src_query):
22825 fix more guint64<->gdouble conversions
22827 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22830 add win32-update target
22831 * win32/common/gstconfig.h:
22832 * win32/common/gstenumtypes.c:
22833 * win32/common/gstenumtypes.h:
22834 * win32/common/gstversion.h:
22835 add files that visual studio can't generate
22837 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22840 add a win32-update target
22843 2005-10-12 Wim Taymans <wim@fluendo.com>
22845 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22846 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22847 * gst/gstelement.c: (gst_element_commit_state),
22848 (gst_element_set_state):
22849 Protect flags with proper lock.
22850 unref provided cached clock in dispose.
22852 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22855 * gst/gstminiobject.h:
22857 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22858 removed unused flags from miniobject
22861 2005-10-12 Wim Taymans <wim@fluendo.com>
22863 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22864 (gst_file_sink_event), (gst_file_sink_render):
22865 Flush before seeking.
22867 2005-10-12 Andy Wingo <wingo@pobox.com>
22869 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22870 always been the case.
22872 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22874 * check/gst/gstbin.c: (GST_START_TEST):
22875 * docs/gst/gstreamer-sections.txt:
22876 * gst/base/gstbasesink.c: (gst_base_sink_init):
22877 * gst/base/gstbasesrc.c: (gst_base_src_init),
22878 (gst_base_src_get_range), (gst_base_src_check_get_range),
22879 (gst_base_src_start), (gst_base_src_stop):
22880 * gst/base/gstbasesrc.h:
22881 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22882 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22883 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22887 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22889 * gst/gstelement.c: (gst_element_is_locked_state),
22890 (gst_element_set_locked_state), (gst_element_commit_state),
22891 (gst_element_set_state):
22892 * gst/gstelement.h:
22893 * gst/gstindex.c: (gst_index_init):
22895 * gst/gstminiobject.h:
22896 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22897 (gst_object_set_parent):
22899 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22900 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22902 * gst/gstpadtemplate.h:
22903 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22904 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22905 * gst/gstpipeline.h:
22906 * gst/indexers/gstfileindex.c: (gst_file_index_load),
22907 (gst_file_index_commit):
22908 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22909 * testsuite/pad/link.c: (gst_test_src_init),
22910 (gst_test_filter_init), (gst_test_sink_init):
22911 * testsuite/states/locked.c: (main):
22912 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22913 moved bitshift from macro to enum definition
22915 2005-10-12 Wim Taymans <wim@fluendo.com>
22917 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22918 * gst/elements/gstfilesink.c: (gst_file_sink_event),
22919 (gst_file_sink_render):
22920 Some more debugging info.
22922 2005-10-12 Wim Taymans <wim@fluendo.com>
22924 * docs/design/part-states.txt:
22925 * tools/gst-launch.c: (main):
22927 Revert non-intentional change.
22929 2005-10-12 Wim Taymans <wim@fluendo.com>
22931 * check/gst/gstbin.c: (GST_START_TEST):
22932 * check/gst/gstelement.c: (GST_START_TEST):
22933 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22934 * check/gst/gstghostpad.c: (GST_START_TEST):
22935 * check/gst/gstpipeline.c: (GST_START_TEST):
22936 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22937 * check/states/sinks.c: (GST_START_TEST):
22938 * gst/elements/gsttypefindelement.c: (stop_typefinding):
22939 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22940 (gst_bin_remove_func), (gst_bin_get_state_func),
22941 (gst_bin_recalc_state), (gst_bin_change_state_func),
22943 * gst/gstelement.c: (gst_element_get_state_func),
22944 (gst_element_get_state), (gst_element_abort_state),
22945 (gst_element_commit_state), (gst_element_set_state),
22946 (gst_element_change_state), (gst_element_change_state_func):
22947 * gst/gstelement.h:
22948 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22949 (gst_pipeline_provide_clock_func):
22950 * gst/gstutils.c: (gst_element_link_pads_filtered):
22951 * tools/gst-launch.c: (main):
22952 * tools/gst-typefind.c: (main):
22953 Use GstClockTime in _get_state() instead of GTimeVal.
22954 Remove old code in gstutils.c
22956 2005-10-12 Andy Wingo <wingo@pobox.com>
22958 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22961 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22962 there is no task. Shouldn't affect any code, as nothing in our
22963 plugins checks this return value.
22964 (gst_pad_stop_task): Also take the stream lock if the pad has no
22965 task. Docs updated.
22967 2005-10-12 Wim Taymans <wim@fluendo.com>
22969 * gst/gstpad.c: (pre_activate), (post_activate),
22970 (gst_pad_activate_pull), (gst_pad_activate_push):
22971 Cleanup activation code. Reset old state if
22974 2005-10-12 Wim Taymans <wim@fluendo.com>
22976 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22977 (gst_base_sink_change_state):
22978 No need to prerol after receiving EOS.
22980 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22981 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22982 * gst/elements/gstidentity.c: (gst_identity_event):
22983 Print events more verbosely.
22985 2005-10-12 Wim Taymans <wim@fluendo.com>
22987 * check/Makefile.am:
22988 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22989 * check/states/sinks2.c:
22990 Moved sinks2 testcode in sinks check.
22992 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22993 (gst_bin_remove_func), (gst_bin_recalc_state),
22994 (gst_bin_change_state_func), (bin_bus_handler):
22995 Fix potential race condition when _get_state() iterated over an
22996 ASYNC element right before it posted a state completion.
22999 Do proper cast here.
23001 * gst/gstevent.c: (gst_event_new_newsegment),
23002 (gst_event_parse_newsegment):
23003 A playback rate of 0.0 is not allowed.
23005 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23007 * win32/common/config.h:
23008 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23009 (_trewinddir), (_ttelldir), (_tseekdir):
23010 * win32/common/dirent.h:
23011 * win32/common/gtchar.h:
23012 * win32/common/libgstbase.def:
23013 * win32/common/libgstreamer.def:
23014 * win32/vs6/grammar.dsp:
23015 * win32/vs6/gst_inspect.dsp:
23016 * win32/vs6/gst_launch.dsp:
23017 * win32/vs6/gstreamer.dsw:
23018 * win32/vs6/libgstbase.dsp:
23019 * win32/vs6/libgstelements.dsp:
23020 * win32/vs6/libgstreamer.dsp:
23021 Visual Studio 6 project files, and a new common directory.
23024 2005-10-11 Wim Taymans <wim@fluendo.com>
23026 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23027 (gst_base_sink_do_sync), (gst_base_sink_query),
23028 (gst_base_sink_change_state):
23029 * gst/base/gstbasesink.h:
23030 Correctly parse newsegment info.
23032 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23034 * gst/gst.c: (init_post):
23035 split plugin paths correctly
23037 2005-10-11 Wim Taymans <wim@fluendo.com>
23039 * check/gst/gstevent.c: (GST_START_TEST):
23040 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23041 (gst_base_sink_change_state):
23042 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23043 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23044 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23045 * gst/gstevent.c: (gst_event_new_newsegment),
23046 (gst_event_parse_newsegment):
23048 Added extra flag to newsegment for future API freeze.
23049 Updated check and base elements.
23051 2005-10-11 Julien MOUTTE <julien@moutte.net>
23053 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23054 (gst_collectpads_add_pad), (gst_collectpads_pop),
23055 (gst_collectpads_event), (gst_collectpads_chain):
23056 * gst/base/gstcollectpads.h: Handle EOS correctly.
23058 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23060 * tools/gst-launch.c: (main):
23061 more null protecting
23063 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23065 * gst/gst-i18n-lib.h:
23066 check for ENABLE_NLS, not GETTEXT_PACKAGE
23067 * gst/gstregistry.c: (gst_registry_add_plugin),
23068 (gst_registry_scan_path_level),
23069 (_gst_registry_remove_cache_plugins):
23070 protect possibly NULL strings
23071 * gst/parse/types.h:
23072 config.h already included before
23073 * tools/gst-inspect.c: (main):
23074 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23075 check for ENABLE_NLS, not GETTEXT_PACKAGE
23076 * tools/gst-launch.c: (main):
23077 check for ENABLE_NLS, not GETTEXT_PACKAGE
23079 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23082 if we don't have glib, fail before testing 2.8
23083 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23084 fix a leak, should fix plugins-base testsuite
23086 2005-10-11 Andy Wingo <wingo@pobox.com>
23088 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23089 take the mode we're going to as an arg. Go head and set the mode
23090 and flushing flags now, so that if the activate function starts a
23091 thread all the flags will be in the right state.
23092 (post_activate): Renamed also. Just handle making sure streaming
23093 finishes for the deactivation case, and setting the deactivated
23095 (gst_pad_set_active): Complain loudly if deactivation fails.
23096 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23097 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23098 remove the terrible hack.
23100 2005-10-11 Wim Taymans <wim@fluendo.com>
23102 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23103 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23104 (gst_bin_recalc_state), (gst_bin_change_state_func),
23105 (gst_bin_dispose), (bin_bus_handler):
23107 Prepare to make current EOS message queue more generic.
23110 * gst/gstevent.c: (gst_event_new_newsegment),
23111 (gst_event_parse_newsegment):
23113 Rename base to stream_time.
23115 * gst/gstmessage.h:
23118 2005-10-11 Wim Taymans <wim@fluendo.com>
23120 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23121 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23122 (gst_bin_change_state_func), (bin_bus_handler):
23124 Work on proper clock selection.
23126 2005-10-11 Edward Hervey <edward@fluendo.com>
23128 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23129 * libs/gst/controller/gstcontroller.h:
23130 Added GList* version of _remove_properties() in order to be able to wrap
23133 2005-10-11 Wim Taymans <wim@fluendo.com>
23135 * docs/design/part-states.txt:
23138 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23139 (gst_bin_change_state_func), (bin_bus_handler):
23140 Doc updates. Don't distribute the same clock over and over again.
23146 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23147 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23148 (gst_pad_send_event):
23150 Make probe emission threadsafe again.
23151 Register quarks and move _get_name() from utils.
23154 * gst/gstpipeline.c: (gst_pipeline_class_init),
23155 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23156 Only redistribute the clock of it changed.
23158 * gst/gstsystemclock.h:
23163 Moved the _flow_get_name() to GstPad.
23165 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23167 * check/gst-libs/gdp.c: (GST_START_TEST):
23168 * check/gst/gstcaps.c: (GST_START_TEST):
23169 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23170 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23171 (gst_dp_packet_from_caps):
23172 fix more valgrind warnings before turning up the heat
23174 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23176 * gst/parse/grammar.y:
23177 some cleanup before the hacking
23179 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23181 * gst/base/gstbasesrc.c: (gst_base_src_query):
23183 * gst/gstutils.c: (gst_guint64_to_gdouble),
23184 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23186 externalize, basesrc uses it
23187 obviously the implementation needs testing
23189 2005-10-10 Wim Taymans <wim@fluendo.com>
23191 * tests/sched/Makefile.am:
23192 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23193 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23195 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23197 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23198 apparently converting from guint64 to double is not implemented
23201 2005-10-10 Wim Taymans <wim@fluendo.com>
23203 * check/Makefile.am:
23204 * check/generic/states.c: (GST_START_TEST):
23205 * check/gst/gstbin.c: (GST_START_TEST):
23206 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23207 * check/states/sinks.c: (GST_START_TEST):
23208 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23210 Check fixes, use API as stated in design docs, remove hacks.
23212 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23213 (gst_base_sink_change_state):
23214 Catch stopping our task while we're shutting down.
23216 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23217 (gst_bin_remove_func), (gst_bin_get_state_func),
23218 (gst_bin_recalc_state), (gst_bin_change_state_func),
23221 * gst/gstelement.c: (gst_element_init),
23222 (gst_element_get_state_func), (gst_element_abort_state),
23223 (gst_element_commit_state), (gst_element_lost_state),
23224 (gst_element_set_state), (gst_element_change_state),
23225 (gst_element_change_state_func):
23226 * gst/gstelement.h:
23227 New state change algorithm (see #318116)
23229 * gst/gstpipeline.c: (gst_pipeline_class_init),
23230 (gst_pipeline_init), (gst_pipeline_set_property),
23231 (gst_pipeline_get_property), (do_pipeline_seek),
23232 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23233 * gst/gstpipeline.h:
23234 Remove crude state change hacks.
23237 Remove crude hacks.
23239 * tools/gst-launch.c: (main):
23240 Fixes for state change. Needs some more work to fully use the
23243 2005-10-10 Andy Wingo <wingo@pobox.com>
23245 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23247 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23248 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23251 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23253 * gst/gstiterator.c: (gst_iterator_new):
23254 Fix my previous commit: GTypes passed to gst_iterator_new()
23255 can be fundamental types.
23257 2005-10-10 Wim Taymans <wim@fluendo.com>
23259 * gst/gstelement.c: (gst_element_iterate_pad_list),
23260 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23261 (gst_element_iterate_sink_pads):
23262 Use src/sink pads lists for the respective iterators instead
23265 2005-10-10 Andy Wingo <wingo@pobox.com>
23267 Merged in popt removal + GOption addition patch from Ronald, bug
23270 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23271 GstElement macros around, remove popt-related symbols, add goption
23274 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23276 * docs/gst/Makefile.am:
23277 * docs/libs/Makefile.am: No POPT_CFLAGS.
23279 * examples/manual/Makefile.am:
23280 * docs/manual/basics-init.xml: Doc updates with an example.
23282 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23283 (gst_init), (parse_one_option), (parse_goption_arg):
23284 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23285 bit of hand merging and debugging to get the GOption stuff working
23288 * tests/Makefile.am:
23289 * tools/Makefile.am:
23290 * tools/gst-inspect.c: (main):
23291 * tools/gst-launch.c: (main):
23292 * tools/gst-run.c: (main):
23293 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23295 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23297 * gst/gstiterator.c: (gst_iterator_new):
23298 Add assertions to make sure passed GType is likely to really
23299 be a GType (as the compiler won't catch it if the size and
23300 GType arguments get mixed up, see #318447).
23302 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23304 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23306 * gst/gstbin.c: (gst_bin_iterate_sorted):
23307 Pass GType and size arguments to gst_iterator_new() in the right
23308 order (maybe we should make _new() take the GType as first argument
23309 just like _new_list()?) (#318447).
23312 2005-10-10 Wim Taymans <wim@fluendo.com>
23314 * gst/gstelement.c: (gst_element_finalize):
23315 And free the GStaticRecMutex too
23317 2005-10-10 Andy Wingo <wingo@pobox.com>
23319 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23320 Allocate and free the mutex properly.
23322 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23324 (GstElement): The state_lock is now recursive. Rebuild your
23325 plugins, suckers. Old macros adapted.
23327 * docs/gst/gstreamer-sections.txt: Doc updates.
23330 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23331 (g_static_rec_cond_wait): Ported from state changes patch, while
23332 we wait on bug #317802 to be solved in a well-distributed GLib.
23334 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23335 gst_element_change_state, variable name changes.
23336 (gst_element_change_state): Split out of gst_element_set_state in
23337 preparation for the state change merge. Doesn't pay attention to
23338 the 'transition' argument.
23339 (gst_element_set_state): Updates, hopefully purely cosmetic.
23340 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23341 state change patch.
23342 (gst_element_get_state_func): Renamed from get_state, cosmetic
23345 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23347 * gst/elements/gstelements.c:
23348 * win32/GStreamer.vcproj:
23350 * win32/dirent.c: (_tseekdir):
23351 * win32/gst-inspect.vcproj:
23352 * win32/gst-launch.vcproj:
23353 * win32/gstconfig.h:
23354 * win32/gstelements.vcproj:
23355 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23356 * win32/gstreamer.def:
23357 * win32/msvc71.sln:
23358 updates for the win32 build (patch from Sebastien Moutte)
23360 2005-10-10 Andy Wingo <wingo@pobox.com>
23362 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23363 gst_bin_get_state, cleaned up (but no logic changes).
23364 (bin_element_is_sink): Comment updates.
23365 (sink_iterator_filter): Remove needless cast.
23366 (gst_bin_iterate_sinks): Doc update.
23367 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23368 cleaned up (but no logic changes).
23370 * check/states/sinks.c (test_src_sink): Cleanups from the state
23372 (test_livesrc_sink): Sync on the state.
23374 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23375 the state change patch.
23377 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23380 * check/gst/gstbin.c: Merge in some style fixes and additional
23381 checks from Wim's state change patch.
23383 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23385 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23386 (gst_type_find_helper):
23387 Check whether we have the requested data already in our list of
23388 cached buffers before pulling a new buffer; also make the buffer
23389 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23391 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23396 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23397 don't use long long, it's not portable. Replacing with
23398 gint64 seems to work; let's hope no skeletons fall out of the closet.
23400 2005-10-10 Andy Wingo <wingo@pobox.com>
23402 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23404 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23406 * docs/gst/gstreamer-sections.txt:
23411 * gst/gstmessage.c: (gst_message_parse_state_changed):
23414 more docs, fix compilation
23416 2005-10-09 Philippe Khalaf <burger@speedy.org>
23417 * gst/gstmessage.c:
23418 Fixed a few forgotten variables on previous commit
23420 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23422 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23423 Fix evil typefind crasher: getrange() might return a short
23424 buffer at the end of a file, but gst_type_find_peek() must
23425 either return the full data as requested or NULL, but
23426 never a short buffer.
23428 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23430 * gst/gstmessage.c: (gst_message_new_state_changed),
23431 (gst_message_parse_state_changed):
23432 * gst/gstmessage.h:
23433 don't use "new", it's a C++ keyword
23435 2005-10-08 Wim Taymans <wim@fluendo.com>
23437 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23438 * gst/gstelement.c: (gst_element_post_message):
23439 * gst/gstpipeline.c: (gst_pipeline_change_state):
23440 Small docs and debug updates.
23442 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23444 * docs/gst/gstreamer-sections.txt:
23445 * gst/gstelementfactory.c:
23447 * gst/gsttaglist.c:
23450 2005-10-08 Wim Taymans <wim@fluendo.com>
23452 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23453 (gst_bin_dispose), (bin_bus_handler):
23454 Fix typos, add comments.
23455 Clear EOS list when going to PAUSED from any direction and do it
23456 in a threadsafe way.
23457 Get base time in a threadsafe way too.
23458 Fix confusing debug in the change_state function.
23459 Various other small cleanups.
23461 * gst/gstelement.c: (gst_element_post_message):
23462 Fix very verbose bus posting code.
23464 * gst/gstpipeline.c: (gst_pipeline_class_init),
23465 (gst_pipeline_set_property), (gst_pipeline_get_property),
23466 (gst_pipeline_change_state):
23467 Small ARG_ -> PROP_ cleanup
23469 2005-10-08 Wim Taymans <wim@fluendo.com>
23471 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23472 Do a less CPU demanding EOS check because we can.
23474 2005-10-08 Wim Taymans <wim@fluendo.com>
23476 * libs/gst/dataprotocol/dataprotocol.c:
23477 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23478 (gst_dp_packet_from_event):
23479 * libs/gst/dataprotocol/dataprotocol.h:
23480 * libs/gst/dataprotocol/dp-private.h:
23481 It's about time we bump the version number.
23482 Since event types don't fit in the guint8 anymore describing
23483 the payload type, make payload type 16 bits wide.
23485 2005-10-08 Wim Taymans <wim@fluendo.com>
23487 * docs/design/part-TODO.txt:
23488 * docs/design/part-clocks.txt:
23489 * docs/design/part-events.txt:
23490 * docs/design/part-gstbin.txt:
23491 * docs/design/part-gstelement.txt:
23492 * docs/design/part-gstpipeline.txt:
23493 * docs/design/part-live-source.txt:
23494 * docs/design/part-messages.txt:
23495 * docs/design/part-overview.txt:
23496 * docs/design/part-states.txt:
23499 2005-10-08 Wim Taymans <wim@fluendo.com>
23503 Fix event quark registration.
23504 Add some space between events so we can insert them in the
23507 2005-10-08 Wim Taymans <wim@fluendo.com>
23509 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23510 (gst_base_sink_handle_buffer):
23511 Better log message.
23514 * gst/gstelement.h:
23517 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23518 (gst_queue_set_property), (gst_queue_get_property):
23520 Remove old unused properties.
23522 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23523 * docs/gst/gstreamer-sections.txt:
23524 * gst/gstmessage.c:
23525 * gst/gstmessage.h:
23526 * gst/gstminiobject.c:
23527 * gst/gstminiobject.h:
23531 lots of new docs and doc fixes
23533 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23535 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23537 * gst/gstregistry.c: (gst_registry_lookup_locked),
23538 (gst_registry_scan_path_level):
23539 * gst/gstregistryxml.c: (load_plugin):
23540 Only ever load one plugin for a given plugin basename.
23541 This ensures correct overriding of GST_PLUGIN_PATH over
23542 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23543 system installed plugins.
23545 2005-10-08 Wim Taymans <wim@fluendo.com>
23547 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23548 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23549 Prepare for doing QOS.
23551 2005-10-08 Wim Taymans <wim@fluendo.com>
23553 * check/gst/gstbin.c: (GST_START_TEST):
23554 * check/pipelines/cleanup.c: (GST_START_TEST):
23555 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23556 Allow new clock message too.
23558 2005-10-08 Wim Taymans <wim@fluendo.com>
23560 * gst/gstmessage.c: (gst_message_new_error),
23561 (gst_message_new_warning), (gst_message_new_tag),
23562 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23563 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23564 (gst_message_new_segment_start), (gst_message_new_segment_done),
23565 (gst_message_parse_state_changed),
23566 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23567 (gst_message_parse_new_clock):
23568 * gst/gstmessage.h:
23569 Also carry the clock in question.
23571 2005-10-08 Wim Taymans <wim@fluendo.com>
23573 * gst/gstmessage.c: (gst_message_new_custom),
23574 (gst_message_new_eos), (gst_message_new_error),
23575 (gst_message_new_warning), (gst_message_new_tag),
23576 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23577 (gst_message_new_new_clock), (gst_message_new_segment_start),
23578 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23579 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23580 * gst/gstmessage.h:
23582 Added clock related messages.
23584 * gst/gstpipeline.c: (gst_pipeline_change_state):
23585 Post message when the clock changed.
23587 * tools/gst-launch.c: (event_loop):
23590 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23592 * tools/gst-inspect.c: (print_element_properties_info):
23593 Can't pass NULL strings to g_print() on windows.
23595 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23597 * docs/Makefile.am:
23598 * docs/gst/Makefile.am:
23599 * docs/gst/gstreamer-docs.sgml:
23600 * docs/gst/running.xml:
23601 * docs/version.entities.in:
23602 add a chapter on running GStreamer.
23603 document GST_DEBUG and GST_PLUGIN* env vars
23605 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23610 remove PLUGINS_BUILDDIR stuff
23611 * gst/gst.c: (init_post):
23612 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23614 remove, it was condescending and not needed
23616 2005-10-08 Wim Taymans <wim@fluendo.com>
23618 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23619 (gst_base_sink_handle_object), (gst_base_sink_event),
23620 (gst_base_sink_wait), (gst_base_sink_handle_event),
23621 (gst_base_sink_change_state):
23622 * gst/base/gstbasesink.h:
23623 Repost EOS message while going to PLAYING if still EOS.
23624 Make sure that when receiving a FLUSH_START we don't attempt
23625 to sync on the clock anymore.
23627 2005-10-08 Wim Taymans <wim@fluendo.com>
23629 * tools/gst-launch.c: (event_loop):
23630 Better message printout.
23632 2005-10-08 Wim Taymans <wim@fluendo.com>
23634 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23635 (gst_bin_child_proxy_get_children_count):
23636 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23637 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23638 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23639 (gst_child_proxy_set_valist):
23640 * gst/parse/grammar.y:
23641 Make ChildProxy threadsafe and fix mem leaks.
23643 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23645 * gst/gst.c: (init_post):
23646 debug the GST_PLUGIN_ env vars
23648 2005-10-08 Wim Taymans <wim@fluendo.com>
23650 * check/gst/gstbin.c: (GST_START_TEST):
23651 * check/gst/gstmessage.c: (GST_START_TEST):
23652 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23653 * gst/gstelement.c: (gst_element_commit_state),
23654 (gst_element_lost_state):
23655 * gst/gstmessage.c: (gst_message_new_state_changed),
23656 (gst_message_parse_state_changed):
23657 * gst/gstmessage.h:
23658 * tools/gst-launch.c: (event_loop):
23659 Added extra field to STATE_CHANGE message with the pending
23660 state, which will be different from the new state soon.
23662 2005-10-08 Wim Taymans <wim@fluendo.com>
23664 * gst/gstbus.c: (gst_bus_pop):
23666 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23667 Small cleanups and doc updates.
23669 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23671 * gst/gst.c: (init_pre):
23672 * gst/gstbin.c: (gst_bin_add_func):
23673 log distributing clocks and base time
23674 * gst/gstregistry.c: (gst_registry_add_plugin),
23675 (gst_registry_scan_path_level), (gst_registry_scan_path):
23676 clean up the debugging output a little
23677 * gst/gstutils.c: (gst_element_state_get_name):
23678 warn about a memleak (I've actually seen this be used, though
23679 it was probably a bug)
23681 2005-10-07 Wim Taymans <wim@fluendo.com>
23683 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23684 (gst_base_src_init), (gst_base_src_default_newsegment),
23685 (gst_base_src_newsegment), (gst_base_src_do_seek),
23686 (gst_base_src_loop), (gst_base_src_start):
23687 * gst/base/gstbasesrc.h:
23688 Make the newsegment event customizable by subclasses.
23690 2005-10-07 Wim Taymans <wim@fluendo.com>
23692 * gst/gstevent.c: (gst_event_new_buffersize),
23693 (gst_event_parse_buffersize):
23695 New event for future idea.
23697 2005-10-07 Andy Wingo <wingo@pobox.com>
23699 * gst/gstelement.c (gst_element_post_message): Doc update.
23701 * docs/gst/gstreamer-sections.txt: Update.
23703 * gst/gstmessage.c (gst_message_new_application): Made into a
23704 function like honest API calls.
23705 (gst_message_new_element): New message type.
23707 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23709 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23710 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23713 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23714 NO_PREROLL from gst_element_change_state to fall through.
23716 2005-10-07 Wim Taymans <wim@fluendo.com>
23718 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23719 (gst_ghost_pad_do_activate_push):
23720 Activating a ghostpad with no internal pad in push mode
23723 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23726 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23727 Fixes compilation on Windows.
23729 2005-10-07 Michael Smith <msmith@fluendo.com>
23731 * tools/gst-inspect.c:
23732 Print out feature and plugin count at the end when printing out
23735 2005-10-04 Michael Smith <msmith@fluendo.com>
23737 * gst/gsterror.c: (_gst_stream_errors_init):
23738 Add another error string used in a few existing plugins.
23741 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23742 * tools/gst-inspect.c: (print_element_info):
23743 When a feature disappears from a plugin (and the feature exists in
23744 the cached registry file), things went horribly wrong. This isn't a
23745 complete fix, we should actually be removing the 'missing' features
23746 from the features list when we load the actual plugin. That's not
23749 2005-10-04 Johan Dahlin <johan@gnome.org>
23751 * check/gst/gstiterator.c: (GST_START_TEST):
23752 * gst/gstbin.c: (gst_bin_iterate_elements),
23753 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23754 * gst/gstelement.c: (gst_element_iterate_pads):
23755 * gst/gstformat.c: (gst_format_iterate_definitions):
23756 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23757 (gst_iterator_new_list), (gst_iterator_filter):
23758 * gst/gstiterator.h:
23759 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23760 Add a GType to GstIterator, update callsites and tests.
23762 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23764 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23765 give events a chance to be handled by event probes when the pad
23768 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23770 * gst/gstevent.c: (gst_event_type_get_name),
23771 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23773 add string representations for event types
23775 2005-10-06 Wim Taymans <wim@fluendo.com>
23777 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23778 Don't use NULL pointers.
23780 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23782 * gst/gst_private.h:
23784 * gst/gstelement.c:
23786 * gst/gstpluginfeature.c:
23787 widen the debug category in output to fit the biggest one we have
23788 add a bus category and use it
23789 play with the colors
23790 fix up some categories
23792 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23794 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23795 add push activation of sink ghost pads.
23796 Andye, please verify
23798 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23800 * gst/gstutils.c: (gst_element_link_pads):
23801 fix a bug in the case where neither element has a pad
23802 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23803 add a test for that case
23805 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23807 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23808 emit have-data before checking for peers. This allows
23809 for probe handlers to connect elements. This helps autopluggers.
23810 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23812 add six checks, linked/unlinked with no/true/false probe
23814 2005-10-04 Wim Taymans <wim@fluendo.com>
23816 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23817 (gst_fake_sink_event), (gst_fake_sink_preroll),
23818 (gst_fake_sink_render), (gst_fake_sink_change_state):
23819 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23820 (gst_fake_src_get_property), (gst_fake_src_create),
23821 (gst_fake_src_stop):
23822 * gst/elements/gstidentity.c: (gst_identity_stop):
23823 Protect last_message with lock.
23825 2005-10-04 Edward Hervey <edward@fluendo.com>
23828 Added precision in the comments for GST_FORMAT_DEFAULT
23830 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23832 * tools/gst-launch.c: (main):
23833 Don't try to run erroneous pipelines.
23835 2005-10-04 Julien MOUTTE <julien@moutte.net>
23837 * gst/gstbus.c: We don't need this header.
23839 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23842 back to development
23844 === release 0.9.3 ===
23846 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23850 Releasing 0.9.3, "Unregistered"
23852 2005-10-03 Andy Wingo <wingo@pobox.com>
23854 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23855 whereby calling a pad's activatepush() function can start a thread
23856 that starts to push or pull before the pad gets the FLUSHING flag
23857 unset. Hack around it by holding the stream lock until the flag is
23858 set. Need to replace this with a proper solution. Together with
23859 the ghost pad fixes, this fixes mp3 playing/tagreading.
23861 * docs/design/part-gstghostpad.txt: Add a note about activation of
23862 proxy pads outside of ghost pads.
23864 * gst/gstghostpad.c: Implement the ghost pad activation design.
23866 2005-10-02 Andy Wingo <wingo@pobox.com>
23868 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23869 It is volatile, after all.
23871 * docs/design/part-gstghostpad.txt: Flesh out activation with
23874 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23877 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23880 Fix (unused) AM_CONDITIONAL tests.
23882 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23884 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23886 * gst/gstutils.c: (gst_pad_query_convert):
23887 Add assertion that makes sure src_val is >=0, just like
23888 gst_query_new_convert() has. (#315895)
23890 2005-09-30 Edward Hervey <edward@fluendo.com>
23892 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23893 Let's not iterate pads we're not interested in, it avoids getting
23894 sky-high refcounts on sinkpad.
23896 2005-09-30 Wim Taymans <wim@fluendo.com>
23898 * gst/gstelement.c: (gst_element_set_state),
23899 (gst_element_change_state):
23900 Small tweak, element in ASYNC remains ASYNC.
23902 2005-09-30 Wim Taymans <wim@fluendo.com>
23904 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23905 Only error is an error.
23907 * gst/gstbin.c: (gst_bin_change_state):
23910 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23911 Also call pad_block in pad alloc.
23913 * gst/gstutils.c: (gst_flow_get_name):
23916 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23918 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23919 (gst_base_src_get_range):
23920 Fix documentation typos. Add some more debug info.
23922 2005-09-29 David Schleef <ds@schleef.org>
23924 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23925 more end-user friendly.
23926 * tools/gst-inspect.c: (main): Check if command-line argument is
23927 a file and attempt to load that file as a plugin.
23929 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23931 * check/gst/gstbin.c:
23932 * check/states/sinks.c:
23933 fix tests for the new warning
23934 * check/gst/gstpipeline.c:
23935 add a test for pipeline and bus interaction
23936 * gst/gstelement.c:
23937 elements should be NULL if they get disposed; add a warning if not
23939 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23942 for 2.6 refcounting, make debug log more correct by printing
23943 the actual refcounts at the time of swap (Wim)
23945 2005-09-29 Andy Wingo <wingo@pobox.com>
23947 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23948 removes signal watches previously added via
23949 gst_bus_add_signal_watch.
23950 (gst_bus_add_signal_watch): Don't return the source id, just store
23951 it on the bus if there wasn't an id already.
23953 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23954 add_signal_watch and remove_signal_watch.
23956 2005-09-29 Edward Hervey <edward@fluendo.com>
23958 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
23959 Better if we actually iterate the list :)
23961 2005-09-29 Wim Taymans <wim@fluendo.com>
23963 * check/gst/gstbin.c: (GST_START_TEST):
23964 Change for new bus API.
23966 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23967 (send_messages), (GST_START_TEST), (gstbus_suite):
23968 Change for new bus signal API.
23970 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23971 (gst_bus_source_prepare), (gst_bus_source_check),
23972 (gst_bus_create_watch), (gst_bus_add_watch_full),
23973 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23974 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23976 Remove support for multiple GSources operating on different
23977 message types as it is too complex and unneeded when using
23979 Added support for receiving signals from the bus.
23981 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23983 * docs/libs/tmpl/gstdataprotocol.sgml:
23984 * docs/manual/advanced-dataaccess.xml:
23985 * gst/elements/gstcapsfilter.c:
23987 rename filter-caps to caps property
23989 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23991 * gst/gstvalue.c: (gst_value_deserialize_fraction):
23992 More robust fraction string parsing.
23994 * docs/pwg/appendix-porting.xml:
23995 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23997 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23999 * gst/gstcaps.c: (gst_caps_do_simplify):
24000 Thou shalt not free a structure and then continue using it
24001 in the next loop iteration.
24003 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24005 Add test case for caps simplification.
24007 2005-09-29 Wim Taymans <wim@fluendo.com>
24009 * check/gst/gstbin.c: (GST_START_TEST):
24012 2005-09-29 Wim Taymans <wim@fluendo.com>
24014 * check/gst/gstbin.c: (GST_START_TEST):
24017 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24018 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24019 (find_element), (gst_bin_sort_iterator_next),
24020 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24021 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24022 (gst_bin_change_state), (gst_bin_dispose):
24023 A bin does not have a bus, it gets the bus from the parent.
24025 * gst/gstelement.c: (gst_element_requires_clock),
24026 (gst_element_provides_clock), (gst_element_is_indexable),
24027 (gst_element_is_locked_state), (gst_element_change_state),
24028 (gst_element_set_bus_func):
24031 * gst/gstpipeline.c: (gst_pipeline_class_init),
24032 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24033 The pipeline provides a bus.
24035 2005-09-28 Johan Dahlin <johan@gnome.org>
24037 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24038 gst_structure_get_enum instead of gst_structure_get_int
24040 * gst/gststructure.c (gst_structure_get_enum): Impl.
24042 * gst/gststructure.h (gst_structure_get_enum): Add
24044 * docs/gst/gstreamer-sections.txt: Ditto
24046 * gst/gstmessage.c (gst_message_new_state_changed): Use
24047 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24048 which does introspection.
24049 Reviewed by Christian Schaller
24051 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24053 * gst/gstinfo.c: (gst_debug_log_default):
24054 don't do dummy g_strdup()s
24055 * libs/gst/controller/gstcontroller.c:
24056 (on_object_controlled_property_changed),
24057 (gst_controlled_property_new), (gst_controller_new_valist),
24058 (gst_controller_new_list),
24059 (gst_controller_remove_properties_valist), (gst_controller_set),
24060 (gst_controller_get), (gst_controller_sync_values),
24061 (gst_controller_get_value_array), (_gst_controller_class_init),
24062 (gst_controller_get_type):
24063 * libs/gst/controller/gstcontroller.h:
24064 * libs/gst/controller/gstinterpolation.c:
24065 (gst_controlled_property_find_timed_value_node):
24066 convert // to /**/ comments
24068 2005-09-28 Wim Taymans <wim@fluendo.com>
24070 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24071 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24072 (gst_bus_sync_signal_handler):
24074 Added async-message and sync-message signals to the bus.
24075 Added helper BusFunc to emit signals for all posted messages.
24077 * gst/gstmessage.c: (gst_message_type_get_name),
24078 (gst_message_type_to_quark), (gst_message_get_type):
24079 * gst/gstmessage.h:
24080 Register quarks for message names.
24082 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24084 * docs/libs/gstreamer-libs-sections.txt:
24085 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24086 (gst_controller_new_list):
24087 * libs/gst/controller/gstcontroller.h:
24088 added another constructor for language bindings
24090 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24092 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24096 * gst/gstinfo.c: (_gst_debug_init):
24097 slightly more readable color for refcount debugging
24099 2005-09-28 Wim Taymans <wim@fluendo.com>
24101 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24102 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24103 (find_element), (gst_bin_sort_iterator_next),
24104 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24105 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24106 (gst_bin_change_state), (gst_bin_dispose):
24107 Small doc fixes. get_clock -> provide_clock.
24109 * gst/gstelement.c: (gst_element_class_init),
24110 (gst_element_provides_clock), (gst_element_provide_clock),
24111 (gst_element_get_clock), (gst_element_commit_state),
24112 (gst_element_lost_state):
24113 * gst/gstelement.h:
24114 Make get/set_clock() symetric. Add provide_clock vmethod since
24115 that is actually what this function does.
24117 * gst/gstpipeline.c: (gst_pipeline_class_init),
24118 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24119 (gst_pipeline_get_clock):
24120 get_clock -> provide_clock.
24122 2005-09-28 Andy Wingo <wingo@pobox.com>
24124 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24125 lieu of real docs...
24127 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24129 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24131 * gst/elements/gstcapsfilter.c:
24132 * gst/elements/gstfakesink.c:
24133 * gst/elements/gstfakesrc.c:
24134 * gst/elements/gstfdsink.c:
24135 * gst/elements/gstfdsrc.c:
24136 * gst/elements/gstfilesink.c:
24137 * gst/elements/gstfilesrc.c:
24138 * gst/elements/gstidentity.c:
24139 * gst/elements/gsttee.c:
24140 * gst/elements/gsttypefindelement.c:
24141 Make element details static.
24143 2005-09-28 Wim Taymans <wim@fluendo.com>
24145 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24146 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24147 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24148 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24149 (gst_bin_change_state), (gst_bin_dispose):
24150 Some documentation updates.
24151 Clean up dispose handlers.
24153 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24154 * gst/gstpad.c: (gst_pad_dispose):
24155 Clean up dispose handler.
24157 * gst/gstpipeline.c: (gst_pipeline_change_state):
24158 Removed spurious UNLOCK.
24160 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24162 * docs/gst/gstreamer-sections.txt:
24163 * gst/base/gstbasesrc.h:
24164 * gst/gstelement.h:
24168 * gst/gstpipeline.c:
24169 * gst/gstpipeline.h:
24172 added two new functions to the docs
24173 documents all undocumented GstXXXFlags
24174 completed some incomplete docs
24176 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24178 * gst/gstbin.c: (gst_bin_dispose):
24179 * gst/gstelement.c: (gst_element_dispose):
24180 remove now useless and leaky resurrection code in dispose
24181 * gst/base/gstbasesrc.c: (gst_base_src_init):
24182 * gst/gstelementfactory.c: (gst_element_factory_create):
24183 * gst/gstobject.c: (gst_object_set_parent):
24186 2005-09-27 Wim Taymans <wim@fluendo.com>
24188 * docs/design/part-TODO.txt:
24191 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24192 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24193 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24194 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24195 (gst_bin_change_state):
24196 * gst/gstelement.h:
24197 Remove element variable, we keep element info in the iterator now.
24199 2005-09-27 Andy Wingo <wingo@pobox.com>
24201 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24204 2005-09-27 Wim Taymans <wim@fluendo.com>
24206 * check/gst/gstbin.c: (GST_START_TEST):
24207 Enable check that works now.
24209 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24210 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24211 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24212 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24213 (gst_bin_change_state):
24215 Redid the state change algorithm using a topological sort algo.
24216 Handles all cases correctly.
24217 Exposed iterator for state change order.
24219 * gst/gstelement.h:
24220 Temp storage for state changes. Need to get rid of this soon.
24222 2005-09-27 Wim Taymans <wim@fluendo.com>
24224 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24225 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24226 (link_fold_func), (gst_pad_proxy_setcaps):
24227 Leak fixes, the fold functions need to unref the passed object and
24228 _get_parent_*() returns ref to parent.
24230 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24232 * check/gst/gstbuffer.c: (test_make_writable):
24233 Plug leak in test case and fix 'make check-valgrind'
24235 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24237 * gst/gstbuffer.c: (gst_subbuffer_init):
24238 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24239 works correctly in all circumstances (we could have just copied
24240 the parent buffer's readonly flag, but conceptually it seems
24241 cleaner to mark all subbuffers as read-only). (based on patch
24242 by Alessandro Decina, #314710).
24244 * check/gst/gstbuffer.c: (create_read_only_buffer),
24245 (test_make_writable), (test_subbuffer_make_writable),
24247 Add some tests for gst_buffer_make_writable().
24249 2005-09-27 Wim Taymans <wim@fluendo.com>
24251 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24252 use gst_object_has_ancestor().
24254 * gst/gstobject.c: (gst_object_has_ancestor):
24256 gst_object_has_ancestor() copied from gstbin.c as it is a
24259 * tests/instantiate/create.c: (create_all_elements):
24260 * tests/lat.c: (handoff_src), (handoff_sink):
24261 * tests/sched/runxml.c: (main):
24262 * tests/seeking/seeking1.c: (main):
24263 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24265 Fix compilation of some tests.
24267 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24270 Remove comment. GST_TYPE_G_ERROR is here to stay,
24271 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24272 (#316961, #300610).
24274 2005-09-26 Wim Taymans <wim@fluendo.com>
24276 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24277 Added check that shows error in state change order.
24279 2005-09-26 Wim Taymans <wim@fluendo.com>
24281 * gst/gstbin.c: (gst_bin_change_state):
24282 Make state change function use 3 queues again, we were
24283 adding elements in the wrong order.
24285 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24288 * gst/gstpad.c: (gst_pad_dispose):
24289 Added some debug info first.
24291 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24293 * docs/design/draft-push-pull.txt:
24294 * docs/design/part-events.txt:
24295 * docs/design/part-overview.txt:
24296 * docs/design/part-scheduling.txt:
24297 Replace all _pull_region() with _pull_range()
24299 2005-09-26 Andy Wingo <wingo@pobox.com>
24301 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24303 * check/gst-libs/controller.c: Update for controller api change.
24306 * tests/Makefile.am:
24307 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24308 over by GLib bug 118439.
24310 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24311 routines to a function.
24313 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24315 * libs/gst/controller/gsthelper.c:
24316 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24317 (gst_object_sync_values): Renamed from sink_values. Ugh.
24319 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24321 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24322 Renamed from controller_key, as it is exported.
24324 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24326 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24331 * gst/gstpadtemplate.h:
24334 * gst/gstqueryutils.c:
24335 * gst/gstqueryutils.h:
24336 remove queryutils headers after moving the two used functions
24337 to gstquery. also fixes build problem for gstsiddec
24339 2005-09-26 Michael Smith <msmith@fluendo.com>
24341 * tools/gst-launch.1.in:
24342 Correct documentation in manpage of debug syntax
24344 2005-09-26 Wim Taymans <wim@fluendo.com>
24346 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24347 (gst_base_src_is_seekable), (gst_base_src_change_state):
24348 Some more debugging info.
24350 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24352 * docs/gst/gstreamer-sections.txt:
24353 * gst/base/gstbasetransform.h:
24357 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24359 * docs/gst/.cvsignore:
24360 * docs/gst/tmpl/.cvsignore:
24361 * docs/gst/tmpl/gstpipeline.sgml:
24362 * docs/gst/tmpl/gstplugin.sgml:
24363 * gst/gstpipeline.c:
24366 inlined the last two docs files
24367 removed the tmpl directory from cvs (no more conflicts here!)
24369 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24371 * docs/gst/gstreamer-sections.txt:
24372 * docs/gst/tmpl/.cvsignore:
24373 * docs/gst/tmpl/gstpad.sgml:
24374 * docs/gst/tmpl/gstpadtemplate.sgml:
24376 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24377 (gst_pad_finalize), (gst_pad_set_pad_template):
24379 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24380 (gst_pad_template_class_init), (gst_pad_template_init),
24381 (gst_pad_template_dispose), (name_is_valid),
24382 (gst_static_pad_template_get), (gst_pad_template_new),
24383 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24384 (gst_pad_template_pad_created):
24385 * gst/gstpadtemplate.h:
24386 inlined two more docs
24387 factored gstpadtemplate out of gstpad
24389 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24391 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24392 (test_children_state_change_order_semi_sink):
24393 Fix test case: we can't rely on a fixed state change order when
24394 going from READY => PAUSED because the sink might commit its
24395 new state first when the first buffer created by the source
24396 reaches the sink before the source has finished its change state.
24397 (Test case still fails at times, see #316856, comment 5 onwards)
24399 2005-09-24 Wim Taymans <wim@fluendo.com>
24401 * docs/design/part-events.txt:
24402 * docs/design/part-gstbus.txt:
24403 * docs/design/part-gstpipeline.txt:
24404 * docs/design/part-messages.txt:
24405 * docs/design/part-overview.txt:
24406 * docs/design/part-segments.txt:
24410 * gst/gstelement.c:
24413 * gst/gstiterator.c:
24414 Various documentation updates.
24416 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24419 Well, that's embarassing. Luckily we weren't using
24420 GST_CLOCK_DIFF anywhere.
24422 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24424 * common/gtk-doc.mak:
24425 don't fail on building XML, FC4 slave shows a bunch of doc
24426 missing bits that I don't get
24428 * gst/gstpipeline.c:
24429 * gst/gststructure.c:
24432 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24434 * docs/design/part-gstbin.txt:
24435 * docs/design/part-gstbus.txt:
24437 Add blurb about how the bus goes into flushing mode and
24438 drops all messages when its bin goes from READY into NULL
24441 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24443 * docs/gst/gstreamer-sections.txt:
24444 * gst/gststructure.c: (gst_structure_get_clock_time):
24445 * gst/gststructure.h:
24446 add a method to get a GstClockTime out of a structure
24448 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24450 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24451 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24452 Added test to check state change order in bins (can still be made
24453 to fail here under heavy disk load; bails out with 'Push on pad
24454 fakesink:sink0, but it was not activated in push mode').
24456 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24457 Fix state change order when there is only a semi sink (#316856)
24459 * gst/gstbus.c: (gst_bus_class_init):
24460 Use _class_peek_parent(), not _class_ref(); fix docs to say
24461 'default main context' instead of 'mainloop' where that is
24464 * gst/gstelement.c: (gst_element_commit_state),
24465 (gst_element_set_state):
24466 Fix typos in debug messages
24468 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24471 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24472 * gst/gstpluginfeature.c:
24474 various doc updates
24475 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24476 change an assert into an error until it gets fixed properly
24478 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24480 * docs/gst/gstreamer-sections.txt:
24481 * docs/gst/tmpl/.cvsignore:
24482 * docs/gst/tmpl/gstelement.sgml:
24483 * docs/gst/tmpl/gstinfo.sgml:
24484 * docs/gst/tmpl/gstobject.sgml:
24485 * gst/gstelement.c:
24486 * gst/gstelement.h:
24489 * gst/gstobject.c: (gst_object_class_init):
24491 inlined 3 more biiiig doc files and added some missing docs on the fly
24493 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24495 * check/gst/.cvsignore:
24496 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24497 * gst/gstregistryxml.c: (load_plugin),
24498 (gst_registry_xml_save_plugin):
24499 put back source in registry. add checks for find_plugin.
24500 * testsuite/states/bin.c: (assert_state), (empty_bin),
24501 (test_adding_one_element), (main):
24502 * testsuite/states/locked.c: (main):
24503 some compile/run fixes
24505 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24507 * check/gst/gstvalue.c: (GST_START_TEST):
24508 fix leaks in the test itself
24510 2005-09-22 Wim Taymans <wim@fluendo.com>
24512 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24513 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24514 (gst_base_sink_query):
24515 Prepare for more accurate position reporting and query
24518 * gst/gstelement.c: (gst_element_send_event),
24519 (gst_element_set_state):
24522 2005-09-22 Wim Taymans <wim@fluendo.com>
24524 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24525 (gst_query_parse_segment):
24527 More documentation.
24528 Add segment query for future use.
24530 2005-09-22 Wim Taymans <wim@fluendo.com>
24532 * gst/gstbin.c: (gst_bin_add_func):
24533 Some more debug info.
24535 * gst/gstelement.c: (gst_element_send_event):
24536 Simplify send_event
24538 * gst/gstelement.h:
24539 Don't know how flags got broken.
24544 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24546 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24547 Add simplistic test suite for GST_TYPE_DATE serialisation and
24550 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24552 * docs/gst/gstreamer-sections.txt:
24553 * gst/gststructure.c: (gst_structure_set_valist),
24554 (gst_structure_get_date):
24555 * gst/gststructure.h:
24556 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24557 (gst_date_copy), (gst_value_compare_date),
24558 (gst_value_serialize_date), (gst_value_deserialize_date),
24559 (gst_value_transform_date_string),
24560 (gst_value_transform_string_date), (_gst_value_initialize):
24562 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24563 bunch of utility functions along with a hack that checks that
24564 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24565 is required. Part of the grand scheme in #170777.
24567 2005-09-22 Andy Wingo <wingo@pobox.com>
24569 * gst/gstconfig.h.in: Psych out gtk-doc.
24571 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24573 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24575 * tools/gst-inspect.c (print_element_list): Plug some
24576 inconsequential leaks.
24578 * gst/gstregistry.c (gst_registry_get_default): Doc.
24580 * check/gst/gstplugin.c:
24581 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24582 * gst/gstelementfactory.c (gst_element_factory_create):
24583 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24586 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24587 (gst_plugin_feature_load): Doc, don't eat refs.
24589 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24590 (gst_plugin_list_free): Doc.
24591 (gst_plugin_load_file): Doc updates.
24593 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24594 accessors returning refcounted objects, return a ref.
24596 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24597 accessor for caps. IDEMPOTENCE. Oh yes.
24599 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24601 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24603 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24604 (_gst_debug_register_funcptr):
24605 Add mutex to serialise access to the hash table with
24606 the function pointer => function name string mapping;
24607 make that hash table static scope (#316809).
24609 * gst/registries/.cvsignore:
24610 Remove left-over file.
24612 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24614 * docs/pwg/appendix-porting.xml:
24615 And something about newsegment events and caps-on-buffers to
24616 the porting guide (feel free to improve).
24618 2005-09-21 Andy Wingo <wingo@pobox.com>
24620 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24621 data and event probes on the same pad.
24622 (test_buffer_probe_once): Test that removing probes from within
24623 the probe functions works.
24625 2005-09-21 Andy Wingo <wingo@pobox.com>
24627 * check/gst/gstutils.c: New file.
24628 (test_buffer_probe_n_times): A simple buffer probe test. More to
24631 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24632 have-data::buffer, not have-data.
24633 (gst_pad_add_event_probe): Likewise for have-data::event.
24634 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24635 peer' isn't quite right yet though.
24636 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24637 (gst_pad_remove_data_probe): Change to take the guint handler_id
24638 as their arg, not the function+data, which is more glib-like.
24640 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24641 the signal emission to indicate if the data is a buffer or an
24643 (gst_pad_get_type): Initialize buffer and event quarks.
24644 (gst_pad_class_init): have-data is now a detailed signal, yes it
24647 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24649 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24650 * gst/gstutils.c: (gst_util_set_value_from_string),
24651 (gst_util_set_object_arg):
24652 Don't put functional code in g_return_if_fail() or
24653 g_return_val_if_fail() statements, otherwise things will
24654 break when G_DISABLE_CHECKS is defined during compilation.
24656 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24658 * docs/gst/tmpl/.cvsignore:
24659 * docs/gst/tmpl/gstvalue.sgml:
24662 inlied another one and added some obvious docs
24664 2005-09-21 Wim Taymans <wim@fluendo.com>
24666 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24667 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24668 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24669 (gst_fdsrc_get_property), (gst_fdsrc_create):
24670 * gst/elements/gstfdsrc.h:
24671 Properly implement fdsrc. Removed signal and timeout,
24672 better implemented somewhere else.
24674 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24676 * docs/gst/tmpl/.cvsignore:
24677 * docs/gst/tmpl/gstimplementsinterface.sgml:
24678 * gst/gstinterface.c:
24681 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24683 * docs/gst/gstreamer-sections.txt:
24684 * docs/gst/tmpl/.cvsignore:
24685 * docs/gst/tmpl/gstenumtypes.sgml:
24686 remove obsolete doc file
24688 2005-09-21 David Schleef <ds@schleef.org>
24690 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24691 little beer, fix a little leak.
24693 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24695 * docs/gst/gstreamer-docs.sgml:
24696 * docs/gst/gstreamer-sections.txt:
24697 * docs/gst/tmpl/.cvsignore:
24701 * gst/gstelement.h:
24702 * gst/gstindex.c: (gst_index_class_init):
24704 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24705 (gst_index_factory_class_init), (gst_index_factory_init),
24706 (gst_index_factory_finalize), (gst_index_factory_new),
24707 (gst_index_factory_destroy), (gst_index_factory_find),
24708 (gst_index_factory_create), (gst_index_factory_make):
24709 * gst/gstindexfactory.h:
24710 * gst/gstpluginfeature.c:
24711 * gst/gstpluginfeature.h:
24712 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24713 more docs inlined, splitted gstindex.{c,h}
24715 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24717 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24720 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24722 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24723 Set sync to FALSE by default.
24725 2005-09-20 Wim Taymans <wim@fluendo.com>
24727 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24728 (gst_base_sink_init):
24729 Make sync property settable from subclass.
24731 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24732 (gst_fake_sink_change_state):
24733 Set sync to FALSE by default.
24735 2005-09-20 Wim Taymans <wim@fluendo.com>
24737 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24738 * tools/gst-launch.c: (main):
24739 The timeout handler should have lower priority than the source
24740 so we don't timeout before popping a message with 0 timeout.
24741 Dump error messages after failed state change.
24743 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24745 * tools/gst-inspect.c: (print_element_properties_info):
24748 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24750 * check/gst/gstevent.c:
24751 * gst/elements/gstfakesink.c:
24752 * gst/elements/gstfakesink.h:
24753 remove the sync property from fakesink.
24754 has the side effect of setting sync TRUE
24755 for fakesink, which is a change. Anyone who knows how
24756 to fix this nicely in a GObject-y way, feel free.
24758 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24760 * docs/gst/gstreamer-docs.sgml:
24761 remove probe refsection
24763 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24765 * check/Makefile.am:
24766 disable valgrinding the controller test again
24767 * docs/gst/gstreamer-sections.txt:
24768 update for api-changes
24770 2005-09-20 Wim Taymans <wim@fluendo.com>
24772 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24773 (gst_base_sink_set_property), (gst_base_sink_get_property),
24774 (gst_base_sink_do_sync):
24775 * gst/base/gstbasesink.h:
24776 Added sync property to basesink to disable clock sync.
24778 2005-09-20 Andy Wingo <wingo@pobox.com>
24780 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24781 eating the caller's refcount.
24783 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24784 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24787 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24788 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24789 of GLib 2.8 public, so we can know which refcount to check in
24792 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24793 (gst_object_init): Only set the gst refcount if we're going ahead
24794 with the refcount hack.
24796 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24798 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24799 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24800 more leaks plumbed, added more debug-logging
24804 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24806 * gst/gstmessage.c:
24807 remove include of gstmemchunk.h
24809 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24811 * gst/gstclock.c: (_gst_clock_id_free):
24812 Commit from the Political Party For More Atomic CVS Commits,
24813 so that people don't waste too much of their day fishing
24814 out obvious leaks out of massive commits.
24815 Oh, and fix a pretty damn obvious leak in the memchunk
24818 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24820 * check/Makefile.am:
24821 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24822 plug mem-leak, re-add to valgrindable tests
24824 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24827 unbreak the build for those who have chronic arthritis
24828 and typing "make check" is just too taxing on the hands
24830 2005-09-20 Andy Wingo <wingo@pobox.com>
24832 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24833 really want it out, you should fix plugins at the same time.
24835 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24838 * docs/gst/gstreamer-sections.txt:
24840 added missing symbols to api docs
24841 disable ref-count hack if we have glib >= 2.8
24843 2005-09-19 David Schleef <ds@schleef.org>
24845 * docs/gst/Makefile.am: Ignore a few more internal headers
24846 * docs/gst/gstreamer-docs.sgml: Remove old sections
24847 * docs/gst/gstreamer-sections.txt: Remove old sections
24848 * docs/gst/tmpl/gstobject.sgml: update
24849 * docs/gst/tmpl/gstplugin.sgml: update
24850 * docs/gst/tmpl/gstpluginfeature.sgml: update
24851 * docs/random/ds/0.9-suggested-changes: update.
24852 * gst/Makefile.am: remove memchunk and trashstack, since they're
24854 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24855 * gst/gst.h: don't include some headers
24856 * gst/gstchildproxy.c: add gstmarshal.h
24857 * gst/gstclock.c: Don't use memchunks
24858 * gst/gstminiobject.c: Add some docs
24859 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24860 * gst/gstobject.h: same
24861 * gst/gstplugin.c: include gstmacros.h
24862 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24863 * gst/gstquery.c: don't use memchunks
24864 * gst/gstregistry.c: rename gst_registry_deinit()
24865 * gst/gstregistry.h: same
24867 2005-09-19 David Schleef <ds@schleef.org>
24869 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24870 * docs/libs/gstreamer-libs-sections.txt:
24871 * docs/libs/tmpl/gstgetbits.sgml:
24872 * docs/libs/tmpl/gstputbits.sgml:
24874 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24876 * win32/gstenumtypes.c:
24877 * win32/gstenumtypes.h:
24880 2005-09-19 Wim Taymans <wim@fluendo.com>
24882 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24883 Automatically PAUSE and RESUME a pipeline when a flushing seek
24886 2005-09-19 Andy Wingo <wingo@pobox.com>
24888 * gst/gstregistry.h: Spacing fixen.
24890 2005-09-19 Wim Taymans <wim@fluendo.com>
24892 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24893 Handle state change failure more correctly.
24895 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24897 * check/Makefile.am:
24898 * check/pipelines/cleanup.c: (run_pipeline):
24899 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24901 enable cleanup again after fixing the leak
24903 some more info on docs
24905 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24907 * check/Makefile.am:
24908 re-enable tests now that leaks are plugged
24910 * check/gst/gstbin.c:
24911 * check/gst/gstpipeline.c:
24912 add some more tests while fixing leaks
24913 * common/check.mak:
24914 make sure binaries are uptodate when valgrinding/gdbing
24916 * gst/gstelementfactory.c:
24917 remove a ref too many, and add a FIXME for when we get
24918 round to disposing of classes
24920 fix the refcounting when loading a plugin from a file and
24921 the code pretends that the pointer is the same even though
24922 of course it can change
24923 * gst/gstpluginfeature.c:
24924 unref plugins marked cached (a bit confusing as a name)
24925 as the docs state should be done
24926 various doc additions to explain refcounting
24927 * gst/gstregistry.c:
24928 * gst/gstregistryxml.c:
24931 2005-09-19 Wim Taymans <wim@fluendo.com>
24933 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24934 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24935 (send_messages), (GST_START_TEST), (gstbus_suite):
24936 * check/gst/gstpipeline.c: (GST_START_TEST):
24937 * check/pipelines/cleanup.c: (run_pipeline):
24938 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24940 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24941 (gst_bus_source_check), (gst_bus_source_dispatch),
24942 (gst_bus_create_watch), (gst_bus_add_watch_full),
24943 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24945 * tools/gst-launch.c: (event_loop):
24946 * tools/gst-md5sum.c: (event_loop):
24947 GstBusHandler -> GstBusFunc, return value has the same meaning as
24948 any other GSource (FALSE == remove source).
24949 _add_watch() and _add_watch_full() now take a MessageType mask to
24950 only handle specific types of messages.
24951 _poll() returns the GstMessage instead of the message type to avoid
24953 _have_pending() takes a MessageType mask now too.
24954 Added testsuite for multiple bus watches.
24955 Fix testsuites and applications for new bus API.
24957 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24959 * check/Makefile.am:
24960 mark a bunch of the tests as to fix until we fix them
24962 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24964 * common/check.mak:
24965 use GST_PLUGIN settings for valgrind tests as well, so we're
24966 valgrinding the correct thing
24967 * gst/gst.c: (init_post):
24970 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24972 * gst/gst.c: (init_post), (gst_deinit):
24973 * gst/gstelementfactory.c: (gst_element_factory_class_init),
24974 (gst_element_factory_finalize), (gst_element_factory_cleanup):
24975 * gst/gstindex.c: (gst_index_factory_class_init),
24976 (gst_index_factory_finalize):
24977 * gst/gstobject.c: (gst_object_dispose):
24978 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24979 (gst_plugin_load_file), (gst_plugin_desc_free):
24980 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24981 (gst_plugin_feature_finalize):
24982 * gst/gstregistry.c: (gst_registry_class_init),
24983 (gst_registry_init), (gst_registry_finalize),
24984 (gst_registry_get_default), (gst_registry_deinit):
24985 * gst/gstregistry.h:
24986 * gst/gstregistryxml.c: (load_feature), (load_plugin):
24987 various cleanups and memleak plugging. make valgrind is happy now.
24989 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24991 * common/check.mak:
24992 add a check-valgrind target
24994 2005-09-18 David Schleef <ds@schleef.org>
24996 * tools/gst-inspect.c: Revert the GOption code.
24998 2005-09-17 David Schleef <ds@schleef.org>
25000 * check/Makefile.am: Fix environment variables.
25001 * check/gst/gstplugin.c: Fix for API changes.
25002 * tools/gst-inspect.c: Fix for API changes.
25003 * tools/gst-xmlinspect.c: Fix for API changes.
25004 * gst/gstelementfactory.c:
25007 * gst/gstpluginfeature.c:
25008 * gst/gstpluginfeature.h:
25009 * gst/gstregistry.c:
25010 * gst/gstregistry.h:
25011 * gst/gstregistryxml.c:
25012 * gst/gsttypefind.c:
25013 * gst/gsttypefindfactory.c:
25014 * gst/indexers/gstfileindex.c:
25015 * gst/indexers/gstmemindex.c:
25016 * gst/schedulers/Makefile.am:
25017 Change registry to keep track of both plugins and features,
25018 removing the feature tracking from plugins themselves.
25020 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25022 * check/Makefile.am:
25023 * tools/gst-register.1.in:
25024 remove gst-register
25026 2005-09-15 David Schleef <ds@schleef.org>
25028 * check/gst/gstplugin.c:
25029 * gst/gstelementfactory.c:
25031 * gst/gstpluginfeature.c:
25032 * gst/gstregistry.c:
25033 Getting tired of debugging. Disabled all the unreffing of
25034 plugins and features, which fixes the segfaults, but of
25035 course leaks like crazy. At least playbin works.
25037 2005-09-15 David Schleef <ds@schleef.org>
25039 * check/gst/gstplugin.c: (register_check_elements),
25040 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25042 * gst/elements/gsttypefindelement.c: Fix refcounting.
25043 * gst/gsttypefind.c:
25044 * gst/gsttypefindfactory.c:
25045 * gst/gsttypefindfactory.h:
25047 2005-09-15 David Schleef <ds@schleef.org>
25049 * gst/gstindex.c: get refcounting correct.
25050 * gst/gstregistry.c: Handle the case where a feature/plugin is
25053 2005-09-15 David Schleef <ds@schleef.org>
25055 * check/Makefile.am:
25056 * check/gst/gstplugin.c: Add test
25057 * gst/gstplugin.c: Fix problems noticed by testsuite
25059 * gst/gstregistry.c:
25060 * gst/gstregistry.h:
25062 2005-09-15 David Schleef <ds@schleef.org>
25064 * gst/gstplugin.c: Implement semi-decent recounting and locking
25065 in plugins and plugin features.
25067 * gst/gstpluginfeature.c:
25068 * gst/gstpluginfeature.h:
25069 * gst/gstregistry.c:
25071 2005-09-15 Michael Smith <msmith@fluendo.com>
25073 * gst/gstregistry.c: (gst_registry_get_feature_list):
25074 Implement this. Makes oggdemux work; decodebin still broken.
25076 2005-09-14 David Schleef <ds@schleef.org>
25078 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25080 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25081 * gst/check/Makefile.am:
25082 * libs/gst/controller/Makefile.am:
25083 * libs/gst/dataprotocol/Makefile.am:
25085 2005-09-14 David Schleef <ds@schleef.org>
25087 * configure.ac: Remove getbits library. Nothing uses it, and
25088 it should be in something like liboil if someone did want
25090 * libs/gst/Makefile.am:
25091 * libs/gst/getbits/Makefile.am:
25092 * libs/gst/getbits/gbtest.c:
25093 * libs/gst/getbits/getbits.c:
25094 * libs/gst/getbits/getbits.h:
25095 * libs/gst/getbits/gstgetbits_generic.c:
25096 * libs/gst/getbits/gstgetbits_i386.s:
25097 * libs/gst/getbits/gstgetbits_inl.h:
25099 2005-09-14 David Schleef <ds@schleef.org>
25101 * gst/Makefile.am: Dist glib-compat.h
25103 2005-09-14 David Schleef <ds@schleef.org>
25105 * configure.ac: Remove gst/registries, since it's no longer used.
25106 * gst/registries/Makefile.am:
25107 * gst/registries/gstlibxmlregistry.c:
25108 * gst/registries/gstlibxmlregistry.h:
25109 * gst/registries/gstxmlregistry.c:
25110 * gst/registries/gstxmlregistry.h:
25111 * gst/registries/registrytest.c:
25113 2005-09-14 David Schleef <ds@schleef.org>
25115 * gst/glib-compat.h:
25116 * gst/gstregistryxml.c:
25117 Convergence is near. Seriously.
25119 2005-09-14 David Schleef <ds@schleef.org>
25121 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25122 * gst/glib-compat.h:
25123 Attempt #4 to appease the buildbots.
25125 2005-09-14 David Schleef <ds@schleef.org>
25127 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25130 2005-09-14 David Schleef <ds@schleef.org>
25132 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25135 2005-09-14 David Schleef <ds@schleef.org>
25137 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25140 2005-09-14 David Schleef <ds@schleef.org>
25142 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25143 * gst/glib-compat.h: Add some functions that are in newer versions
25144 of glib than we care to require.
25145 * gst/gstregistryxml.c: Use them.
25147 2005-09-14 David Schleef <ds@schleef.org>
25149 * po/POTFILES.in: remove gst-register.c
25151 2005-09-14 David Schleef <ds@schleef.org>
25153 * docs/gst/gstreamer-docs.sgml:
25154 * docs/gst/gstreamer-sections.txt:
25155 * docs/gst/gstreamer.types:
25156 * docs/gst/tmpl/gstelement.sgml:
25157 * docs/gst/tmpl/gstplugin.sgml:
25158 * docs/gst/tmpl/gstpluginfeature.sgml:
25159 Documentation updates for registry changes.
25161 2005-09-14 David Schleef <ds@schleef.org>
25163 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25164 because we don't require glib-2.8.
25166 2005-09-14 David Schleef <ds@schleef.org>
25168 * gst/gstregistryxml.c: Added. Essentially moved out of the
25169 registries directory.
25171 2005-09-14 David Schleef <ds@schleef.org>
25173 * check/Makefile.am:
25174 * check/generic/states.c:
25178 * gst/gst_private.h:
25179 * gst/gstelementfactory.c:
25184 * gst/gstpluginfeature.c:
25185 * gst/gstpluginfeature.h:
25186 * gst/gstregistry.c:
25187 * gst/gstregistry.h:
25188 * gst/gstregistrypool.c: remove
25189 * gst/gstregistrypool.h: remove
25190 * gst/gsttypefind.c:
25191 * gst/gsttypefindfactory.c:
25193 * tools/Makefile.am:
25194 * tools/gst-compprep.c:
25195 * tools/gst-inspect.c:
25196 * tools/gst-register.c: remove
25197 * tools/gst-xmlinspect.c:
25198 Registry rewrite. Changes registry from being a file created
25199 by a tool into a simple cache file created automatically by
25200 libgstreamer. Removed gst-register (because it's no longer
25201 needed). Remove registry pools, because we only have one
25202 registry implementation (XML). Fix up other subsystems as
25205 2005-09-13 Michael Smith <msmith@fluendo.com>
25207 * gst/gstconfig.h.in:
25208 Don't Use windows linking attributes for MinGW. Fixes #316157
25210 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25212 * gst/gstutils.c: (set_state_async_thread_func),
25213 (gst_element_set_state_async):
25214 Apparently people think it's better if this function doesn't
25215 try to set the state to whatever state was asked for on the first
25216 call to this function for any object. Seriously.
25218 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25220 * check/gst/gstpipeline.c: (GST_START_TEST):
25221 * docs/gst/gstreamer-sections.txt:
25222 * gst/gstutils.c: (set_state_async_thread_func),
25223 (gst_element_set_state_async):
25225 add a "gst_element_set_state_async" method that
25226 sets the state and starts a thread to make sure the state
25227 change completes as best as it can
25229 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25231 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25232 codify design+behaviour in testsuite after discussion
25234 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25236 * docs/gst/tmpl/gstelement.sgml:
25237 * docs/manual/appendix-quotes.xml:
25239 * gst/gstelement.c: (gst_element_set_state):
25242 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25244 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25245 (gst_base_transform_prepare_output_buf),
25246 (gst_base_transform_handle_buffer):
25247 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25248 (gst_capsfilter_prepare_buf):
25249 Remove the requirement for sub-classes to call the parent
25250 implementation of prepare_output_buffer with a wrapper function.
25252 * gst/gsttaglist.h:
25253 * gst/gsttagsetter.h:
25254 Fix #define wrapper
25256 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25258 * docs/gst/gstreamer-sections.txt:
25261 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25263 * docs/gst/gstreamer-sections.txt:
25264 * docs/gst/tmpl/gstelement.sgml:
25265 * docs/gst/tmpl/gstplugin.sgml:
25266 * gst/gstminiobject.c:
25268 docs now stop throwing warnings
25270 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25272 * docs/gst/gstreamer-sections.txt:
25273 * docs/gst/gstreamer.types:
25274 * docs/gst/tmpl/gstpad.sgml:
25275 * docs/gst/tmpl/gsttypes.sgml:
25276 * gst/base/gstadapter.h:
25277 * gst/base/gstbasesink.h:
25278 * gst/base/gstbasesrc.h:
25284 * gst/gstelement.h:
25286 * gst/gstmessage.h:
25288 * gst/gststructure.c:
25289 * gst/registries/gstlibxmlregistry.h:
25290 various documentation fixes
25292 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25294 * docs/gst/gstreamer-sections.txt:
25295 * docs/gst/tmpl/gstvalue.sgml:
25296 rearrange gstvalue section
25297 * gst/gstutils.c: (gst_element_state_get_name):
25299 * gst/gstvalue.c: (_gst_value_initialize):
25303 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25305 * check/gst-libs/controller.c:
25306 Header include fix.
25307 * gst/base/gstbasetransform.c:
25308 (gst_base_transform_default_prepare_buf),
25309 (gst_base_transform_handle_buffer):
25310 * gst/base/gstbasetransform.h:
25311 Some more basetransform changes and fixes to enable sub-classes
25312 that modify buffer metadata only.
25313 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25314 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25315 (gst_capsfilter_prepare_buf):
25316 If the output pad has fixed allowed caps and input buffers
25317 don't have any, set the fixed caps on outgoing buffers.
25319 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25320 * check/elements/identity.c: (GST_START_TEST):
25321 Make the error a little clearer when the test fails because
25322 identity made a copy of the buffer.
25323 * docs/gst/gstreamer-sections.txt:
25324 New symbols in gstbasetransform.h
25325 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25326 (gst_base_transform_init), (gst_base_transform_transform_size),
25327 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25328 (gst_base_transform_default_prepare_buf),
25329 (gst_base_transform_get_unit_size),
25330 (gst_base_transform_buffer_alloc),
25331 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25332 (gst_base_transform_change_state),
25333 (gst_base_transform_set_passthrough),
25334 (gst_base_transform_set_in_place),
25335 (gst_base_transform_is_in_place):
25336 * gst/base/gstbasetransform.h:
25337 Change BaseTransform to separate in_place operate from same_caps
25338 output. in_place implies that the element can perform the transform
25339 on incoming buffers in-place, even if the caps on the output are
25341 Sub-class elements can now implement special buffer allocation
25342 methods for outgoing buffers if they wish to.
25343 Big documentation addition.
25344 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25345 * gst/elements/gstelements.c:
25346 Changes for basetransform modifications.
25347 * gst/elements/Makefile.am:
25348 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25349 Compile fix. Extra debug output.
25351 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25353 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25355 add tests for valid pad naming
25356 * gst/check/gstcheck.c: (gst_check_log_message_func),
25357 (gst_check_log_critical_func):
25359 remove printing of code, it is fragile when the code contains
25360 % and the line number is enough info
25361 * gst/check/gstcheck.h:
25362 * gst/gstpad.c: (gst_pad_template_new):
25365 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25368 say what CHECK flags we use
25369 * docs/libs/gstreamer-libs.types:
25370 * libs/gst/controller/Makefile.am:
25371 * libs/gst/controller/gst-controller.c:
25372 * libs/gst/controller/gst-controller.h:
25373 * libs/gst/controller/gst-helper.c:
25374 * libs/gst/controller/gst-interpolation.c:
25375 * libs/gst/controller/gstcontroller.c:
25376 * libs/gst/controller/gsthelper.c:
25377 * libs/gst/controller/gstinterpolation.c:
25378 * tools/gst-inspect.c: (print_plugin_info):
25379 we don't use dashes in header names
25381 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25383 * check/Makefile.am:
25384 * check/gst/.cvsignore:
25385 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25386 (gst_pipeline_suite), (main):
25387 adding a test for pipelines and state changes
25388 * gst/gstutils.c: (get_state_func):
25390 * gstreamer.spec.in:
25393 2005-09-08 Michael Smith <msmith@fluendo.com>
25395 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25396 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25397 (gst_file_src_is_seekable), (gst_file_src_get_size),
25398 (gst_file_src_start):
25399 * gst/elements/gstfilesrc.h:
25400 Various fixes for unseekable, unmmapable, and non-normal files, so
25401 that fallback to read() rather than mmap() works.
25402 * gst/gstevent.c: (gst_event_new_newsegment):
25403 Allow newsegment events with segment_start == segment_end, as will
25404 correctly happen if you use filesrc on a zero-size file, for
25407 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25409 * gst/gstplugin.c: (gst_plugin_load_file):
25410 Call g_module_close when we don't load the module
25412 * gst/registries/gstlibxmlregistry.c:
25413 (gst_xml_registry_get_property):
25414 Port leak fix from 0.8
25416 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25418 * docs/gst/gstreamer-docs.sgml:
25419 * docs/gst/tmpl/.cvsignore:
25420 * docs/gst/tmpl/gsttrace.sgml:
25421 * docs/gst/tmpl/gsttrashstack.sgml:
25424 * gst/gstelement.h:
25426 * gst/gstmessage.c:
25427 * gst/gstmessage.h:
25430 * gst/gsttaginterface.c:
25431 * gst/gsttaginterface.h:
25432 * gst/gsttaglist.c:
25433 * gst/gsttaglist.h:
25434 * gst/gsttagsetter.c:
25435 * gst/gsttagsetter.h:
25438 * gst/gsttrashstack.c:
25439 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25440 inlined docs for gsttrace, gsttrashstack
25442 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25445 * gst/elements/gstbufferstore.h:
25446 * gst/elements/gsttypefindelement.c:
25447 * gst/elements/gsttypefindelement.h:
25449 * gst/gsttypefind.c:
25450 * gst/gsttypefind.h:
25451 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25452 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25453 (gst_type_find_factory_dispose),
25454 (gst_type_find_factory_unload_thyself),
25455 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25456 (gst_type_find_factory_get_caps),
25457 (gst_type_find_factory_get_extensions),
25458 (gst_type_find_factory_call_function):
25459 * gst/gsttypefindfactory.h:
25460 * gst/registries/gstlibxmlregistry.c:
25461 * gst/registries/gstxmlregistry.c:
25462 splitted gsttypefind into gsttypefind, gsttypefindfactory
25464 2005-09-07 Andy Wingo <wingo@pobox.com>
25466 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25467 condition whereby the pad's task function is entered before the
25468 pad_mode variable was set.
25470 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25472 * gst/gstpad.c: (gst_pad_alloc_buffer):
25473 Catch misbehaving pad_alloc functions that don't
25474 set up caps and do it for them.
25476 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25478 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25479 test for pipe!=NULL
25480 * docs/gst/tmpl/.cvsignore:
25481 * docs/gst/tmpl/gstmemchunk.sgml:
25482 * docs/gst/tmpl/gstparse.sgml:
25483 * docs/gst/tmpl/gsttaglist.sgml:
25484 * docs/gst/tmpl/gsttagsetter.sgml:
25485 * docs/gst/tmpl/gsttypefind.sgml:
25486 * docs/gst/tmpl/gsttypefindfactory.sgml:
25487 * gst/gstmemchunk.c:
25490 * gst/gsttaginterface.c:
25491 * gst/gsttypefind.c:
25492 * gst/gsttypefind.h:
25495 === release 0.9.2 ===
25497 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25502 releasing 0.9.2, "South"
25504 2005-09-05 Andy Wingo <wingo@pobox.com>
25506 * gst/registries/gstxmlregistry.h:
25507 * gst/registries/gstxmlregistry.c: Um... resurrect...
25509 * gst/registries/gstxmlregistry.h:
25510 * gst/registries/gstxmlregistry.c: and update to newer API.
25511 Incidentally they should be a bit faster now that they don't have
25514 2005-09-05 Andy Wingo <wingo@pobox.com>
25516 * gst/registries/gstxmlregistry.h:
25517 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25518 replaced by the libxml registry a while back
25520 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25522 * docs/gst/tmpl/gstplugin.sgml:
25523 * gst/elements/gstelements.c:
25525 * gst/gstplugin.c: (gst_plugin_register_func),
25526 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25527 (gst_plugin_get_source):
25529 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25530 (gst_xml_registry_save_plugin):
25531 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25532 (gst_xml_registry_save_plugin):
25533 * tools/gst-inspect.c: (print_plugin_info):
25534 add a "source" plugin description field, to represent the source
25535 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25536 will set it to PACKAGE, which is automake's idea of the name of
25537 the source project.
25539 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25544 * docs/Makefile.am:
25545 * docs/faq/Makefile.am:
25546 * docs/gst/tmpl/gstelement.sgml:
25547 * docs/gst/tmpl/gsttypes.sgml:
25548 * docs/htmlinstall.mak:
25549 * docs/manual/Makefile.am:
25550 * docs/pwg/Makefile.am:
25551 reorganize doc build a little
25552 split out docbook and gtk-doc stuff
25553 have two separate --enable's and enable them through autogen
25554 but disable by default in configure (to be similar to other
25556 * gstreamer.spec.in:
25557 clean up docs install
25575 translation updates
25577 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25579 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25582 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25583 (gst_fake_sink_change_state):
25584 Make state change function thread-safe.
25586 * gst/gstpad.c: (gst_pad_alloc_buffer):
25587 Set offset on generic buffer allocated by fallback.
25589 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25591 * docs/gst/gstreamer-sections.txt:
25592 * docs/gst/tmpl/gstelement.sgml:
25594 * libs/gst/controller/gst-controller.c:
25595 (gst_controlled_property_set_interpolation_mode),
25596 (gst_controlled_property_new),
25597 (gst_controller_find_controlled_property):
25598 run the wingo-magic script against the docs
25600 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25602 * docs/gst/gstreamer-docs.sgml:
25603 * docs/gst/gstreamer-sections.txt:
25604 * docs/gst/tmpl/.cvsignore:
25605 * docs/gst/tmpl/gstelementdetails.sgml:
25606 * docs/gst/tmpl/gstelementfactory.sgml:
25609 * gst/gstelementfactory.c:
25610 * gst/gstelementfactory.h:
25611 merged elementdetails docs into elementfactory docs
25614 2005-09-02 Andy Wingo <wingo@pobox.com>
25616 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25617 consider this enum an enum and not a flags.
25619 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25621 * docs/gst/gstreamer-docs.sgml:
25622 * docs/gst/tmpl/.cvsignore:
25623 * docs/gst/tmpl/gstghostpad.sgml:
25624 * docs/gst/tmpl/gstiterator.sgml:
25625 * docs/gst/tmpl/gstmacros.sgml:
25626 * docs/gst/tmpl/gstrealpad.sgml:
25627 * docs/gst/tmpl/gstregistry.sgml:
25628 * docs/gst/tmpl/gstregistrypool.sgml:
25629 * docs/gst/tmpl/gststructure.sgml:
25630 * docs/gst/tmpl/gstsystemclock.sgml:
25631 * docs/gst/tmpl/gsttrace.sgml:
25632 * gst/gstghostpad.c:
25634 * gst/gstmemchunk.c:
25635 * gst/gstmemchunk.h:
25637 * gst/gstregistry.c:
25638 * gst/gstregistrypool.c:
25639 * gst/gststructure.c:
25640 * gst/gstsystemclock.c:
25643 2005-09-02 Andy Wingo <wingo@pobox.com>
25645 * gst/gstelement.h (GstState): Renamed from GstElementState,
25646 changed to be a normal enum instead of flags.
25647 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25648 munged to be GST_STATE_CHANGE_*.
25649 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25650 work with the new state representation.
25651 (GstStateChange): New enumeration of possible state transitions.
25652 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25653 (GstElementClass::change_state): Pass the GstStateChange along as
25654 an argument. Helps language bindings, so they don't have to use
25655 tricky lock-needing macros like GST_STATE_CHANGE ().
25657 * scripts/update-states (file): New script. Run it on a file to
25658 update it for state naming and API changes. Updates files in
25661 * All files updated for the new API.
25663 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25665 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25666 * gst/gstutils.c: (gst_util_set_value_from_string),
25667 (gst_util_set_object_arg):
25668 fix a bunch of unchecked return values
25669 * tools/gst-complete.c: (main):
25670 * gstreamer.spec.in:
25673 2005-09-01 Wim Taymans <wim@fluendo.com>
25675 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25676 (gst_base_sink_event), (gst_base_sink_do_sync),
25677 (gst_base_sink_handle_event):
25678 * gst/base/gstbasesink.h:
25679 Handle newsegments more correctly.
25684 * gst/gstevent.c: (gst_event_new_newsegment):
25685 A newsegment cannot have a start_time of -1
25687 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25689 * win32/gstenumtypes.c:
25690 * win32/gstenumtypes.h:
25693 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25695 * libs/gst/controller/gst-controller.c:
25696 (gst_controlled_property_set_interpolation_mode),
25697 (gst_controlled_property_new):
25698 fixed boolean again
25700 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25702 * docs/faq/gst-uninstalled:
25707 * gst/gstutils.c: (gst_element_link_filtered):
25709 add gst_element_link_filtered
25711 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25713 * docs/gst/gstreamer-docs.sgml:
25714 * docs/gst/gstreamer-sections.txt:
25715 * docs/gst/tmpl/.cvsignore:
25716 * docs/gst/tmpl/gsterror.sgml:
25717 * docs/gst/tmpl/gstfilter.sgml:
25718 * docs/gst/tmpl/gsturihandler.sgml:
25719 * docs/gst/tmpl/gsturitype.sgml:
25720 * docs/gst/tmpl/gstutils.sgml:
25721 * docs/gst/tmpl/gstxml.sgml:
25726 * gst/gsturitype.c:
25729 inlined more docs, fixed double id-ref
25731 2005-08-31 Wim Taymans <wim@fluendo.com>
25733 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25734 (gst_base_transform_handle_buffer):
25735 Passthrough elements don't need the caps as they don't care.
25737 2005-08-31 Wim Taymans <wim@fluendo.com>
25739 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25740 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25741 Don't leak refcounts on buffers.
25743 2005-08-31 Wim Taymans <wim@fluendo.com>
25745 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25746 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25747 (gst_base_transform_chain), (gst_base_transform_change_state):
25748 * gst/base/gstbasetransform.h:
25749 Handle the case where we are not negotiated more gracefully.
25751 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25753 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25754 (gst_file_src_map_region):
25755 Set READONLY flag on mmap'ed buffers, otherwise
25756 gst_buffer_make_writable() won't work properly (#314708).
25758 2005-08-31 Wim Taymans <wim@fluendo.com>
25760 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25761 passthrough elements can even do inplace on non writable
25762 buffers (as they don't touch them).
25764 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25766 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25767 (gst_test_mono_source_set_property),
25768 (gst_test_mono_source_class_init), (GST_START_TEST),
25769 (gst_controller_suite):
25770 more tests (hehe I have the most)
25772 describe popping messages whenusing mulltiple sources
25773 * libs/gst/controller/gst-controller.c:
25774 (gst_controlled_property_set_interpolation_mode),
25775 (gst_controlled_property_new):
25776 * libs/gst/controller/gst-controller.h:
25777 * libs/gst/controller/gst-interpolation.c:
25778 implement boolean properties
25780 2005-08-31 Wim Taymans <wim@fluendo.com>
25782 * gst/gstminiobject.c: (gst_mini_object_ref):
25783 Cannot assert that the refcount has to be positive
25784 since a disposed object can be resurrected.
25786 2005-08-31 Wim Taymans <wim@fluendo.com>
25788 * gst/gstpad.c: (gst_pad_init):
25789 Revert change, need to first fix badly behaving
25792 2005-08-30 Wim Taymans <wim@fluendo.com>
25794 * check/elements/fakesrc.c: (setup_fakesrc):
25795 * check/elements/identity.c: (setup_identity):
25796 Activate pads before using them.
25798 2005-08-30 Wim Taymans <wim@fluendo.com>
25800 * gst/base/gstadapter.c: (gst_adapter_flush):
25801 Flushing out 0 bytes is ok for this function.
25803 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25804 no newsegment gives a warning and sets the start/stop to
25807 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25808 (gst_base_transform_set_passthrough):
25811 * gst/gstminiobject.c: (gst_mini_object_ref):
25812 Check refcount here too.
25814 * gst/gstpad.c: (gst_pad_init):
25815 Pads are initially flushing and refusing data.
25817 * gst/gstutils.c: (gst_element_link_pads_filtered):
25818 When adding a capsfilter element make sure it has the
25819 same state as the parent bin.
25821 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25823 * docs/gst/tmpl/.cvsignore:
25824 * docs/gst/tmpl/gstformat.sgml:
25825 * docs/gst/tmpl/gstversion.sgml:
25829 * gst/gstversion.h.in:
25830 more docs and two more inlined
25832 2005-08-30 Wim Taymans <wim@fluendo.com>
25834 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25835 Don't sync to clock.
25837 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25839 * docs/gst/gstreamer-sections.txt:
25840 ultral33t func10ns deserve to appear in the docs actually
25841 * docs/gst/tmpl/.cvsignore:
25842 * docs/gst/tmpl/gstcompat.sgml:
25843 * docs/gst/tmpl/gstconfig.sgml:
25844 * gst/check/gstcheck.c:
25846 * gst/gstconfig.h.in:
25849 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25851 * docs/gst/tmpl/.cvsignore:
25852 * docs/gst/tmpl/gstquery.sgml:
25853 * docs/gst/tmpl/gstutils.sgml:
25856 inlined and extended docs
25858 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25860 * check/gst-libs/controller.c: (GST_START_TEST),
25861 (gst_controller_suite):
25863 * docs/gst/tmpl/gstutils.sgml:
25864 * docs/libs/gstreamer-libs-sections.txt:
25865 * docs/libs/tmpl/gstdataprotocol.sgml:
25867 * examples/controller/audio-example.c: (main):
25868 controller example works now
25871 * tools/gst-inspect.c: (print_element_properties_info):
25872 show param spec flags
25874 2005-08-29 Andy Wingo <wingo@pobox.com>
25876 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25878 2005-08-28 Andy Wingo <wingo@pobox.com>
25880 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25881 as having two arguments instead of just one. Allows superclasses
25882 to access information on subclasses -- see the terrible for() loop
25883 in gtype.c:g_type_create_instance for the reason why. All callers
25886 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25888 * docs/design/part-messages.txt:
25890 * docs/gst/tmpl/.cvsignore:
25891 * docs/gst/tmpl/gstcaps.sgml:
25892 * docs/gst/tmpl/gstclock.sgml:
25898 * gst/gstmessage.c:
25899 added descriptions for bus and message
25900 inline caps and clock docs
25902 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25904 * gst/gstmessage.c:
25905 * gst/gstmessage.h:
25908 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25910 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25913 2005-08-26 Andy Wingo <wingo@pobox.com>
25915 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25916 element_set_state's return val.
25917 (test_2_elements): Add test that's been disabled for months.
25919 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25920 can-activate-pull properties.
25922 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25923 can-activate-pull properties. Implement is_seekable so fakesrc can
25924 operate in pull mode.
25926 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25928 (gst_base_sink_activate, gst_base_sink_activate_pull)
25929 (gst_base_sink_activate_push): Make activation mode choosing work.
25931 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25932 is right. Make pull mode work. Post an eos before pausing in pull
25934 (gst_base_sink_change_state): Pay attention to the core's
25935 change_state() return val.
25937 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25938 has-getrange properties. Cleanups.
25940 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25941 has_getrange and replace with can_activate_pull and
25944 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25945 locking comments. Remove has_loop, has_chain and replace with
25946 can_activate_pull and can_activate_push.
25948 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
25951 * examples/Makefile.am:
25952 * examples/metadata/Makefile.am:
25953 * examples/metadata/read-metadata.c: (message_loop),
25954 (have_pad_handler), (make_pipeline), (print_tag), (main):
25955 Add metadata reading example that loops over a list of filenames,
25956 dumping any tags found.
25958 * gst/gstbus.c: (gst_bus_dispose):
25959 * gst/gstelement.c: (gst_element_dispose):
25960 Release a few potentially-held references in dispose.
25962 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25964 * docs/gst/tmpl/gstminiobject.sgml:
25965 do *not* add tmpl/*.sgml files to CVS!
25967 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25969 * libs/gst/bytestream/.cvsignore:
25970 * libs/gst/bytestream/Makefile.am:
25971 * libs/gst/bytestream/adapter.c:
25972 * libs/gst/bytestream/adapter.h:
25973 * libs/gst/bytestream/bytestream.c:
25974 * libs/gst/bytestream/bytestream.h:
25975 * libs/gst/bytestream/filepad.c:
25976 * libs/gst/bytestream/filepad.h:
25977 removing obsolete files
25979 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25981 * docs/gst/gstreamer-docs.sgml:
25982 * docs/libs/gstreamer-libs-docs.sgml:
25983 disabed additional index entries again, as this makes docs-gen just
25984 slow and they aren't useful yet
25985 * docs/libs/gstreamer-libs-sections.txt:
25986 little -section.txt cleanup for libs
25988 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
25990 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25991 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25992 fix up some debugging
25993 (gst_base_transform_get_unit_size),
25994 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25995 (gst_base_transform_handle_buffer):
25996 * gst/base/gstbasetransform.h:
25997 handle and store timed NEWSEGMENT events so that subclasses that
25998 calculate time by counting samples have a segment_start time they
25999 need to add to their timestamps - see audioresample
26001 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26004 removed ';' from the end of macro defs
26005 * docs/gst/gstreamer-docs.sgml:
26006 * docs/gst/gstreamer-sections.txt:
26007 * docs/gst/tmpl/.cvsignore:
26009 * gst/gstelement.c: (gst_element_class_init),
26010 (gst_element_set_state), (activate_pads),
26011 (gst_element_save_thyself):
26012 * gst/gstevent.c: (gst_event_new_newsegment):
26014 * gst/gstiterator.c:
26015 * gst/gstiterator.h:
26018 * gst/gstutils.c: (gst_pad_query_convert):
26020 fixed parameter name mismatches between source, header and docs
26021 added some more docs, resolved the last batch of unused elements in
26022 docs (now someone needs to doc them)
26024 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26026 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26027 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26028 don't walk through the plugins backwards. Where is all this
26029 reversed logic coming from ?
26031 2005-08-25 Wim Taymans <wim@fluendo.com>
26033 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26034 (gst_base_transform_transform_size),
26035 (gst_base_transform_configure_caps),
26036 (gst_base_transform_get_unit_size),
26037 (gst_base_transform_buffer_alloc),
26038 (gst_base_transform_change_state):
26039 * gst/base/gstbasetransform.h:
26040 Cache caps unit_size.
26041 Make sure we cannot negotiate up and downstream at the
26044 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26046 * gst/gst.c: (init_pre), (init_post):
26047 register the installed plugin path after the env var
26048 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26049 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26050 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26051 directories, so the tests can prefer uninstalled over installed
26053 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26055 * gst/base/gstbasetransform.h:
26060 2005-08-25 Wim Taymans <wim@fluendo.com>
26062 * gst/gstbin.c: (bin_bus_handler):
26063 Be a bit more conservative about the posted message.
26065 * gst/gstbus.c: (gst_bus_post):
26066 Some cleanups, warn wrong return values.
26068 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26070 * check/gst/gstbin.c: (GST_START_TEST):
26071 * gst/gstbin.c: (bin_bus_handler):
26072 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26073 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26074 (gst_message_new_warning), (gst_message_new_tag),
26075 (gst_message_new_state_changed), (gst_message_new_segment_start),
26076 (gst_message_new_segment_done), (gst_message_new_custom):
26077 * gst/gstmessage.h:
26078 * tools/gst-launch.c: (event_loop):
26079 * tools/gst-md5sum.c: (event_loop):
26080 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26082 2005-08-25 Wim Taymans <wim@fluendo.com>
26084 * check/generic/states.c: (GST_START_TEST):
26085 Cleanup can be done at the end.
26087 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26088 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26089 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26090 Oh boy.. Thanks for finding this, Thomas.
26092 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26094 * docs/gst/gstreamer.types:
26095 added missing types
26097 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26099 * docs/gst/gstreamer-docs.sgml:
26100 * docs/gst/gstreamer-sections.txt:
26101 * docs/gst/tmpl/.cvsignore:
26103 * gst/gstiterator.c:
26105 * gst/registries/gstxmlregistry.h:
26106 added missing classes and symbols (123 more to go)
26107 removed removed symbols from section file
26108 fixed many doc-comments
26110 2005-08-24 Wim Taymans <wim@fluendo.com>
26112 * check/generic/states.c: (GST_START_TEST):
26113 Make sure all tasks are stopped.
26115 * check/gst/gstbin.c: (GST_START_TEST):
26116 Unref after usage for proper valgrinding.
26118 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26119 Really wait for the task to stop before destroying the
26122 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26123 (gst_queue_src_activate_push):
26124 Small cleanups. Don't stop the task when we did not start
26127 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26128 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26129 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26132 Protect the stream lock with the object lock.
26133 Disallow setting the stream lock when running.
26134 Add cleanup_all to wait for the threadpool to finish.
26135 Remove code to autoallocate a mutex if none was provided.
26136 Add _join() to wait for a task to stop.
26137 Protect the thread pool with a global lock.
26139 2005-08-24 Wim Taymans <wim@fluendo.com>
26141 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26142 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26143 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26144 * gst/base/gstbasesink.h:
26145 Handle newsegment events correctly.
26146 Drop buffers out of the segment range.
26148 2005-08-22 Andy Wingo <wingo@pobox.com>
26150 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26151 macro, implements an interface and gstimplementsinterface for a
26154 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26156 * check/Makefile.am:
26157 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26158 add a test that does a bunch of state changes on elements
26159 needs some fixing for valgrind
26160 * check/states/sinks.c: (gst_object_suite):
26163 add prototype for gst_caps_is_equal_fixed
26165 * gst/gstregistrypool.c:
26168 2005-08-24 Andy Wingo <wingo@pobox.com>
26170 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26171 convert a negative value. Doesn't make much sense. Mostly this is
26172 here to force callers to ensure -1 maps to -1.
26174 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26176 * docs/pwg/advanced-types.xml:
26177 Well done to Michael for catching my deliberate introduction
26178 of this spelling mistake.
26179 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26180 * gst/gstelement.h:
26181 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26182 unlink pads before removing the element from the bin.
26184 2005-08-24 Andy Wingo <wingo@pobox.com>
26186 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26187 the same thing as GST_DEBUG=*:4.
26188 (parse_debug_level, parse_debug_category): New helper parsers.
26190 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26192 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26193 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26194 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26195 (gst_base_transform_buffer_alloc),
26196 (gst_base_transform_handle_buffer):
26197 use gboolean return values and pointers to size so we can use the
26198 full GST_BUFFER_SIZE range (guint) for buffer sizes
26199 use GstPadDirection for transform_caps
26200 * gst/base/gstbasetransform.h:
26201 rename get_size to get_unit_size since that's what it is
26202 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26203 use GstPadDirection for transform_caps
26204 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26206 cleanup and debugging
26208 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26210 * gst/gstelement.c: (gst_element_class_init),
26211 (gst_element_set_state), (activate_pads),
26212 (gst_element_save_thyself):
26213 * tools/gst-compprep.c: (main):
26214 * tools/gst-inspect.c: (print_element_properties_info):
26215 * tools/gst-xmlinspect.c: (print_element_properties):
26216 Fixed long standing mem-leak
26218 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26220 * check/gst/gstbin.c: (GST_START_TEST):
26221 * gst/gstbin.c: (bin_bus_handler):
26222 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26223 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26224 (gst_message_new_warning), (gst_message_new_tag),
26225 (gst_message_new_state_changed), (gst_message_new_segment_start),
26226 (gst_message_new_segment_done), (gst_message_new_custom):
26227 * gst/gstmessage.h:
26228 * tools/gst-launch.c: (event_loop):
26229 * tools/gst-md5sum.c: (event_loop):
26230 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26231 that applications can sensibly post custom messages with references
26232 to their own objects.
26234 2005-08-24 Andy Wingo <wingo@pobox.com>
26236 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26239 2005-08-24 Wim Taymans <wim@fluendo.com>
26241 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26242 (gst_base_transform_transform_caps),
26243 (gst_base_transform_transform_size),
26244 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26245 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26246 (gst_base_transform_handle_buffer):
26247 * gst/base/gstbasetransform.h:
26248 Many fixes and new features added by Thomas. Can now also do
26249 transforms with variable sizes and a custom fixate_caps function.
26251 2005-08-24 Wim Taymans <wim@fluendo.com>
26253 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26257 Cast to ClockTime before formatting to time.
26262 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26264 * check/gst-libs/controller.c: (GST_START_TEST),
26265 (gst_controller_suite):
26266 * docs/gst/tmpl/gstcaps.sgml:
26267 * docs/gst/tmpl/gstghostpad.sgml:
26268 * docs/gst/tmpl/gstquery.sgml:
26269 * docs/gst/tmpl/gstutils.sgml:
26270 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26271 (gst_object_sink_values), (gst_object_get_value_arrays),
26272 (gst_object_get_value_array):
26273 gracefully handle helper method calls to objects that are not beeing
26274 controlled, added test case for that
26276 2005-08-23 Wim Taymans <wim@fluendo.com>
26278 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26279 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26280 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26281 (gst_event_parse_qos), (gst_event_new_seek),
26282 (gst_event_parse_seek):
26284 Some more debugging output and doc cleanups.
26286 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26287 Fix possible deadlock.
26289 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26291 * docs/gst/gstreamer-docs.sgml:
26292 * docs/gst/gstreamer-sections.txt:
26293 * docs/gst/gstreamer.types:
26294 * docs/gst/tmpl/.cvsignore:
26297 * gst/gstelement.c:
26299 added 100 symbols from gstreamer-unused.txt to the right sections
26300 fixed more broken comments
26301 added GstBus to docs
26303 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26305 * docs/gst/gstreamer-sections.txt:
26306 * docs/gst/tmpl/.cvsignore:
26307 * docs/gst/tmpl/gstbin.sgml:
26308 * docs/gst/tmpl/gstbuffer.sgml:
26309 * gst/base/gstbasesrc.c:
26310 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26313 * tools/gst-launch.1.in:
26314 inlined more doc comments, added missing comments and fixed comments
26317 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26319 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26323 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26325 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26326 * gst/gststructure.h:
26327 add a fixate function for booleans; add a FIXME that these func
26328 names should probably be gst_structure_fixate_*
26330 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26332 * docs/gst/gstreamer-docs.sgml:
26333 * docs/gst/gstreamer-sections.txt:
26335 * gst/gstbin.c: (gst_bin_get_type),
26336 (gst_bin_child_proxy_get_child_by_index),
26337 (gst_bin_child_proxy_get_children_count),
26338 (gst_bin_child_proxy_init):
26339 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26340 (gst_child_proxy_get_child_by_index),
26341 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26342 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26343 (gst_child_proxy_get), (gst_child_proxy_set_property),
26344 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26345 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26346 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26347 * gst/gstchildproxy.h:
26348 * gst/parse/grammar.y:
26349 * tools/gst-inspect.c: (print_interfaces),
26350 (print_element_properties_info), (print_element_info):
26351 ported gstchildproxy over from 0.8
26352 ported gst-inspect fixes and enhancements over from 0.8
26354 2005-08-22 Wim Taymans <wim@fluendo.com>
26356 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26357 (gst_base_transform_handle_buffer):
26358 Also call the transform function if we have ANY caps.
26360 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26363 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26365 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26366 Don't pretend to handle seek events if the source is not seekable
26368 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26370 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26371 Remove extra parameter to debug output
26373 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26374 (gst_base_src_do_seek), (gst_base_src_activate_push):
26375 Fix seek event handling.
26377 * gst/gstpipeline.c: (gst_pipeline_change_state):
26378 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26379 (gst_queue_src_activate_push):
26380 Don't start the src pad task on FLUSH_STOP if the pad
26384 2005-08-22 Wim Taymans <wim@fluendo.com>
26386 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26387 Added check for gst_static_caps_get() refcounting.
26389 2005-08-22 Wim Taymans <wim@fluendo.com>
26391 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26392 Make _static_caps_get() refcounting sane.
26394 * gst/gstelement.c: (gst_element_set_state):
26395 Add g_return_val_if_fail() to protect against segfaults.
26397 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26399 * docs/gst/tmpl/gstevent.sgml:
26402 inlined remaining docs, added missing doc comments
26404 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26406 * check/gst/gstbin.c: (GST_START_TEST):
26407 since we don't know when preroll is done, use refcount range
26409 * gst/check/gstcheck.h:
26410 add macro for checking refcount range
26412 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26414 * check/Makefile.am:
26415 clean up environment for when registry gets built versus
26416 when actual tests are run; valgrind seems to not report
26417 leaks if GST_PLUGIN_PATH is set to some specific values
26418 * check/gst/gstbin.c: (GST_START_TEST):
26419 add more refcounting checks; maybe this exposes a
26421 * common/check.mak:
26422 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26423 * gst/check/gstcheck.h:
26424 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26425 (gst_bin_change_state):
26426 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26427 add/fix debugging/whitespace
26429 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26431 * check/gst/gstevent.c: (event_probe), (test_event),
26433 Er, don't call gst_bin_watch_for_state_change you idiot.
26435 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26437 * check/Makefile.am:
26438 Use CHECK_CFLAGS and CHECK_LIBS
26439 * check/gst/gstevent.c: (event_probe), (test_event),
26442 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26443 (gst_base_src_start), (gst_base_src_stop),
26444 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26445 (gst_base_src_change_state):
26446 Sprinkle gst_base_src_stop liberally around error paths to fix
26447 problems reusing a source after failed state changes.
26448 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26449 (helper_find_suggest), (gst_type_find_helper):
26450 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26452 * docs/gst/tmpl/gstevent.sgml:
26453 Migrate part of the docs from the SGML file. Wait for ensonic to
26454 tell me how I did it wrong ;)
26455 * tools/gst-typefind.c: (main):
26456 Extra robustness to state changes between files.
26458 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26460 * check/Makefile.am:
26461 don't valgrind the controller test - it's leaking - Stefan, HELP
26462 * gst/check/gstcheck.c: (gst_check_message_error),
26463 (gst_check_chain_func), (gst_check_setup_element),
26464 (gst_check_teardown_element), (gst_check_setup_src_pad),
26465 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26466 (gst_check_teardown_sink_pad):
26467 * gst/check/gstcheck.h:
26468 add a bunch of methods to set up elements, and src and sink pads
26469 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26470 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26473 * gst/gstmessage.c:
26475 whitespace/doc fixes
26477 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26479 * gst/gstelement.h:
26480 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26481 be handled by the application and not always printed as well
26483 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26485 * check/Makefile.am:
26487 * gst/check/gstcheck.c: (gst_check_message_error):
26488 * gst/check/gstcheck.h:
26489 add a fail_unless_equals_int
26490 add fail_unless for error messages
26492 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26494 * check/Makefile.am:
26496 * common/Makefile.am:
26497 * common/check.mak:
26499 factor out some of the common stuff so we can use it
26501 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26503 * check/Makefile.am:
26504 * check/gst/gstiterator.c: (GST_START_TEST):
26505 * check/gst/gstsystemclock.c: (GST_START_TEST),
26506 (gst_systemclock_suite):
26507 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26509 valgrind more tests
26511 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26513 * check/elements/.cvsignore:
26514 * check/elements/gstfakesrc.c:
26515 rename to name of element
26516 * check/elements/identity.c: (chain_func), (event_func),
26517 (setup_identity), (cleanup_identity), (GST_START_TEST),
26518 (identity_suite), (main):
26519 add a test for identity
26520 * check/Makefile.am:
26521 * pkgconfig/Makefile.am:
26522 * pkgconfig/gstreamer-check.pc.in:
26523 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26527 move the check stuff to a library that gets installed
26528 * check/gst-libs/controller.c: (GST_START_TEST):
26529 * check/gst-libs/gdp.c:
26530 * check/gst/gst.c: (GST_START_TEST):
26531 * check/gst/gstbin.c:
26532 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26533 * check/gst/gstbus.c:
26534 * check/gst/gstcaps.c: (GST_START_TEST):
26535 * check/gst/gstelement.c:
26536 * check/gst/gstghostpad.c:
26537 * check/gst/gstiterator.c:
26538 * check/gst/gstmessage.c:
26539 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26540 * check/gst/gstobject.c:
26541 * check/gst/gstpad.c: (GST_START_TEST):
26542 * check/gst/gststructure.c: (GST_START_TEST):
26543 * check/gst/gstsystemclock.c: (GST_START_TEST),
26544 (gst_systemclock_suite):
26545 * check/gst/gsttag.c: (gst_tag_suite):
26546 * check/gst/gstvalue.c:
26547 * check/pipelines/cleanup.c:
26548 * check/pipelines/simple_launch_lines.c:
26549 * check/states/sinks.c:
26550 change include statement
26552 * docs/gst/gstreamer-sections.txt:
26553 * docs/gst/tmpl/gstpad.sgml:
26554 document more pad stuff
26555 * gst/gstminiobject.c: (gst_mini_object_ref),
26556 (gst_mini_object_unref):
26559 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26561 * docs/gst/tmpl/gst.sgml:
26563 eliminate another tmpl file, fix spelling in the long-description
26565 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26567 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26568 (test_event), (timediff), (gstevents_suite):
26569 Should fix build on 64-bit arch's
26571 2005-08-18 Andy Wingo <wingo@pobox.com>
26573 Make sure that when a pipeline goes to PLAYING, that data has
26574 actually hit the sink.
26576 * check/states/sinks.c (test_sink): A sink that doesn't get any
26577 data shouldn't return SUCCESS for going to either PLAYING or
26578 PAUSED. Test also the return values on the way back down.
26580 * gst/gstelement.c (gst_element_set_state): When changing the
26581 state of an element currently changing state asynchronously, go to
26582 lost-state after commiting the pending state. Makes future calls
26583 to get_state continue to return ASYNC.
26585 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26586 ASYNC when going to PLAYING if we still don't have preroll, as can
26587 happen with live sources.
26589 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26591 * docs/pwg/advanced-types.xml:
26592 Hack long paragraph into 2 chunks as a workaround for buggy
26593 jadetex version in sid and breezy that loops infinitely and
26596 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26598 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26599 (test_event), (timediff), (gstevents_suite):
26600 Provide more error margin in clock measurements to allow for
26601 g_get_current_time inaccuracies.
26603 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26605 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26606 (test_event), (timediff), (gstevents_suite):
26607 Fix error message output so I might be able to tell why the
26608 test works here but fails on the build farm.
26610 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26612 * check/Makefile.am:
26613 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26614 (test_event), (timediff), (gstevents_suite), (main):
26617 * docs/design/part-seeking.txt:
26618 Spelling correction
26620 * docs/gst/tmpl/gstevent.sgml:
26621 * docs/gst/tmpl/gstfakesrc.sgml:
26624 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26625 Treat a buffer-without-newsegment the same as a receiving
26626 a newsegment not in time format, and disable syncing to the clock
26629 * gst/gstbus.c: (gst_bus_set_sync_handler):
26630 Assert if anyone tries to replace the existing sync_handler for bus,
26631 as only the owner should be setting it.
26634 Have a fixed set of custom event enums with events identified by
26635 their structure name (as in 0.8), rather than a free-for-all
26636 allowing collisions between enum values from different plugins.
26638 * gst/gstpad.c: (gst_pad_class_init):
26641 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26642 Handle out-of-band downstream events from the sending thread.
26644 2005-08-17 Andy Wingo <wingo@pobox.com>
26646 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26647 play-timeout==0 to mean no timeout at all. In that case, don't
26648 bother with a get_state or a warning, just return directly, even
26651 * gst/base/gstbasetransform.c: Debug changes.
26654 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26655 ensure bins post state change messages. A bit of a hack but I can't
26656 think of a way to avoid it.
26658 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26660 2005-08-16 Andy Wingo <wingo@pobox.com>
26662 * gst/base/gstadapter.h:
26663 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26664 peek() but you own the data. Not terribly efficient atm.
26666 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26668 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26669 (gst_element_found_tags):
26671 Add two utility functions for tag handling.
26673 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26675 * docs/manual/advanced-dataaccess.xml:
26676 * docs/manual/basics-helloworld.xml:
26677 Fix docs to use _bin_add() before _link(), which fixes the examples
26678 with recent core versions (reported by Madhan Raj M
26679 <raj_madan@rediffmail.com>, #313199).
26681 2005-08-16 Wim Taymans <wim@fluendo.com>
26683 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26684 Added subtract checks.
26686 * docs/design/part-events.txt:
26687 Some more docs about newsegment
26689 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26692 * gst/gstcaps.c: (gst_caps_to_string):
26693 Add comments, cleanups.
26695 * gst/gstelement.c: (gst_element_save_thyself):
26698 * gst/gstvalue.c: (gst_value_collect_int_range),
26699 (gst_string_unwrap), (gst_value_union_int_int_range),
26700 (gst_value_union_int_range_int_range),
26701 (gst_value_intersect_int_int_range),
26702 (gst_value_intersect_int_range_int_range),
26703 (gst_value_intersect_double_double_range),
26704 (gst_value_intersect_double_range_double_range),
26705 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26706 (gst_value_subtract_int_range_int),
26707 (gst_value_subtract_double_range_double),
26708 (gst_value_subtract_double_range_double_range),
26709 (gst_value_subtract_from_list), (gst_value_subtract_list),
26710 (gst_value_can_compare), (gst_value_compare_fraction):
26711 Cleanups, add comments, remove unneeded asserts.
26713 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26715 * tools/gst-launch.c: (event_loop):
26716 don't convert NULL structures to strings
26718 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26720 * docs/gst/gstreamer-sections.txt:
26721 made some defines private
26722 * docs/gst/tmpl/gstconfig.sgml:
26723 * docs/gst/tmpl/gstqueue.sgml:
26724 * docs/gst/tmpl/gsttaglist.sgml:
26725 * docs/gst/tmpl/gsttypes.sgml:
26726 * docs/gst/tmpl/gstutils.sgml:
26727 * docs/pwg/appendix-porting.xml:
26728 * gst/base/gstbasesink.h:
26729 * gst/base/gstbasesrc.c:
26730 * gst/base/gstbasesrc.h:
26731 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26732 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26733 * gst/gstelement.c: (gst_element_class_init):
26734 * gst/gstpad.c: (gst_pad_class_init):
26735 * gst/gstqueue.c: (gst_queue_class_init):
26736 * gst/gstxml.c: (gst_xml_class_init):
26737 documented all undocumented signal inline
26738 * libs/gst/controller/gst-controller.h:
26741 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26743 * docs/pwg/appendix-porting.xml:
26744 Document _set_link_function -> _set_setcaps_function.
26746 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26748 * check/Makefile.am:
26749 add a .check target for running the check
26750 * check/gst-libs/controller.c: (GST_START_TEST):
26752 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26753 complete checks for gstbuffer; would be nice if I could get the
26754 gcov stuff to work so I can see if I actually completed gstbuffer.c
26755 * check/gstcheck.h:
26756 add ASSERT_BUFFER_REFCOUNT
26758 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26760 * docs/gst/gstreamer-sections.txt:
26761 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26763 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26764 spew out a warning if a tag that is already registered
26765 is re-registered, unless it is re-registered with a
26766 different type (#308438).
26768 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26770 * docs/pwg/appendix-porting.xml:
26771 * docs/pwg/building-state.xml:
26772 Add some paragraphs about state changes in 0.9 to the PWG
26773 and the porting guide, in particular about the new meaning
26774 of GST_STATE_PAUSED and how to write state change functions
26775 with concurrent access by multiple threads in mind.
26777 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26779 * docs/gst/gstreamer-docs.sgml:
26780 * docs/libs/gstreamer-libs-docs.sgml:
26781 added deprecation and since indexes
26782 * libs/gst/controller/gst-controller.c:
26783 * libs/gst/controller/gst-helper.c:
26787 2005-08-11 Wim Taymans <wim@fluendo.com>
26789 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26790 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26791 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26792 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26793 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26794 (gst_ghost_pad_set_target):
26795 Actually implement (re)setting the target on a ghostpad
26796 as described in the docs.
26798 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26800 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26801 Check whether GST_DEBUG_NO_COLOR environment variable is
26802 set and disable coloured debug output if that is the case.
26804 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26806 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26807 (gst_type_find_helper):
26808 The memory returned by gst_type_find_peek() needs to
26809 stay valid until the end of a typefind function, and
26810 typefind functions may keep results from different
26811 offsets around, so we can't just unref the buffer from
26812 the previous _peek(), but have to save all buffers
26813 returned by _peek() until typefinding is done and only
26816 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26818 * docs/gst/gstreamer-sections.txt:
26820 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26822 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26824 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26825 Fix a pretty good memleak.
26827 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26829 * gst/gstiterator.h:
26830 Fix wrong include and 'make distcheck'.
26832 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26834 * gst/gstbin.c: (bin_bus_handler):
26835 Use gst_element_post_message() instead.
26837 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26839 * gst/base/gstadapter.h:
26840 * gst/base/gstbasesink.h:
26841 * gst/base/gstbasesrc.h:
26842 * gst/base/gstbasetransform.h:
26843 * gst/base/gstcollectpads.h:
26844 * gst/base/gstpushsrc.h:
26845 * gst/gstiterator.h:
26846 Add padding to our base elements' class and instance structs and
26847 to GstIterator (you will need to rebuild all plugins and apps!)
26849 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26851 * gst/gstbin.c: (bin_bus_handler):
26852 Make default message forwarding from child->bus to bin->bus
26853 threadsafe and make it not emit warnings if the parent has no bus.
26855 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26857 * gst/gstelement.c: (activate_pads):
26858 On paused->ready, set pad->caps to NULL, as is the documented
26859 behaviour in this state change. Fixes playback of series of
26860 media files when visualization is enabled in Totem.
26862 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26864 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26865 Allow NULL as filter-caps (which means "any").
26867 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26869 * docs/libs/gstreamer-libs-sections.txt:
26870 * libs/gst/controller/gst-controller.c:
26871 * libs/gst/controller/gst-controller.h:
26872 * libs/gst/controller/gst-helper.c:
26873 adding more entries to the docs and fix small doc-bugs
26875 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26877 * docs/gst/gstreamer-docs.sgml:
26878 * docs/gst/gstreamer-sections.txt:
26879 * docs/gst/gstreamer.types:
26880 * docs/gst/tmpl/gstbasesink.sgml:
26881 * docs/gst/tmpl/gstbasesrc.sgml:
26882 * docs/gst/tmpl/gstbasetransform.sgml:
26883 * docs/gst/tmpl/gstfakesrc.sgml:
26884 * gst/base/gstcollectpads.c:
26885 * gst/base/gstcollectpads.h:
26886 * libs/gst/controller/gst-controller.c:
26887 * libs/gst/controller/gst-controller.h:
26888 * libs/gst/controller/gst-helper.c:
26889 * libs/gst/controller/gst-interpolation.c:
26890 * libs/gst/controller/lib.c:
26891 added long/short desc for controller docs
26892 added collectpads base class docs
26893 added correct includes to base-class docs
26895 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26897 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26898 (gst_test_mono_source_set_property),
26899 (gst_test_mono_source_class_init), (GST_START_TEST),
26900 (gst_controller_suite):
26901 * docs/gst/gstreamer-docs.sgml:
26902 * docs/gst/gstreamer-sections.txt:
26903 * docs/gst/gstreamer.types:
26904 * docs/libs/gstreamer-libs-docs.sgml:
26905 * docs/libs/gstreamer-libs-sections.txt:
26906 * gst/base/gstadapter.c:
26907 * libs/gst/controller/gst-controller.c:
26908 (gst_controlled_property_new), (gst_controlled_property_free),
26909 (gst_controller_new_valist),
26910 (gst_controller_remove_properties_valist),
26911 (gst_controller_sink_values), (_gst_controller_finalize):
26912 * libs/gst/controller/gst-controller.h:
26913 * libs/gst/controller/gst-helper.c:
26914 (gst_object_control_properties), (gst_object_uncontrol_properties),
26915 (gst_object_get_controller), (gst_object_set_controller),
26916 (gst_object_sink_values), (gst_object_get_value_arrays),
26917 (gst_object_get_value_array):
26918 more tests (and fixes) for the controller
26919 more docs for the controller
26920 integrated companies docs for the adapter
26922 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
26924 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26925 (GST_START_TEST), (fakesrc_suite):
26926 add tests for sizetype
26928 2005-08-04 Andy Wingo <wingo@pobox.com>
26930 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26931 fixes buffer_alloc proxying among other things.
26933 * gst/base/gstbasetransform.c:
26934 * gst/base/gstbasetransform.h:
26935 Revert patch to gstbasetransform from 7-28 removing
26938 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26939 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26940 Semantics changed, should return not the size of the output buffer
26941 but the byte size of a buffer with a given caps.
26943 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26945 (gst_base_transform_configure_caps): Don't set out_size here: (in,
26946 out) are not the pad caps until setcaps finishes.
26947 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26948 not-in-place case as well. Deal with changing from in-place to
26949 not-in-place within calling pad_alloc_buffer. Still a bit
26950 concerned about the overhead here...
26952 2005-08-03 Andy Wingo <wingo@pobox.com>
26954 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26955 fixating is an error.
26957 2005-08-04 Edward Hervey <edward@fluendo.com>
26959 * gst/base/gstadapter.h:
26960 Added gst_adapter_get_type() to the header
26962 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26964 * check/Makefile.am:
26965 * check/gst-libs/controller.c:
26966 * libs/gst/controller/gst-controller.c:
26967 (gst_controller_new_valist):
26968 added check test suite for the controller
26969 * gst/base/gstpushsrc.c:
26972 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26974 * docs/gst/Makefile.am:
26975 * docs/gst/gstreamer-docs.sgml:
26976 * docs/gst/gstreamer-sections.txt:
26977 * docs/gst/gstreamer.types:
26978 * docs/gst/tmpl/gstfakesrc.sgml:
26980 * gst/base/gstbasesink.c:
26981 * gst/base/gstbasesink.h:
26982 * gst/base/gstbasesrc.c:
26983 * gst/base/gstbasesrc.h:
26984 * gst/base/gstbasetransform.c:
26985 * gst/base/gstpushsrc.c:
26986 * gst/base/gstpushsrc.h:
26987 add short/long description docs to base classes
26988 add pushsrc to the docs
26989 remove consolidated doc fragments
26991 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26994 * docs/libs/Makefile.am:
26995 * docs/libs/gstreamer-libs-docs.sgml:
26996 * docs/libs/gstreamer-libs-sections.txt:
26997 * docs/libs/gstreamer-libs.types:
26998 * examples/Makefile.am:
26999 * examples/controller/.cvsignore:
27000 * examples/controller/Makefile.am:
27001 * examples/controller/audio-example.c: (main):
27002 * libs/gst/Makefile.am:
27003 * libs/gst/controller/.cvsignore:
27004 * libs/gst/controller/Makefile.am:
27005 * libs/gst/controller/gst-controller.c:
27006 (on_object_controlled_property_changed), (gst_timed_value_compare),
27007 (gst_timed_value_find),
27008 (gst_controlled_property_set_interpolation_mode),
27009 (gst_controlled_property_new), (gst_controlled_property_free),
27010 (gst_controller_find_controlled_property),
27011 (gst_controller_new_valist), (gst_controller_new),
27012 (gst_controller_remove_properties_valist),
27013 (gst_controller_remove_properties), (gst_controller_set),
27014 (gst_controller_set_from_list), (gst_controller_unset),
27015 (gst_controller_get), (gst_controller_get_all),
27016 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27017 (gst_controller_get_value_array),
27018 (gst_controller_set_interpolation_mode),
27019 (_gst_controller_finalize), (_gst_controller_init),
27020 (_gst_controller_class_init), (gst_controller_get_type):
27021 * libs/gst/controller/gst-controller.h:
27022 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27023 (g_object_uncontrol_properties), (g_object_get_controller),
27024 (g_object_set_controller), (g_object_sink_values),
27025 (g_object_get_value_arrays), (g_object_get_value_array):
27026 * libs/gst/controller/gst-interpolation.c:
27027 (gst_controlled_property_find_timed_value_node),
27028 (interpolate_none_get), (interpolate_trigger_get),
27029 (interpolate_trigger_get_value_array):
27030 * libs/gst/controller/lib.c: (gst_controller_init):
27031 * pkgconfig/Makefile.am:
27032 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27033 * pkgconfig/gstreamer-control.pc.in:
27034 * testsuite/Makefile.am:
27035 * testsuite/controller/.cvsignore:
27036 * testsuite/controller/Makefile.am:
27037 * testsuite/controller/interpolator.c: (main):
27038 added controller code
27039 removed dparam pc files
27041 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27042 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27043 (gst_collectpads_stop):
27044 Broadcast the condition when shutting down, to make sure we wake all
27045 threads up. Shut down pads on finalize, for safety.
27047 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27048 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27049 (gst_base_transform_handle_buffer),
27050 (gst_base_transform_change_state):
27051 Handle PAUSED->READY->PAUSED transition after negotiation
27053 * gst/gstmessage.c: (gst_message_init):
27054 Extra piece of debug for new messages.
27056 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27059 * docs/gst/tmpl/gstbasesrc.sgml:
27060 * docs/gst/tmpl/gstelement.sgml:
27061 * docs/gst/tmpl/gstevent.sgml:
27062 * docs/gst/tmpl/gstfakesrc.sgml:
27063 * docs/gst/tmpl/gstformat.sgml:
27064 * docs/gst/tmpl/gstghostpad.sgml:
27065 * docs/gst/tmpl/gstpad.sgml:
27066 * docs/gst/tmpl/gstquery.sgml:
27067 * docs/gst/tmpl/gststructure.sgml:
27068 * docs/gst/tmpl/gsttaglist.sgml:
27069 * docs/gst/tmpl/gstvalue.sgml:
27070 * docs/libs/gstreamer-libs-docs.sgml:
27071 * docs/libs/gstreamer-libs-sections.txt:
27072 * docs/libs/gstreamer-libs.types:
27073 * libs/gst/Makefile.am:
27074 * libs/gst/control/.cvsignore:
27075 * libs/gst/control/Makefile.am:
27076 * libs/gst/control/control.c:
27077 * libs/gst/control/control.h:
27078 * libs/gst/control/dparam.c:
27079 * libs/gst/control/dparam.h:
27080 * libs/gst/control/dparam_smooth.c:
27081 * libs/gst/control/dparam_smooth.h:
27082 * libs/gst/control/dparamcommon.h:
27083 * libs/gst/control/dparammanager.c:
27084 * libs/gst/control/dparammanager.h:
27085 * libs/gst/control/dplinearinterp.c:
27086 * libs/gst/control/dplinearinterp.h:
27087 * libs/gst/control/unitconvert.c:
27088 * libs/gst/control/unitconvert.h:
27089 * testsuite/Makefile.am:
27090 * testsuite/dynparams/.cvsignore:
27091 * testsuite/dynparams/Makefile.am:
27092 * testsuite/dynparams/dparamstest.c:
27093 * tools/Makefile.am:
27094 * tools/gst-inspect.c: (print_element_info), (main):
27095 * tools/gst-xmlinspect.c: (print_element_info), (main):
27096 deactivate and remove dparams (libgstcontrol)
27098 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27100 * gst/elements/gsttypefindelement.c:
27101 (gst_type_find_element_have_type), (gst_type_find_element_init),
27102 (stop_typefinding), (gst_type_find_element_handle_event),
27103 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27104 * gst/elements/gsttypefindelement.h:
27105 Set caps on all outgoing buffers, not just the first one.
27107 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27109 * gst/elements/gsttypefindelement.c:
27110 (gst_type_find_element_have_type),
27111 (gst_type_find_element_check_set_buffer_caps),
27112 (gst_type_find_element_init), (stop_typefinding),
27113 (gst_type_find_element_handle_event),
27114 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27115 * gst/elements/gsttypefindelement.h:
27116 Set caps on first outgoing buffer when we've found the type.
27118 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27120 * docs/gst/gstreamer-docs.sgml:
27121 * docs/gst/gstreamer-sections.txt:
27122 * docs/gst/tmpl/gstscheduler.sgml:
27123 * docs/gst/tmpl/gstschedulerfactory.sgml:
27124 Remove some old cruft from docs.
27126 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27129 Fix inline docs for GstPadLinkReturn.
27131 * gst/gststructure.c: (gst_structure_has_name):
27132 * gst/gststructure.h:
27133 * docs/gst/gstreamer-sections.txt:
27134 New API: gst_structure_has_name().
27136 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27139 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27140 and _LARGEFILE_SOURCE in config.h as required. Do not
27141 export those flags in our .pc files any longer (#142209).
27143 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27145 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27146 (gst_file_sink_do_seek), (gst_file_sink_event),
27147 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27148 Redo seek/tell calls with large file support in mind; add some
27149 debugging messages; add log message that tells us when large
27150 file support is unavailable or not enabled for some reason.
27152 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27153 Add log message that tells us when large file support
27154 is unavailable or not enabled for some reason.
27156 2005-07-29 Wim Taymans <wim@fluendo.com>
27158 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27159 Added test for removing an element with ghostpad from a bin.
27160 Fixed test as current implementation does the right thing.
27162 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27163 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27164 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27165 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27166 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27167 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27168 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27169 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27170 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27171 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27172 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27173 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27174 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27175 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27176 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27177 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27178 * gst/gstghostpad.h:
27179 Clean up ghostpads, remove properties for internal stuff.
27182 Prepare for switching targets, not all use cases work yet.
27184 2005-07-29 Wim Taymans <wim@fluendo.com>
27186 * docs/design/part-gstghostpad.txt:
27189 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27190 (gst_bin_remove_func):
27191 Unlinking pads while holding the bin LOCK is not a good
27194 * gst/gstpad.c: (gst_pad_class_init),
27195 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27196 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27197 No prob setting template after creating the pad.
27199 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27201 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27202 (gst_bus_peek), (gst_bus_source_dispatch),
27203 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27204 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27205 gst_bus_poll may be called from other threads. Handle
27206 this nicely by not making poll_data disappear off the
27207 stack once gst_bus_poll returns.
27208 gst_bus_peek now increments the refcount on the returned
27211 2005-07-29 Wim Taymans <wim@fluendo.com>
27213 * docs/design/part-gstghostpad.txt:
27214 Overview of current GhostPad datastructures and use
27215 cases for changing the target.
27217 2005-07-28 Wim Taymans <wim@fluendo.com>
27219 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27220 Added checks for hierarchy consistency whan adding linked
27223 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27224 Added check to test element scheduling without bin/pipeline.
27226 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27227 First add elements to bin, then link.
27229 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27230 (gst_bin_remove_func):
27231 Unlink pads from elements added/removed from bin to maintain
27232 hierarchy consistency.
27234 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27236 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27237 (gst_base_transform_handle_buffer):
27238 * gst/base/gstbasetransform.h:
27239 Remove broken delay_configure (fixes renegotiation of software
27240 scaling pipelines); remove some leftover printf()s.
27242 2005-07-28 Wim Taymans <wim@fluendo.com>
27244 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27245 Added some more tests for wrong hierarchy
27247 * docs/design/part-overview.txt:
27250 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27253 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27254 (gst_element_dispose):
27255 Some more cleanups.
27257 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27258 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27259 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27260 (gst_pad_set_caps), (gst_pad_send_event):
27261 Check for correct hierarchy when linking pads. Moving to
27262 strict requirement for ghostpads when linking elements in
27266 Clean ups. Added WRONG_HIERARCHY return value.
27268 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27270 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27271 Better debug if no transform is possible.
27273 2005-07-27 Wim Taymans <wim@fluendo.com>
27275 * docs/random/wtay/network-transp:
27276 Some old doc I had.
27278 2005-07-27 Wim Taymans <wim@fluendo.com>
27280 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27281 (gst_dp_event_from_packet):
27282 Fix serialization of seek events.
27284 2005-07-27 Wim Taymans <wim@fluendo.com>
27286 * check/gst-libs/gdp.c: (GST_START_TEST):
27287 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27288 Fix compilation and fix event serialization.
27290 2005-07-27 Wim Taymans <wim@fluendo.com>
27293 * docs/design/part-TODO.txt:
27294 * docs/design/part-events.txt:
27297 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27298 (gst_base_sink_event), (gst_base_sink_do_sync),
27299 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27300 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27301 (gst_base_src_do_seek), (gst_base_src_event_handler),
27302 (gst_base_src_loop):
27303 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27304 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27305 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27306 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27307 (gst_base_transform_set_passthrough),
27308 (gst_base_transform_is_passthrough):
27309 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27310 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27316 * gst/gstelement.c: (gst_element_seek):
27317 * gst/gstelement.h:
27318 Update gst_element_seek.
27320 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27321 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27322 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27323 (gst_event_new_eos), (gst_event_new_newsegment),
27324 (gst_event_parse_newsegment), (gst_event_new_tag),
27325 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27326 (gst_event_parse_qos), (gst_event_new_seek),
27327 (gst_event_parse_seek), (gst_event_new_navigation):
27329 Make GstEvent use GstStructure. Add parsing code, make sure the
27330 API is sufficiently generic.
27331 Mark possible directions of events and serialization.
27333 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27334 (_gst_message_copy), (gst_message_new_segment_start),
27335 (gst_message_new_segment_done), (gst_message_new_custom),
27336 (gst_message_parse_segment_start),
27337 (gst_message_parse_segment_done):
27340 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27341 (gst_pad_set_caps), (gst_pad_send_event):
27342 Update for new events.
27343 Catch events sent in wrong directions.
27345 * gst/gstqueue.c: (gst_queue_link_src),
27346 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27347 (gst_queue_handle_src_query):
27352 Remove event code from this file.
27354 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27355 (gst_dp_event_from_packet):
27358 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27360 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27361 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27362 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27363 Make debugging actually useful.
27365 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27367 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27368 (gst_pad_fixate_caps):
27369 Implement default fixation once again, so that gst_pad_fixate()
27370 actually does anything at all. This probably needs to be some
27371 sort of a last resort, and use profile-based fixation first, but
27372 since that doesn't exist yet, this is the best we have. Fixes
27373 visualization in Totem.
27375 2005-07-22 Wim Taymans <wim@fluendo.com>
27377 * docs/design/part-events.txt:
27380 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27381 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27382 (gst_base_sink_activate_pull):
27383 Some more comments.
27385 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27386 (gst_fake_src_create):
27387 Fix handoff marshall.
27389 * gst/elements/gstidentity.c: (gst_identity_class_init),
27390 (gst_identity_transform_ip):
27391 We're a real inplace element.
27393 * gst/gstbus.c: (gst_bus_post):
27394 Added some comments.
27396 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27397 * tests/muxing/case1.c: (main):
27398 * tests/sched/dynamic-pipeline.c: (main):
27399 * tests/sched/interrupt1.c: (main):
27400 * tests/sched/interrupt2.c: (main):
27401 * tests/sched/interrupt3.c: (main):
27402 * tests/sched/runxml.c: (main):
27403 * tests/sched/sched-stress.c: (main):
27404 * tests/seeking/seeking1.c: (event_received), (main):
27405 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27407 * tests/threadstate/threadstate3.c: (main):
27408 * tests/threadstate/threadstate4.c: (main):
27409 * tests/threadstate/threadstate5.c: (main):
27412 2005-07-21 Wim Taymans <wim@fluendo.com>
27414 * docs/design/part-seeking.txt:
27415 Some small additions.
27417 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27418 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27419 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27420 * gst/base/gstbasesink.h:
27421 discont values are gint64, handle the math correctly.
27423 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27424 Make the basesrc report error if the source pad is not linked.
27426 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27427 (gst_queue_loop), (gst_queue_handle_src_query),
27428 (gst_queue_src_activate_push):
27429 Make queue collect data even if the srcpad is not linked.
27430 Start pushing out data as soon as it is linked.
27432 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27434 Added gst_flow_get_name() to ease error reporting.
27436 2005-07-20 Wim Taymans <wim@fluendo.com>
27438 * gst/gstmessage.c: (gst_message_new_segment_start),
27439 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27440 (gst_message_parse_segment_done):
27441 * gst/gstmessage.h:
27442 Added a bunch of messages for advanced seeking.
27444 * gst/parse/grammar.y:
27445 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27446 (gst_dpman_state_changed):
27447 Fix some new-pad -> pad-added signals
27449 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27451 * docs/manual/appendix-porting.xml:
27452 * docs/pwg/appendix-porting.xml:
27453 Document new-pad/state-change signal renames and the FixedList
27456 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27458 * docs/manual/advanced-autoplugging.xml:
27459 * docs/manual/basics-helloworld.xml:
27460 * docs/manual/basics-pads.xml:
27461 * docs/random/ds/0.9-suggested-changes:
27462 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27463 * gst/gstelement.h:
27467 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27468 (gst_structure_parse_array), (gst_structure_parse_value):
27469 * gst/gstvalue.c: (gst_type_is_fixed),
27470 (gst_value_list_prepend_value), (gst_value_list_append_value),
27471 (gst_value_list_get_size), (gst_value_list_get_value),
27472 (gst_value_transform_array_string), (gst_value_serialize_array),
27473 (gst_value_deserialize_array), (gst_value_intersect_array),
27474 (gst_value_is_fixed), (_gst_value_initialize):
27476 GstElement::new-pad -> pad-added, GstElement::state-change ->
27477 state-changed, GstValueFixedList -> GstValueArray, add format and
27478 flags as their own arguments in gst_element_seek() (should improve
27479 "bindeability"), remove function generators since they don't work
27480 under a whole bunch of compilers (they were deprecated already
27483 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27485 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27486 (_gst_debug_register_funcptr):
27488 Fix illegal cast on some platforms (#309253).
27490 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27492 * gst/gstmessage.c: (gst_message_new_custom):
27493 * gst/gstmessage.h:
27494 Add _new_custom, make _new_application a macro to _new_custom.
27496 2005-07-20 Wim Taymans <wim@fluendo.com>
27498 * gst/base/gstbasesrc.c: (gst_base_src_init),
27499 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27500 * gst/base/gstbasesrc.h:
27501 Add a gboolean to decide when to push out a discont.
27503 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27504 (gst_queue_loop), (gst_queue_handle_src_query),
27505 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27506 (gst_queue_set_property), (gst_queue_get_property):
27509 * tests/threadstate/threadstate1.c: (main):
27510 Make a thread test compile and run... very silly..
27513 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27515 * docs/manual/appendix-porting.xml:
27516 Mention removal of libgstgconf-0.9.la and existence of gconf
27519 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27521 * docs/pwg/advanced-clock.xml:
27522 * docs/pwg/appendix-porting.xml:
27523 * docs/pwg/intro-preface.xml:
27524 * docs/pwg/other-base.xml:
27525 * docs/pwg/other-manager.xml:
27526 * docs/pwg/other-nton.xml:
27527 * docs/pwg/other-ntoone.xml:
27528 * docs/pwg/other-oneton.xml:
27529 * docs/pwg/pwg.xml:
27530 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27531 demuxer), remove n-to-n (was never written), fix some code examples
27532 and links and update the porting section to include all this.
27534 2005-07-19 Wim Taymans <wim@fluendo.com>
27536 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27537 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27538 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27539 (gst_queue_src_activate_push), (gst_queue_change_state),
27540 (gst_queue_get_property):
27542 Propagate GstFlowReturn more intelligently upstream and output
27543 an ERROR/EOS when streaming stopped due to fatal error.
27545 2005-07-19 Wim Taymans <wim@fluendo.com>
27547 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27548 Don't block forever for the state change to complete, the
27549 pipeline already did with a sensible timeout.
27551 2005-07-19 Wim Taymans <wim@fluendo.com>
27553 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27554 Make sure we never call the create function is we
27557 2005-07-19 Andy Wingo <wingo@pobox.com>
27559 * gst/parse/parse.l: Attempt to solve bug #172815.
27561 2005-07-19 Wim Taymans <wim@fluendo.com>
27563 * docs/design/part-clocks.txt:
27564 * docs/design/part-events.txt:
27565 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27566 Small docs updates.
27567 Only update the seeking values when we are not
27570 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27572 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27573 Oops, ignore the result of gst_pad_push_event here.
27575 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27577 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27578 (gst_base_src_activate_push):
27579 Send discont event from the loop function, as pads
27580 aren't activated yet in the activate_push handler.
27582 * gst/gstbin.c: (bin_bus_handler):
27583 Don't leak element name.
27585 2005-07-18 Andy Wingo <wingo@pobox.com>
27587 * configure.ac: Use AS_LIBTOOL_TAGS.
27589 2005-07-18 Wim Taymans <wim@fluendo.com>
27591 * docs/gst/gstreamer.types:
27592 Remove deleted types.
27594 2005-07-18 Wim Taymans <wim@fluendo.com>
27596 * check/elements/gstfakesrc.c: (GST_START_TEST):
27599 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27600 (init_popt_callback):
27602 * gst/gst_private.h:
27603 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27604 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27607 * gst/gstconfig.h.in:
27608 * gst/gstelement.c: (gst_element_class_init),
27609 (gst_element_set_base_time), (gst_element_get_base_time),
27610 (iterator_fold_with_resync), (gst_element_change_state),
27611 (gst_element_dispose), (gst_element_get_bus):
27612 * gst/gstelement.h:
27613 * gst/gstelementfactory.h:
27614 * gst/gsterror.c: (_gst_core_errors_init):
27617 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27619 * gst/gstinfo.c: (_gst_debug_init):
27620 * gst/gstmessage.c: (_gst_message_copy):
27621 * gst/gstmessage.h:
27622 * gst/gstminiobject.h:
27625 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27626 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27629 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27630 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27631 (gst_pipeline_get_last_stream_time):
27632 * gst/gstpipeline.h:
27633 * gst/gstpluginfeature.h:
27635 * gst/gstscheduler.c:
27636 * gst/gstscheduler.h:
27637 * gst/gststructure.h:
27638 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27639 (gst_task_finalize), (gst_task_func), (gst_task_create),
27640 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27641 (gst_task_stop), (gst_task_pause):
27643 * gst/gsttypefind.h:
27645 * gst/registries/gstlibxmlregistry.c: (load_feature),
27646 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27647 * gst/registries/gstxmlregistry.c:
27648 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27649 * gst/schedulers/threadscheduler.c:
27650 * libs/gst/control/dparammanager.h:
27651 * tools/gst-inspect.c: (print_element_list),
27652 (print_plugin_features), (print_element_features):
27653 * tools/gst-xmlinspect.c: (print_element_list),
27654 (print_plugin_info), (main):
27655 Removed plugable schedulers.
27656 Removed Scheduler/Manager from elements.
27657 Removed gsttypes.h, rearranged includes.
27658 Removed dependency pad<->element, element<>pipeline, and
27659 various others, fix includes.
27660 implement gst_pad_get_parent() with gst_object_get_parent()
27661 Make GstTask sefcontained.
27662 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27664 Fix endless loop in iterator_fold_with_resync.
27667 2005-07-18 Wim Taymans <wim@fluendo.com>
27673 2005-07-18 Wim Taymans <wim@fluendo.com>
27676 No more cothreads.h
27678 2005-07-18 Wim Taymans <wim@fluendo.com>
27682 Let's remove these.
27684 2005-07-18 Wim Taymans <wim@fluendo.com>
27686 * docs/design/part-dynamic.txt:
27687 * docs/design/part-events.txt:
27688 * docs/design/part-seeking.txt:
27689 Some more docs in the works.
27691 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27692 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27693 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27694 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27695 (gst_base_transform_handle_buffer),
27696 (gst_base_transform_sink_activate_push),
27697 (gst_base_transform_src_activate_pull),
27698 (gst_base_transform_set_passthrough),
27699 (gst_base_transform_is_passthrough):
27702 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27705 * gst/gstevent.c: (gst_event_finalize):
27708 * gst/gstutils.c: (gst_element_unlink),
27709 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27710 (gst_pad_proxy_setcaps):
27712 Add _get_parent_element() to get a pads parent as an element.
27714 2005-07-18 Wim Taymans <wim@fluendo.com>
27716 * check/gst/gstbin.c: (GST_START_TEST):
27719 2005-07-18 Wim Taymans <wim@fluendo.com>
27721 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27722 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27723 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27724 (gst_base_sink_event), (gst_base_sink_do_sync),
27725 (gst_base_sink_chain), (gst_base_sink_loop),
27726 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27727 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27729 Fix logic for returning ASYNC when not prerolled.
27731 2005-07-18 Wim Taymans <wim@fluendo.com>
27733 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27734 Fix nasty refcount bug.
27736 2005-07-16 Philippe Khalaf <burger@speedy.org>
27738 * gst/elements/gstfdsrc.c:
27739 * gst/elements/gstfdsrc.h:
27740 * gst/elements/gstelements.c:
27741 * gst/elements/Makefile.am:
27742 Ported fdsrc to 0.9.
27744 2005-07-16 Wim Taymans <wim@fluendo.com>
27746 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27747 (gst_base_sink_do_sync):
27750 2005-07-16 Wim Taymans <wim@fluendo.com>
27752 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27753 (gst_base_sink_event), (gst_base_sink_get_times),
27754 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27755 * gst/base/gstbasesink.h:
27756 Store and use discont values when syncing buffers as described
27759 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27760 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27761 (gst_base_src_activate_push):
27762 Push discont event when starting.
27764 * gst/elements/gstidentity.c: (gst_identity_transform):
27767 * gst/gstbin.c: (gst_bin_change_state):
27768 Small cleanups in base_time distribution.
27770 * gst/gstelement.c: (gst_element_set_base_time),
27771 (gst_element_get_base_time), (gst_element_change_state):
27772 * gst/gstelement.h:
27773 Added methods for the base_time of the element.
27776 * gst/gstpipeline.c: (gst_pipeline_send_event),
27777 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27778 (gst_pipeline_get_last_stream_time):
27779 * gst/gstpipeline.h:
27781 Handle seeking as described in design doc, remove stream_time
27783 Cleanups clock and stream_time selection code. Added accessors
27784 for the stream_time.
27787 2005-07-16 Andy Wingo <wingo@pobox.com>
27789 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27792 2005-07-16 Wim Taymans <wim@fluendo.com>
27794 * check/gst/gstbin.c: (GST_START_TEST):
27795 Make elements silent as the deep_notify refs the
27796 parent, which might make the test fail.
27798 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27799 Don't hold the lock for too long.
27801 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27803 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27804 Don't unref the caps we passed to gst_caps_make_writable() after
27805 passing them. gst_caps_make_writable() will do that for us.
27807 2005-07-15 Andy Wingo <wingo@pobox.com>
27809 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27812 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27813 own marshalling function for the handoff signal. Properly type the
27814 buffer as a buffer. Fixes some warnings. Should do a more general
27816 (gst_identity_class_init): Plug into the right marshaller.
27818 2005-07-15 Wim Taymans <wim@fluendo.com>
27820 * docs/design/part-TODO.txt:
27821 * docs/design/part-clocks.txt:
27822 * docs/design/part-element-sink.txt:
27823 * docs/design/part-events.txt:
27824 * docs/design/part-gstpipeline.txt:
27825 Updated docs, mostly DISCONT related.
27827 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27829 * docs/pwg/building-pads.xml:
27830 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27832 2005-07-15 Andy Wingo <wingo@pobox.com>
27834 * tools/gst-typefind.c: Update, add copyright block.
27836 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27837 Normalize and truncate caps before fixation.
27840 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27841 discards all but the first structure from its argument.
27843 2005-07-15 Wim Taymans <wim@fluendo.com>
27845 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27846 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27847 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27848 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27849 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27850 (gst_base_transform_chain), (gst_base_transform_change_state),
27851 (gst_base_transform_set_passthrough),
27852 (gst_base_transform_is_passthrough):
27853 * gst/base/gstbasetransform.h:
27854 Make passthrough work using the bufferpools.
27855 Changed API a bit, subclasses have to write into a buffer
27856 provided by the base class.
27857 More debug info in nego functions.
27859 * gst/elements/gstidentity.c: (gst_identity_init),
27860 (gst_identity_transform):
27861 Port to new base class.
27863 2005-07-15 Wim Taymans <wim@fluendo.com>
27865 * gst/gstmessage.c: (gst_message_new_state_changed):
27866 * tools/gst-launch.c: (event_loop), (main):
27867 Totally dump messages in -launch with the -m option.
27868 Fix message name for State messages,
27870 2005-07-14 Wim Taymans <wim@fluendo.com>
27872 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27873 Post error messages on errors.
27875 2005-07-14 Wim Taymans <wim@fluendo.com>
27877 * gst/gstcaps.c: (gst_caps_do_simplify):
27881 Define error for stream stopped.
27883 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27884 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27885 Do proper return values.
27887 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27888 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27889 (gst_pad_get_range):
27890 Better return values.
27893 Reorganise return values, add macro to check for fatal errors.
27895 * gst/gstqueue.c: (gst_queue_chain):
27896 Return proper GstFlowReturn values,
27898 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27900 * docs/gst/gstreamer-sections.txt:
27901 * docs/gst/gstreamer.types:
27902 * docs/gst/tmpl/gst.sgml:
27903 * docs/gst/tmpl/gstbasesink.sgml:
27904 * docs/gst/tmpl/gstbasesrc.sgml:
27905 * docs/gst/tmpl/gstbasetransform.sgml:
27906 * docs/gst/tmpl/gstbin.sgml:
27907 * docs/gst/tmpl/gstbuffer.sgml:
27908 * docs/gst/tmpl/gstcaps.sgml:
27909 * docs/gst/tmpl/gstclock.sgml:
27910 * docs/gst/tmpl/gstcompat.sgml:
27911 * docs/gst/tmpl/gstconfig.sgml:
27912 * docs/gst/tmpl/gstelement.sgml:
27913 * docs/gst/tmpl/gstelementdetails.sgml:
27914 * docs/gst/tmpl/gstelementfactory.sgml:
27915 * docs/gst/tmpl/gstenumtypes.sgml:
27916 * docs/gst/tmpl/gsterror.sgml:
27917 * docs/gst/tmpl/gstevent.sgml:
27918 * docs/gst/tmpl/gstfakesink.sgml:
27919 * docs/gst/tmpl/gstfakesrc.sgml:
27920 * docs/gst/tmpl/gstfilesink.sgml:
27921 * docs/gst/tmpl/gstfilesrc.sgml:
27922 * docs/gst/tmpl/gstfilter.sgml:
27923 * docs/gst/tmpl/gstformat.sgml:
27924 * docs/gst/tmpl/gstghostpad.sgml:
27925 * docs/gst/tmpl/gstimplementsinterface.sgml:
27926 * docs/gst/tmpl/gstindex.sgml:
27927 * docs/gst/tmpl/gstindexfactory.sgml:
27928 * docs/gst/tmpl/gstinfo.sgml:
27929 * docs/gst/tmpl/gstiterator.sgml:
27930 * docs/gst/tmpl/gstmacros.sgml:
27931 * docs/gst/tmpl/gstmemchunk.sgml:
27932 * docs/gst/tmpl/gstminiobject.sgml:
27933 * docs/gst/tmpl/gstobject.sgml:
27934 * docs/gst/tmpl/gstpad.sgml:
27935 * docs/gst/tmpl/gstpadtemplate.sgml:
27936 * docs/gst/tmpl/gstparse.sgml:
27937 * docs/gst/tmpl/gstpipeline.sgml:
27938 * docs/gst/tmpl/gstplugin.sgml:
27939 * docs/gst/tmpl/gstpluginfeature.sgml:
27940 * docs/gst/tmpl/gstquery.sgml:
27941 * docs/gst/tmpl/gstqueue.sgml:
27942 * docs/gst/tmpl/gstregistry.sgml:
27943 * docs/gst/tmpl/gstregistrypool.sgml:
27944 * docs/gst/tmpl/gstscheduler.sgml:
27945 * docs/gst/tmpl/gstschedulerfactory.sgml:
27946 * docs/gst/tmpl/gststructure.sgml:
27947 * docs/gst/tmpl/gstsystemclock.sgml:
27948 * docs/gst/tmpl/gsttaglist.sgml:
27949 * docs/gst/tmpl/gsttagsetter.sgml:
27950 * docs/gst/tmpl/gsttrace.sgml:
27951 * docs/gst/tmpl/gsttrashstack.sgml:
27952 * docs/gst/tmpl/gsttypefind.sgml:
27953 * docs/gst/tmpl/gsttypefindfactory.sgml:
27954 * docs/gst/tmpl/gsttypes.sgml:
27955 * docs/gst/tmpl/gsturihandler.sgml:
27956 * docs/gst/tmpl/gsturitype.sgml:
27957 * docs/gst/tmpl/gstutils.sgml:
27958 * docs/gst/tmpl/gstvalue.sgml:
27959 * docs/gst/tmpl/gstversion.sgml:
27960 * docs/gst/tmpl/gstxml.sgml:
27961 * docs/libs/tmpl/gstcontrol.sgml:
27962 * docs/libs/tmpl/gstdataprotocol.sgml:
27963 * docs/libs/tmpl/gstdparam.sgml:
27964 * docs/libs/tmpl/gstdplinint.sgml:
27965 * docs/libs/tmpl/gstdpman.sgml:
27966 * docs/libs/tmpl/gstdpsmooth.sgml:
27967 * docs/libs/tmpl/gstgetbits.sgml:
27968 * docs/libs/tmpl/gstunitconvert.sgml:
27969 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27970 (gst_push_src_base_init), (gst_push_src_class_init),
27971 (gst_push_src_init), (gst_push_src_create):
27972 * gst/base/gstpushsrc.h:
27973 * gst/elements/gstelements.c:
27974 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27975 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27976 (gst_fake_sink_init), (gst_fake_sink_set_property),
27977 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27978 (gst_fake_sink_event), (gst_fake_sink_preroll),
27979 (gst_fake_sink_render), (gst_fake_sink_change_state):
27980 * gst/elements/gstfakesink.h:
27981 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27982 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27983 (gst_fake_src_base_init), (gst_fake_src_class_init),
27984 (gst_fake_src_init), (gst_fake_src_event_handler),
27985 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27986 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27987 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27988 (gst_fake_src_create_buffer), (gst_fake_src_create),
27989 (gst_fake_src_start), (gst_fake_src_stop):
27990 * gst/elements/gstfakesrc.h:
27991 * gst/elements/gstfilesink.c: (_do_init),
27992 (gst_file_sink_base_init), (gst_file_sink_class_init),
27993 (gst_file_sink_init), (gst_file_sink_dispose),
27994 (gst_file_sink_set_location), (gst_file_sink_set_property),
27995 (gst_file_sink_get_property), (gst_file_sink_open_file),
27996 (gst_file_sink_close_file), (gst_file_sink_query),
27997 (gst_file_sink_event), (gst_file_sink_render),
27998 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27999 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28000 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28001 * gst/elements/gstfilesink.h:
28002 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28003 (gst_file_src_class_init), (gst_file_src_init),
28004 (gst_file_src_finalize), (gst_file_src_set_location),
28005 (gst_file_src_set_property), (gst_file_src_get_property),
28006 (gst_file_src_map_region), (gst_file_src_map_small_region),
28007 (gst_file_src_create_mmap), (gst_file_src_create_read),
28008 (gst_file_src_create), (gst_file_src_is_seekable),
28009 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28010 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28011 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28012 (gst_file_src_uri_handler_init):
28013 * gst/elements/gstfilesrc.h:
28014 more autistic cleanliness in functions/names/defines
28016 2005-07-13 Andy Wingo <wingo@pobox.com>
28018 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28019 source couldn't negotiate.
28021 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28025 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28026 function. I am channeling Hades. Put your boots on suckers!!!
28028 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28030 * testsuite/caps/Makefile.am:
28031 * testsuite/caps/value_compare.c:
28032 * testsuite/caps/value_intersect.c:
28033 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28034 move two testsuite apps over to the check dir
28036 2005-07-12 Wim Taymans <wim@fluendo.com>
28038 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28039 Added more debug info in the negotiate process.
28041 * gst/gstmessage.h:
28042 Prepare for segment playback.
28044 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28050 * tools/gst-launch.c: (main):
28051 NULL pipeline on errors.
28053 2005-07-12 Andy Wingo <wingo@pobox.com>
28055 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28056 not it comes from a malloc region. Make sure our copy gets freed.
28058 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28060 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28061 * check/gst/gstmessage.c: (GST_START_TEST):
28062 * check/gst/gststructure.c: (GST_START_TEST),
28063 (gst_structure_suite), (main):
28065 * gst/gstelement.c: (gst_element_message_full):
28066 clean up GError and debug string now that they get copied
28067 * gst/gstmessage.c: (gst_message_new_error),
28068 (gst_message_new_warning), (gst_message_parse_error),
28069 (gst_message_parse_warning):
28070 use GST_TYPE_G_ERROR for structure_new, and take copies of
28071 arguments, so that we don't mess up refcounting
28073 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28075 * check/Makefile.am:
28076 add per-test valgrind targets
28077 * check/gst-libs/gdp.c: (GST_START_TEST),
28078 (gst_data_protocol_suite), (main):
28081 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28083 * check/Makefile.am:
28084 instate more valgrindable tests
28085 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28086 (GST_START_TEST), (fakesrc_suite):
28087 * check/gst/gstpad.c: (GST_START_TEST):
28088 * check/gst/gststructure.c: (GST_START_TEST):
28090 * docs/gst/tmpl/gstminiobject.sgml:
28091 * gst/gstpad.c: (gst_pad_finalize):
28092 fix the static mutex leak
28094 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28096 * check/Makefile.am:
28097 add two more tests for valgrinding
28098 * check/gst/gstvalue.c: (GST_START_TEST):
28099 test refcount of deserialized buffer, found a leak
28100 * docs/gst/gstreamer-docs.sgml:
28101 * docs/gst/gstreamer-sections.txt:
28102 * docs/gst/gstreamer.types:
28103 * docs/gst/tmpl/gstminiobject.sgml:
28104 add miniobject to docs
28105 * gst/gstminiobject.c:
28107 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28108 (gst_string_unwrap):
28109 fix a hard-to-find invalid write for one of the tests
28110 fix a leak for deserialized buffers
28112 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28114 * docs/pwg/advanced-events.xml:
28115 * docs/pwg/advanced-request.xml:
28116 * docs/pwg/advanced-scheduling.xml:
28117 * docs/pwg/appendix-porting.xml:
28118 * docs/pwg/building-boiler.xml:
28119 * docs/pwg/intro-preface.xml:
28120 * docs/pwg/other-ntoone.xml:
28121 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28122 of example code and explanation for pad activation, loop() and
28123 getrange() functions and a bit more. Remove old comments pointing
28125 * examples/pwg/Makefile.am:
28126 Add loop/getrange examples.
28128 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28131 check for valgrind binary + some fixes
28133 valgrind suppressions for the tests
28134 * check/Makefile.am:
28135 add a valgrind: target that valgrinds the unit tests
28136 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28137 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28138 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28139 * check/gst/gstghostpad.c:
28141 * check/gst/gstdata.c:
28143 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28144 (thread_unref), (gst_mini_object_suite), (main):
28146 * gst/gst.c: (gst_deinit):
28148 add a method to clean up.
28149 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28150 (gst_system_clock_obtain):
28151 allow for disposing the system clock.
28152 * tools/gst-launch.c: (main):
28155 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28157 * docs/gst/tmpl/gstbasesrc.sgml:
28158 * docs/gst/tmpl/gstfakesrc.sgml:
28159 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28160 (gst_base_src_init), (gst_base_src_set_property),
28161 (gst_base_src_get_property), (gst_base_src_get_range),
28162 (gst_base_src_start):
28163 * gst/base/gstbasesrc.h:
28164 add num-buffers property
28165 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28166 (gst_fakesrc_init), (gst_fakesrc_set_property),
28167 (gst_fakesrc_get_property), (gst_fakesrc_create),
28168 (gst_fakesrc_start):
28169 remove num-buffers property
28171 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28173 * docs/gst/gstreamer-sections.txt:
28174 * docs/gst/tmpl/gstbasesink.sgml:
28175 * docs/gst/tmpl/gstbasesrc.sgml:
28176 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28177 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28178 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28179 (gst_base_sink_set_property), (gst_base_sink_get_property),
28180 (gst_base_sink_handle_object), (gst_base_sink_event),
28181 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28182 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28183 (gst_base_sink_loop), (gst_base_sink_deactivate),
28184 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28185 (gst_base_sink_change_state):
28186 * gst/base/gstbasesink.h:
28187 * gst/base/gstbasesrc.h:
28188 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28189 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28190 (gst_filesink_init):
28191 more macro splitting
28193 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28195 * gst/gstelement.c: (gst_element_get_bus):
28197 * tools/gst-launch.c: (check_intr), (event_loop):
28200 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28202 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28205 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28207 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28208 (gst_base_src_finalize):
28209 add finalize method and clean up properly
28210 * gst/gstpipeline.c: (gst_pipeline_dispose):
28213 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28215 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28217 add more things to check
28218 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28219 * gst/gstelement.c:
28222 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28224 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28225 (GST_START_TEST), (fakesrc_suite):
28226 * check/gst-libs/gdp.c: (GST_START_TEST):
28227 * check/gst/gst.c: (GST_START_TEST):
28228 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28229 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28230 * check/gst/gstbus.c: (GST_START_TEST):
28231 * check/gst/gstcaps.c: (GST_START_TEST):
28232 * check/gst/gstdata.c: (GST_START_TEST):
28233 * check/gst/gstelement.c: (GST_START_TEST):
28234 * check/gst/gstghostpad.c: (GST_START_TEST):
28235 * check/gst/gstiterator.c: (GST_START_TEST):
28236 * check/gst/gstmessage.c: (GST_START_TEST):
28237 * check/gst/gstobject.c: (GST_START_TEST):
28238 * check/gst/gstpad.c: (GST_START_TEST):
28239 * check/gst/gststructure.c: (GST_START_TEST):
28240 * check/gst/gstsystemclock.c: (GST_START_TEST),
28241 (gst_systemclock_suite):
28242 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28243 * check/gst/gstvalue.c: (GST_START_TEST):
28244 * check/pipelines/cleanup.c: (GST_START_TEST):
28245 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28246 * check/states/sinks.c: (GST_START_TEST):
28247 * check/gstcheck.c: (gst_check_init):
28248 * check/gstcheck.h:
28249 add debugging category
28250 use GST_START_TEST now, so we add a debug line
28252 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28254 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28255 add test for state change message on a bin
28256 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28258 * gst/gstbin.c: (gst_bin_init):
28259 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28260 * gst/gstelement.c: (gst_element_post_message),
28261 (gst_element_set_state):
28262 * gst/gstelementfactory.c: (gst_element_factory_create):
28263 * gst/gstmessage.c: (gst_message_new):
28264 * gst/gstscheduler.c:
28265 various debugging additions and cleanups
28267 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28269 * check/Makefile.am:
28270 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28272 adding tests for elements
28273 * gst/gstelement.c: (gst_element_dispose):
28275 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28277 * gst/registries/gstlibxmlregistry.c: (load_feature):
28278 plug more leaks. A simple gst_init() now is leakfree, yay.
28280 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28282 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28283 (gst_xml_registry_load):
28284 plug another memleak
28286 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28289 use GST_SET_ERROR_CFLAGS
28290 * docs/faq/cvs.xml:
28291 change to ERROR_CFLAGS
28293 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28296 make GST_ERROR_CFLAGS overridable and re-enable Werror
28297 * docs/faq/cvs.xml:
28298 add a note about error CFLAGS
28299 * docs/gst/tmpl/gstfakesrc.sgml:
28300 * gst/elements/gstfakesrc.c:
28301 comment out some unused code
28302 * gst/gst.c: (split_and_iterate):
28303 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28307 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28309 * common/Makefile.am:
28310 * common/gtk-doc.mak:
28311 * docs/gst/Makefile.am:
28312 factor out gtk-doc.mak
28314 2005-07-07 Wim Taymans <wim@fluendo.com>
28316 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28317 (gst_thread_scheduler_dispose):
28318 Unlock the STREAM_LOCK completely.
28320 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28322 * check/Makefile.am:
28323 * check/elements/.cvsignore:
28324 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28325 (START_TEST), (fakesrc_suite), (main):
28326 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28327 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28328 (gst_fakesrc_create), (gst_fakesrc_start):
28329 * gst/elements/gstfakesrc.h:
28330 adding a first element test
28332 2005-07-07 Andy Wingo <wingo@pobox.com>
28334 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28337 2005-07-07 Wim Taymans <wim@fluendo.com>
28343 2005-07-07 Wim Taymans <wim@fluendo.com>
28345 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28346 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28347 Allow subclasses to implement their own negotiation.
28349 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28351 * docs/design/part-gstbin.txt:
28352 * docs/design/part-gstpipeline.txt:
28353 Update design notes to reflect the movement of
28354 responsibility for bus handling from GstPipeline to
28357 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28360 Remove unnecessary queue2/3/4 examples.
28362 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28364 * examples/Makefile.am:
28365 * examples/helloworld/helloworld.c: (event_loop), (main):
28366 * examples/queue/queue.c: (event_loop), (main):
28367 * examples/queue2/queue2.c: (main):
28368 Update a couple of the examples to work again.
28370 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28371 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28372 Spelling corrections and extra debug.
28374 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28375 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28376 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28378 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28379 (gst_pipeline_change_state):
28380 * gst/gstpipeline.h:
28381 Move the bus handler for children to the GstBin, and create a
28382 separate bus for receiving messages from children to the one the
28383 bus sends 'upwards' on.
28385 2005-07-06 Wim Taymans <wim@fluendo.com>
28388 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28389 (gst_base_sink_handle_object), (gst_base_sink_loop),
28390 (gst_base_sink_change_state):
28391 * gst/base/gstbasesink.h:
28392 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28393 (gst_base_src_init), (gst_base_src_setcaps),
28394 (gst_base_src_getcaps), (gst_base_src_loop),
28395 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28396 (gst_base_src_start), (gst_base_src_change_state):
28397 * gst/base/gstbasesrc.h:
28398 Make basesrc negotiate.
28399 Handle the case where preroll fails in basesink.
28402 2005-07-06 Wim Taymans <wim@fluendo.com>
28404 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28405 Implement the fixate function.
28406 Clean up acceptcaps.
28408 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28410 * docs/pwg/building-filterfactory.xml:
28411 * docs/pwg/pwg.xml:
28412 Remove never-written filter-factory chapter; I'll add the various
28413 base classes to part 4 ("other element types") later on.
28415 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28417 * docs/pwg/advanced-negotiation.xml:
28418 * docs/pwg/building-boiler.xml:
28419 * docs/pwg/building-pads.xml:
28420 * docs/pwg/pwg.xml:
28421 * examples/pwg/Makefile.am:
28422 Add a chapter on caps negotiation, simplify the original code
28423 samples a bit w.r.t. caps negotiation, add link to the advanced
28424 section. Add a bunch of examples showing different use cases of
28425 different types of caps negotiation. Upstream renegotiation isn't
28426 fully documented yet since nobody knows how that works.
28428 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28430 * check/gst/gstpad.c:
28431 * check/gstcheck.c:
28432 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28433 if pad has no parent, return NULL as list of internal links
28435 2005-07-05 Andy Wingo <wingo@pobox.com>
28437 * gst/elements/gstfilesrc.c:
28438 * gst/elements/gstfakesrc.c:
28439 * gst/base/gstpushsrc.c:
28440 * gst/base/gstbasesrc.h:
28441 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28443 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28446 better report generation target (lcov needs a patch)
28448 2005-07-05 Andy Wingo <wingo@pobox.com>
28450 * gst/elements, testsuite: Null if we got it...
28452 2005-07-05 Wim Taymans <wim@fluendo.com>
28455 * libs/gst/dataprotocol/Makefile.am:
28456 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28457 * libs/gst/dataprotocol/dataprotocol.h:
28458 * pkgconfig/Makefile.am:
28459 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28460 * pkgconfig/gstreamer-dataprotocol.pc.in:
28461 Ported dataprotol to 0.9.
28462 Added pkgconfig files.
28464 2005-07-05 Andy Wingo <wingo@pobox.com>
28466 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28467 Default to returning TRUE for the case when tranform_caps returns
28468 a fixed caps, like for identity or volume.
28470 * check/gst/gstbus.c (pound_bus_with_messages):
28471 * check/gst/gstmessage.c (START_TEST):
28472 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28473 message API change.
28475 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28476 logic weaks here: always run transform_caps, trying passthrough
28477 operation only if the original caps intersects with the transform.
28479 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28480 source and sink caps.
28482 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28483 Intersect the peer caps with the pad template before going into
28485 (gst_base_transform_transform_caps): More debugging.
28487 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28490 2005-07-04 Edward Hervey <edward@fluendo.com>
28494 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28497 2005-07-04 Andy Wingo <wingo@pobox.com>
28499 * check/gst/gstpad.c: Only set explicit caps on pads.
28501 2005-07-01 Andy Wingo <wingo@pobox.com>
28503 * tests/network-clock.scm: Commentary update.
28505 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28506 Didn't really make sense, not implementable with basetransform,
28508 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28509 attempt at implementing the sync property, needs an unlock method.
28511 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28512 New func, by default returns the same caps (the identity
28514 (gst_base_transform_getcaps): Uses transform_caps to return
28515 something sensible.
28516 (gst_base_transform_setcaps): Complicated logic to get caps on
28517 both pads, even if they are different, and to call set_caps once
28518 for every time both pads get their caps set.
28519 (gst_base_transform_handle_buffer): Give the ref to the transform
28520 function. Allows in-place modification of the buffer.
28522 * gst/base/gstbasetransform.h (transform_caps): New class method.
28523 Given caps on one side, what can I do on the other.
28524 (set_caps): Take two caps, one for each side of the element.
28527 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28528 caps in place. This is safe because we can check the mutability of
28529 the caps, and a good idea because fixate functions are just called
28530 as a matter of last resort. (Not actually implemented.)
28531 (gst_pad_set_caps): If the caps we're setting is actually the same
28532 as the existing pad caps, just update the pointer without calling
28533 setcaps. Assert that caps is either NULL or fixed, as per the
28536 * gst/gstghostpad.c: Update for fixate changes.
28538 2005-07-02 Andy Wingo <wingo@pobox.com>
28541 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28542 two refcounts makes it immutable, which is enough. Doc more.
28544 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28546 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28547 Put the mini_object into GValue as a mini_object,
28548 not a gpointer, since that's how we declared
28551 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28553 * examples/pwg/Makefile.am:
28554 Fix buildbot again.
28556 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28558 * docs/pwg/building-testapp.xml:
28560 * examples/pwg/Makefile.am:
28563 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28566 * examples/Makefile.am:
28567 * examples/pwg/Makefile.am:
28568 * examples/pwg/extract.pl:
28569 Enable building the PWG examples.
28570 * docs/pwg/advanced-interfaces.xml:
28571 Add URI interface stub.
28572 * docs/pwg/advanced-types.xml:
28573 * docs/pwg/other-autoplugger.xml:
28574 * docs/pwg/appendix-porting.xml:
28575 * docs/pwg/pwg.xml:
28576 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28577 * docs/pwg/building-boiler.xml:
28578 * docs/pwg/building-chainfn.xml:
28579 * docs/pwg/building-pads.xml:
28580 * docs/pwg/building-props.xml:
28581 * docs/pwg/building-state.xml:
28582 * docs/pwg/building-testapp.xml:
28583 Update the building-*.xml parts for 0.9 changes. All examples
28584 code blocks compile in examples/pwg/*.
28586 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28588 * docs/manual/advanced-autoplugging.xml:
28589 * docs/manual/appendix-checklist.xml:
28590 * docs/manual/appendix-integration.xml:
28591 * docs/manual/highlevel-components.xml:
28592 Fix playbin/decodebin examples, update docs a bit, mention bus
28593 instead of signals in various places, mention kmplayer and
28594 kaffeine since they have a working GStreamer backend in the KDE
28597 2005-06-30 Wim Taymans <wim@fluendo.com>
28600 * docs/design/draft-ghostpads.txt:
28601 * docs/design/draft-push-pull.txt:
28602 * docs/design/draft-query.txt:
28603 * docs/design/part-TODO.txt:
28604 * docs/design/part-query.txt:
28605 Added CHANGES-0.9 doc, updated status of other docs.
28610 2005-06-30 Wim Taymans <wim@fluendo.com>
28612 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28613 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28614 (gst_base_sink_change_state):
28615 * gst/base/gstbasesink.h:
28616 Some tweaks, only EOS and a buffer complete a preroll.
28618 2005-06-30 Andy Wingo <wingo@pobox.com>
28620 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28621 activate_push down to the internal pad as well.
28623 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28625 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28627 * gst/gsttaginterface.c:
28628 Some documentation fixes (#307394 and #307397).
28630 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28632 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28634 * gst/gstvalue.c: (gst_value_intersect_list):
28635 Fix memleak (#309125).
28637 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28639 * docs/manual/advanced-dataaccess.xml:
28640 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28641 * docs/manual/basics-pads.xml:
28642 Add reference for filtered caps to above chapter.
28644 2005-06-30 Wim Taymans <wim@fluendo.com>
28646 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28647 (gst_bin_change_state):
28649 Lame attempt at making the state change function a bit
28652 2005-06-30 Wim Taymans <wim@fluendo.com>
28654 * docs/design/part-clocks.txt:
28655 * docs/design/part-element-sink.txt:
28656 * docs/design/part-events.txt:
28657 * docs/design/part-preroll.txt:
28658 * docs/design/part-states.txt:
28659 Some more tweeks and additions to the docs.
28661 2005-06-30 Wim Taymans <wim@fluendo.com>
28663 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28664 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28665 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28666 (gst_pad_check_pull_range), (gst_pad_get_range),
28667 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28669 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28670 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28671 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28672 (gst_pad_remove_buffer_probe):
28673 Removed atomic operations, use existing LOCK.
28674 Move exception handling out of main code path.
28676 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28678 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28679 (silly_return_true_function), (gst_pad_class_init),
28680 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28681 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28682 (gst_pad_send_event):
28683 Fix accumulator, add default value by using _emitv() instead
28684 of _emit() for signal emission.
28686 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28688 * docs/manual/advanced-dataaccess.xml:
28689 * examples/manual/Makefile.am:
28691 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28694 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28696 * gst/elements/gstfilesink.c: (gst_filesink_render):
28697 Simplify code so that we don't have to handle short
28698 writes and return GST_FLOW_ERROR if an error occured.
28700 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28702 * docs/gst/gstreamer-docs.sgml:
28703 Remove probes more.
28705 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28707 * docs/gst/gstreamer-sections.txt:
28708 * docs/gst/tmpl/gstpad.sgml:
28709 * docs/gst/tmpl/gstprobe.sgml:
28711 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28712 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28713 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28714 (gst_pad_push_event), (gst_pad_send_event):
28716 * gst/gstutils.c: (gst_pad_add_data_probe),
28717 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28718 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28719 (gst_pad_remove_buffer_probe):
28721 Remove old probes, add new g-signal-based probes and some utility
28724 2005-06-29 Edward Hervey <edward@fluendo.com>
28726 * gst/gstelementfactory.c:
28729 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28730 the definition to the header file.
28732 2005-06-29 Andy Wingo <wingo@pobox.com>
28734 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28735 plugins from the source directory.
28737 2005-06-29 Wim Taymans <wim@fluendo.com>
28739 * docs/gst/tmpl/gstbuffer.sgml:
28740 * docs/gst/tmpl/gstclock.sgml:
28741 Some fixings for blantently wrong text.
28743 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28745 * check/Makefile.am:
28746 * gst/gst.c: (add_path_func), (init_pre):
28747 * gst/gstregistry.c: (gst_registry_add_path):
28748 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28749 only scan the GST_PLUGIN_PATH locations, and not add
28752 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28754 * docs/gst/gstreamer-sections.txt:
28755 * docs/gst/tmpl/gstbasesrc.sgml:
28756 * gst/gstelement.c:
28757 * gst/gstelement.h:
28762 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28764 * docs/manual/advanced-autoplugging.xml:
28765 Fix autoplugging example.
28767 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28769 * docs/manual/advanced-autoplugging.xml:
28770 * docs/manual/mime-world.fig:
28771 Try to get autoplugging working, fix type detection. Fix text
28772 in hello-world image.
28774 2005-06-29 Wim Taymans <wim@fluendo.com>
28776 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28777 (gst_base_sink_change_state):
28781 map SIGNAL and BROADCAST to the right function.
28784 Remove redundant braces.
28786 * gst/gstpad.c: (gst_pad_set_caps):
28787 Don't call setcaps function when reseting caps to NULL.
28789 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28790 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28791 (gst_system_clock_id_unschedule):
28792 Use BROADCAST as this is what we do.
28794 2005-06-29 Wim Taymans <wim@fluendo.com>
28796 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28797 We are actually prerolling before commiting the state
28800 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28802 * docs/manual/advanced-clocks.xml:
28803 * docs/manual/advanced-interfaces.xml:
28804 * docs/manual/advanced-metadata.xml:
28805 * docs/manual/advanced-position.xml:
28806 * docs/manual/advanced-schedulers.xml:
28807 * docs/manual/advanced-threads.xml:
28808 * docs/manual/appendix-porting.xml:
28809 * docs/manual/basics-bins.xml:
28810 * docs/manual/basics-bus.xml:
28811 * docs/manual/basics-elements.xml:
28812 * docs/manual/basics-helloworld.xml:
28813 * docs/manual/basics-pads.xml:
28814 * docs/manual/highlevel-components.xml:
28815 * docs/manual/manual.xml:
28816 * docs/manual/thread.fig:
28817 Update (until threads/scheduling) Application Development Manual;
28818 remove GstThread, add GstBus, add simple porting checklist, add
28819 documentation for tag writing, clocks, make all examples until this
28820 part compile and run.
28821 * examples/manual/Makefile.am:
28822 Update from changes to Application Development Manual; add bus
28823 example, remove thread example.
28825 2005-06-28 Wim Taymans <wim@fluendo.com>
28827 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28828 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28829 (gst_bus_source_dispatch):
28830 Add debugging messages.
28831 Make internal methods static.
28832 Handle the case where the bus is flushed in the handler.
28834 * gst/gstelement.c: (gst_element_get_bus):
28835 Fix refcount in _get_bus();
28837 * gst/gstpipeline.c: (gst_pipeline_change_state),
28838 (gst_pipeline_get_clock_func):
28839 Clock refcounting fixes.
28840 Handle the case where preroll timed out more gracefully.
28842 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28843 Clean up the internal thread in dispose. This is needed
28844 for subclasses that actually get disposed.
28846 * gst/schedulers/threadscheduler.c:
28847 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28848 (gst_thread_scheduler_dispose):
28849 Free thread pool in dispose.
28851 2005-06-28 Andy Wingo <wingo@pobox.com>
28853 * tests/network-clock-utils.scm (debug, print-event): New utils.
28855 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28856 (*packet-loss*): Unified loss probability.
28857 (network-time): Report out-of-band events.
28859 * tests/plot-data: Add support for out-of-band events. Hack it
28860 into this script instead of passing it down the pipe; should fix
28863 2005-06-28 Wim Taymans <wim@fluendo.com>
28865 * docs/gst/gstreamer.types:
28866 * docs/gst/tmpl/gstbasesrc.sgml:
28867 * docs/gst/tmpl/gstpad.sgml:
28870 2005-06-28 Wim Taymans <wim@fluendo.com>
28872 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28873 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28874 (gst_proxy_pad_do_fixatecaps):
28875 Correctly proxy the check_pull_range function.
28877 2005-06-28 Andy Wingo <wingo@pobox.com>
28879 * tests/network-clock.scm: Removed need for slib.
28881 2005-06-28 Wim Taymans <wim@fluendo.com>
28883 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28884 (gst_basesink_preroll_queue_flush):
28885 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28886 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28887 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28888 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28889 (gst_proxy_pad_set_property):
28892 * gst/gstqueue.c: (gst_queue_init):
28893 The deprecated pad loop function is removed now.
28895 2005-06-28 Andy Wingo <wingo@pobox.com>
28897 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28898 New parameters, simulate network packet loss.
28900 * tests/network-clock-utils.scm: Initialize the RNG.
28902 2005-06-28 Wim Taymans <wim@fluendo.com>
28904 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28905 (gst_basesink_event), (gst_basesink_deactivate):
28906 Flushing the preroll queue always needs to unlock the waiters.
28908 2005-06-28 Edward Hervey <edward@fluendo.com>
28910 * gst/gstpipeline.c: (gst_pipeline_send_event):
28911 Wheen a seek was successful on a pipeline, set the stream_time to the
28912 seek offset in order to have a synchronized stream_time.
28914 2005-06-28 Wim Taymans <wim@fluendo.com>
28916 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28917 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28918 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28919 (gst_proxy_pad_do_fixatecaps):
28920 Call wrapper function instead of just calling the function
28921 pointers. This takes care of any locking and whatmore.
28923 2005-06-28 Wim Taymans <wim@fluendo.com>
28925 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28926 (gst_pad_pull_range):
28928 CONNECTED -> LINKED.
28930 2005-06-28 Andy Wingo <wingo@pobox.com>
28932 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28933 source-munging commit!!!
28935 * gst/gstobject.c (gst_object_unref, gst_object_ref)
28936 (gst_object_sink): Take gpointer arguments, not GstObject --
28937 avoids casts. Like GLib.
28939 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28942 2005-06-27 Andy Wingo <wingo@pobox.com>
28944 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28947 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28948 returns a sorted copy of the trace list.
28949 (gst_alloc_trace_print_live): New API, only prints traces with
28950 live objects. Sort the list.
28951 (gst_alloc_trace_print_all): Sort the list.
28952 (gst_alloc_trace_print): Align columns.
28954 * gst/elements/gstttypefindelement.c:
28955 * gst/elements/gsttee.c:
28956 * gst/base/gstbasesrc.c:
28957 * gst/base/gstbasesink.c:
28958 * gst/base/gstbasetransform.c:
28959 * gst/gstqueue.c: Adapt for pad activation changes.
28961 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28963 (gst_pipeline_dispose): Drop ref on sched.
28965 * gst/gstpad.c (gst_pad_init): Set the default activate func.
28966 (gst_pad_activate_default): Push mode by default.
28967 (pre_activate_switch, post_activate_switch): New stubs, things to
28968 do before and after switching activation modes on pads.
28969 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28970 the pad's activate function to choose which mode to activate.
28971 Shortcut on deactivation and call the right function directly.
28972 (gst_pad_activate_pull): New API, (de)activates a pad in pull
28974 (gst_pad_activate_push): New API, same for push mode.
28975 (gst_pad_set_activate_function)
28976 (gst_pad_set_activatepull_function)
28977 (gst_pad_set_activatepush_function): Setters for new API.
28979 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28980 Trace all miniobjects.
28981 (gst_mini_object_make_writable): Unref the arg if we copy, like
28982 gst_caps_make_writable.
28984 * gst/gstmessage.c (_gst_message_initialize): No trace init.
28986 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
28987 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28988 Adapt for new pad API.
28990 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28992 * gst/gstelement.h:
28993 * gst/gstelement.c (gst_element_iterate_src_pads)
28994 (gst_element_iterate_sink_pads): New API functions.
28996 * gst/gstelement.c (iterator_fold_with_resync): New utility,
28997 should fold into gstiterator.c in some form.
28998 (gst_element_pads_activate): Simplified via use of fold and
28999 delegation of decisions to gstpad->activate.
29001 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29004 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29005 class once in init, like gstmessage. Didn't run into this issue
29006 but it seems correct. Don't initialize a trace, gstminiobject does
29009 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29010 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29012 (assert_live_count): New util function, uses alloc traces to check
29015 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29016 To be modified when unlink drops the internal pad.
29018 2005-06-27 Wim Taymans <wim@fluendo.com>
29020 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29021 (gst_bin_change_state):
29022 Cleanup the get_state() function a little, make sure it
29023 iterates the same set of elements.
29024 Added stub iterate_state_order().
29026 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29028 * docs/gst/gstreamer-docs.sgml:
29029 * docs/gst/gstreamer-sections.txt:
29030 * docs/gst/gstreamer.types:
29031 * docs/gst/tmpl/gstbasesink.sgml:
29032 * docs/gst/tmpl/gstbasesrc.sgml:
29033 * docs/gst/tmpl/gstbasetransform.sgml:
29034 * docs/gst/tmpl/gstelement.sgml:
29035 * docs/gst/tmpl/gstiterator.sgml:
29036 * gst/base/gstbasesrc.c:
29037 * gst/base/gstbasesrc.h:
29038 * gst/base/gstbasetransform.h:
29039 * gst/gstelement.c:
29040 * gst/gstiterator.h:
29041 adding basetransform and iterator docs
29043 2005-06-27 Andy Wingo <wingo@pobox.com>
29045 * docs/design/part-activation.txt: Notes on how activation should
29046 work -- not quite implemented yet.
29048 2005-06-25 Wim Taymans <wim@fluendo.com>
29050 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29051 At least get the chain function correct, needs more
29054 2005-06-25 Wim Taymans <wim@fluendo.com>
29056 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29057 (gst_basesink_handle_object), (gst_basesink_event),
29058 (gst_basesink_do_sync), (gst_basesink_handle_event),
29059 (gst_basesink_change_state):
29061 Right, two problems here: ghostpads don't take locks and
29062 glib _rec_mutex_lock_full() with depth==0 still locks.
29063 Catch illegal locking and g_warn them.
29065 2005-06-25 Wim Taymans <wim@fluendo.com>
29067 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29068 Have to check for completion now...
29070 2005-06-25 Wim Taymans <wim@fluendo.com>
29072 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29073 (gst_basesink_handle_object), (gst_basesink_event),
29074 (gst_basesink_do_sync), (gst_basesink_handle_event),
29075 (gst_basesink_change_state):
29077 Unlock STREAM_LOCK whatever the recursion was.
29079 2005-06-25 Wim Taymans <wim@fluendo.com>
29081 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29082 (gst_basesink_preroll_queue_empty),
29083 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29084 (gst_basesink_event), (gst_basesink_do_sync),
29085 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29086 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29087 (gst_basesink_change_state):
29088 Reworked the base sink, handle event and buffer serialisation
29089 correctly and removed possible deadlock.
29090 Handle EOS correctly.
29092 2005-06-25 Wim Taymans <wim@fluendo.com>
29094 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29095 (gst_pipeline_change_state):
29096 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29097 Allow elements to post EOS in the state change function.
29098 Fix up -launch, make it exit the poll loop when the
29099 pipeline actually changed state.
29100 Fix up warning parsing in -launch.
29102 2005-06-25 Wim Taymans <wim@fluendo.com>
29104 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29105 (gst_tee_sink_activate):
29106 Core takes STREAM_LOCK for us now.
29108 2005-06-25 Wim Taymans <wim@fluendo.com>
29110 * gst/gstelement.c: (gst_element_get_state_func),
29111 (gst_element_set_state):
29112 * gst/gstelement.h:
29113 * gst/gstmessage.c: (gst_message_parse_error),
29114 (gst_message_parse_warning):
29115 Keep track of current target state while performing a state
29116 change so that subclasses can do something interesting.
29117 Fix parsing of warning/error messages when GError is NULL.
29119 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29121 * docs/gst/Makefile.am:
29122 * docs/gst/gstreamer-docs.sgml:
29123 * docs/gst/gstreamer-sections.txt:
29124 * docs/gst/gstreamer.types:
29125 * docs/gst/tmpl/gstbasesink.sgml:
29126 * docs/gst/tmpl/gstbasesrc.sgml:
29127 * docs/gst/tmpl/gstbin.sgml:
29128 * docs/gst/tmpl/gstcompat.sgml:
29129 * docs/gst/tmpl/gstfakesink.sgml:
29130 * docs/gst/tmpl/gstfakesrc.sgml:
29131 * docs/gst/tmpl/gstfilesink.sgml:
29132 * docs/gst/tmpl/gstfilesrc.sgml:
29133 * docs/gst/tmpl/gstindex.sgml:
29134 * docs/manual/appendix-quotes.xml:
29135 * gst/base/gstbasesrc.h:
29136 * gst/elements/gstfakesrc.h:
29137 * gst/gstmessage.h:
29138 start pulling in base classes and elements in our docs
29140 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29142 * docs/gst/Makefile.am:
29143 * docs/libs/Makefile.am:
29144 fixed make distcheck with gtk-doc 1.3
29146 2005-06-23 Wim Taymans <wim@fluendo.com>
29148 * gst/gstelement.c: (gst_element_get_state_func),
29149 (gst_element_set_state), (gst_element_change_state):
29150 When the state did not change, also report NO_PREROLL
29153 2005-06-23 Wim Taymans <wim@fluendo.com>
29155 * gst/gstpad.c: (gst_pad_event_default):
29156 * gst/gstqueue.c: (gst_queue_loop):
29157 No unsafe task pausing please.
29159 2005-06-23 Wim Taymans <wim@fluendo.com>
29161 * gst/schedulers/threadscheduler.c:
29162 (gst_thread_scheduler_task_start),
29163 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29164 Ref the task before pushing it on the threadpool. This
29165 makes sure that we have a ref when the threadfunction is
29168 2005-06-23 Andy Wingo <wingo@pobox.com>
29170 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29171 offset is greater than the file's size.
29173 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29174 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29175 * gst/gstobject.c (gst_object_class_init): Make the class lock
29176 recursive. Wim won't let me drop deep_notify. Decodebin works
29177 again, whoopdy doo.
29179 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29180 internal pad, and hacks accordingly. Doesn't do it on the target
29181 pad because we change its caps. Probably catches all cases of
29183 (gst_ghost_pad_set_property): Connect to notify::caps as
29186 * tests/network-clock.scm (plot-simulation): Pipe data to the
29187 elite python skript.
29189 * tests/network-clock-utils.scm (define-parameter): New macro,
29190 defines a parameter that can be set via the command line.
29191 (set-parameter!, parse-parameter-arguments): Command line args
29194 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29197 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29199 * gst/elements/gsttypefindelement.c:
29200 (gst_type_find_element_handle_event):
29201 Don't restart typefinding on a discont.
29202 * gst/gstelement.c: (gst_element_set_state):
29203 Debug spelling fix.
29204 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29205 Allow changing mode of an active pad.
29206 Debug output fixes.
29207 * gst/registries/gstlibxmlregistry.c: (load_feature):
29208 Don't cast a static pad template to a normal pad template.
29210 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29212 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29213 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29214 remove gst_strtoll completely, since it didn't actually do
29215 anything more than what g_ascii_strtoull already does.
29216 check for range errors when deserializing
29217 do a cast for the unsigned cases; but further fixing needs
29218 a decision on what the interpretation of "(int)" and
29219 deserialization should be for values that fall outside the
29220 type's boundaries (ie, refuse, or interpret as casting)
29222 2005-06-23 Wim Taymans <wim@fluendo.com>
29224 * check/Makefile.am:
29225 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29226 * docs/design/part-live-source.txt:
29227 * docs/design/part-states.txt:
29228 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29229 (gst_basesrc_set_live), (gst_basesrc_is_live),
29230 (gst_basesrc_get_range), (gst_basesrc_activate),
29231 (gst_basesrc_change_state):
29232 * gst/base/gstbasesrc.h:
29233 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29234 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29235 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29236 * gst/gstelement.c: (gst_element_get_state_func),
29237 (gst_element_set_state):
29238 * gst/gstelement.h:
29240 * tools/gst-launch.c: (event_loop), (main):
29241 Added support for live sources and other elements that
29243 Updated design docs, added live-source design doc.
29244 Implemented live source functionality in basesrc
29245 Fix error condition in _bin_get_state()
29246 Implement live source handling in -launch.
29247 Added check for live sources.
29248 Fixed case in GstBin where elements were changed state
29252 2005-06-23 Andy Wingo <wingo@pobox.com>
29254 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29255 borken refcounting.
29257 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29258 gst_caps_replace takes care of this for us.
29260 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29261 gst_pad_set_caps on the target, not just its setcaps() function.
29263 * tests/network-clock.scm:
29264 * tests/network-clock-utils.scm: A network clock simulator.
29265 Something of an algorithmic testbed before doing something in C.
29267 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29269 * check/Makefile.am:
29270 * check/gst/capslist.h:
29271 copy over from 0.8, and add two with bitmasks specified with
29273 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29274 add test to parse everything from capslist.h
29275 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29277 add test for structure deserialization
29278 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29279 add tests for deserialization of strings to int types
29280 * gst/gststructure.c: (gst_structure_nth_field_name):
29281 * gst/gststructure.h:
29282 add a way to get the name of a field referenced by index
29283 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29284 instead of checking if the resulting long long lies between
29285 min and max, we check if the long long would fit into
29286 a number of bytes for the final type.
29287 This fixes cases where a string represents 2^32 - 1, which
29288 when cast to int would be the (valid) -1, but is bigger than
29291 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29293 * gst/parse/grammar.y:
29294 add a log line for type deserialization
29296 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29298 * check/gst/gstvalue.c: (START_TEST):
29299 * gst/gstvalue.c: (gst_value_deserialize):
29300 return long long, not int, so gint64 deserialization actually
29301 works. Is there any flag that makes the compiler check this ?
29304 2005-06-22 Wim Taymans <wim@fluendo.com>
29307 Added convenience macros for setting buffers in GValue.
29309 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29311 * check/gst/.cvsignore:
29312 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29313 add a test deserializing int64, and comment part out because
29316 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29318 * check/Makefile.am:
29319 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29320 * testsuite/Makefile.am:
29321 * testsuite/caps/Makefile.am:
29322 * testsuite/caps/value_serialize.c:
29323 * testsuite/test_gst_init.c:
29324 move a value_serialize test over
29326 2005-06-20 Wim Taymans <wim@fluendo.com>
29331 * gst/gstvalue.c: (gst_value_compare_buffer),
29332 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29333 (gst_value_compare_flags), (gst_value_serialize_flags),
29334 (gst_value_deserialize_flags), (_gst_value_initialize):
29335 Fix serialisation of buffers, they are not boxed types anymore
29337 2005-06-20 Wim Taymans <wim@fluendo.com>
29339 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29340 Testcase to show error in buffer-on-caps serialisation.
29342 2005-06-20 Andy Wingo <wingo@pobox.com>
29344 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29345 will be adding to later.
29347 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29348 if its socks fill with rocks.
29349 (gst_system_clock_obtain): Set the name on object construction.
29350 Avoid double-checked locking.
29352 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29354 * gst/gsturi.c: (gst_element_make_from_uri):
29355 Fix potential endless loop.
29357 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29359 * check/Makefile.am:
29361 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29363 move over from testsuite dir and clean up
29366 * testsuite/Makefile.am:
29367 * testsuite/tags/.cvsignore:
29368 * testsuite/tags/Makefile.am:
29369 * testsuite/tags/merge.c:
29370 remove testsuite/tags
29372 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29374 * docs/gst/gstreamer-sections.txt:
29375 * docs/gst/tmpl/gstenumtypes.sgml:
29376 * win32/gstenumtypes.c:
29377 clean up documentation build a little
29379 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29381 * check/gstcheck.h:
29382 add macros for checking refcounts on objects and caps
29383 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29384 add some more unit tests
29385 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29386 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29387 fix leaked refcounts (I hope :)) so unittest works
29391 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29393 * configure.ac: back to HEAD
29395 === release 0.9.1 ===
29397 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29403 2005-06-17 Andy Wingo <wingo@pobox.com>
29405 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29406 assert; it's always possible that the pad gets deactivated in
29407 between the checks in gstpad.c and the implementation. Rely on
29408 finish_preroll() to return a FLUSHING or similar instead of on the
29411 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29412 clock and post an EOS message if we come out of finish_preroll in
29415 2005-06-16 David Schleef <ds@schleef.org>
29417 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29418 (gst_capsfilter_set_property): Allow NULL as possible value
29419 for filter_caps property, indicating GST_CAPS_ANY.
29421 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29423 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29425 * gst/schedulers/Makefile.am:
29427 * gstreamer.spec.in:
29430 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29432 * gstreamer.spec.in:
29435 2005-06-08 Andy Wingo <wingo@pobox.com>
29437 * gst/gstutils.c: RPAD fixes all around.
29438 (gst_element_link_pads): Refcounting fixes.
29440 * tools/gst-inspect.c:
29441 * tools/gst-xmlinspect.c:
29443 * gst/base/gsttypefindhelper.c:
29444 * gst/base/gstbasesink.c:
29445 * gst/gstqueue.c: RPAD fixes.
29447 * gst/gstghostpad.h:
29448 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29449 pads. The tricky thing is they provide both source and sink
29450 interfaces, since they proxy the internal pad for the external
29451 pad, and vice versa. Implement with lower-level ProxyPad objects,
29452 with the interior proxy pad as a child of the exterior ghost pad.
29453 Should write a doc on this.
29455 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29456 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29459 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29460 pads are real pads. No ghost pads in this file. Not documenting
29461 the myriad s/RPAD/PAD/ and REALIZE fixes.
29462 (gst_pad_class_init): Add properties for "direction" and
29463 "template". Both are construct-only, so they can't change during
29464 the life of the pad. Fixes properly deriving from GstPad.
29465 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29466 derived objects, just set properties when creating the objects via
29468 (gst_pad_get_parent): Implement as a function, return NULL if the
29469 parent is not an element.
29470 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29471 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29473 * gst/gstobject.c (gst_object_class_init): Make name a construct
29474 property. Don't set it in the object init.
29476 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29477 with UNKNOWN direction.
29478 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29479 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29480 (gst_element_remove_pad): Remove ghost-pad special cases.
29481 (gst_element_pads_activate): Remove rpad cruft.
29483 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29484 catch the pad's-parent-not-an-element case.
29486 * gst/gst.h: Include gstghostpad.h.
29488 * gst/gst.c (init_post): No more real, ghost pads.
29490 * gst/Makefile.am: Add gstghostpad.[ch].
29492 * check/Makefile.am:
29493 * check/gst/gstbin.c:
29494 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29495 into a bin creates ghost pads, and that the refcounts are right.
29496 Partly moved from gstbin.c.
29498 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29500 * check/gst-libs/.cvsignore:
29501 * check/gst/.cvsignore:
29502 * check/pipelines/.cvsignore:
29504 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29505 (START_TEST), (cleanup_suite), (main):
29506 add some tests related to cleanup after running pipelines
29508 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29510 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29511 add a testsuite for GstBuffer
29513 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29515 * gst/gstminiobject.h:
29516 add defines for accessing the refcount
29518 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29520 * Makefile.am: added support for html unit test coverage reports
29522 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29524 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29525 Free existing caps if the capsfilter changes. Add a FIXME about
29526 setting those caps on the pads.
29528 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29529 Before adding a ghost pad to a parent bin, check that there isn't
29530 already one for the element on the bin. Prevents infinite recursion
29531 when using decodebin in parse pipelines. Andy says he'll rewrite the
29532 way this works anyway, so ignore the hack.
29534 2005-06-02 Andy Wingo <wingo@pobox.com>
29536 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29537 file size, pass it on to the type find helper.
29539 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29540 segment_start and segment_end properly according to the seek
29541 method. Segment_end is still a bit flaky because offset can be
29542 negative for CUR and END cases, but it takes -1 as an "unset"
29545 2005-06-02 Wim Taymans <wim@fluendo.com>
29547 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29548 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29549 (gst_basesink_activate):
29550 * gst/base/gstbasesink.h:
29551 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29552 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29553 (gst_pad_query), (gst_pad_start_task):
29555 * gst/gstqueue.c: (gst_queue_bufferalloc),
29556 (gst_queue_handle_sink_event), (gst_queue_chain):
29557 Bufferalloc: return GstFlowReturn to more accuratly report
29558 why allocation failed.
29560 2005-06-02 Wim Taymans <wim@fluendo.com>
29562 * gst/gstpipeline.c: (gst_pipeline_send_event):
29563 Take snapshot of state without blocking.
29565 2005-06-02 Wim Taymans <wim@fluendo.com>
29567 * docs/design/part-TODO.txt:
29568 * docs/design/part-caps.txt:
29569 * docs/design/part-clocks.txt:
29570 * docs/design/part-negotiation.txt:
29571 * docs/design/part-preroll.txt:
29574 2005-05-30 Wim Taymans <wim@fluendo.com>
29576 * gst/elements/gstidentity.c: (gst_identity_event),
29577 (gst_identity_transform), (gst_identity_get_property):
29578 Protect last_message property as it is accessed from
29581 2005-05-30 Wim Taymans <wim@fluendo.com>
29583 * gst/gstelement.c: (gst_element_init),
29584 (gst_element_pads_activate), (gst_element_change_state):
29585 Slicker pad activation code.
29587 2005-05-30 Wim Taymans <wim@fluendo.com>
29590 * gst/gstelement.h:
29591 * gst/gstelementfactory.h:
29593 Move elementfactory methods to separate .h file.
29595 2005-05-30 Wim Taymans <wim@fluendo.com>
29597 * docs/design/part-overview.txt:
29598 * gst/gstsystemclock.h:
29599 Small typo fixes, doc updates.
29601 2005-05-30 Wim Taymans <wim@fluendo.com>
29603 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29604 (init_popt_callback):
29605 Remove cpu-opt flag.
29607 2005-05-30 Wim Taymans <wim@fluendo.com>
29609 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29610 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29612 Avoid typechecking in places where not needed.
29613 Added accessor for malloc_data.
29615 2005-05-30 Wim Taymans <wim@fluendo.com>
29617 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29618 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29619 (gst_pad_configure_sink), (gst_pad_configure_src),
29620 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29621 (gst_pad_start_task):
29622 Propagate errors from _set_caps() in configure_src/sink
29623 functions instead of returning TRUE.
29624 FLUSH events can travel up and downstream
29627 2005-05-30 Wim Taymans <wim@fluendo.com>
29629 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29630 (gst_basesink_activate):
29631 Handle EOS in preroll.
29633 2005-05-30 Wim Taymans <wim@fluendo.com>
29635 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29636 (gst_queue_loop), (gst_queue_handle_src_event):
29637 Remove old pieces of code
29638 Flushing the queue in an upstream event is a very bad idea.
29640 2005-05-26 Andy Wingo <wingo@pobox.com>
29642 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29643 gst_value_set_mini_object so as to add a ref on the object (which
29644 will be removed when the value is unset).
29646 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29647 arg type in ::handoff.
29649 * gst/gstelement.c (gst_element_change_state): Also deactivate
29650 pads in READY->NULL, just in case the element didn't make it to
29651 PAUSED. Wingo tested, Wim approved.
29653 2005-05-26 Wim Taymans <wim@fluendo.com>
29655 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29656 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29657 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29658 A flushing pad cannot be used to alloc_buffer from.
29660 2005-05-26 Wim Taymans <wim@fluendo.com>
29662 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29663 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29664 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29665 (gst_bus_create_watch), (gst_bus_add_watch_full):
29667 Implement a real GSource and use g_main_context_wakeup() to
29668 signal new messages instead of the socketpair.
29670 2005-05-25 Wim Taymans <wim@fluendo.com>
29672 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29673 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29674 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29675 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29676 (gst_pad_send_event), (gst_pad_start_task):
29677 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29678 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29679 (gst_queue_sink_activate), (gst_queue_src_activate),
29680 (gst_queue_change_state):
29682 Fix state changes for non sinks. We now change sinks, then elements
29683 with unconnected srcpads, then the rest.
29684 More efficient queue unlocking in flush and state changes.
29685 Set the pad activate mode even if it does not have an activate
29688 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29690 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29691 Don't go in pull mode for non-seekable sources.
29692 * gst/elements/gsttypefindelement.h:
29693 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29694 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29695 (free_entry), (stop_typefinding),
29696 (gst_type_find_element_handle_event), (find_peek),
29697 (gst_type_find_element_chain), (do_pull_typefind),
29698 (gst_type_find_element_change_state):
29699 Allow typefinding (w/o seeking) in push-mode, simplified version
29700 of what was in 0.8.
29701 * gst/gstutils.c: (gst_buffer_join):
29703 gst_buffer_join() from 0.8.
29705 2005-05-25 Wim Taymans <wim@fluendo.com>
29707 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29708 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29709 (gst_pad_send_event), (gst_pad_start_task):
29710 Disable attempt at mode switching until it is figured out.
29712 2005-05-25 Wim Taymans <wim@fluendo.com>
29714 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29715 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29716 (gst_basesink_finish_preroll), (gst_basesink_chain),
29717 (gst_basesink_loop), (gst_basesink_activate),
29718 (gst_basesink_change_state):
29719 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29720 (gst_basesrc_get_range), (gst_basesrc_loop),
29721 (gst_basesrc_activate):
29722 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29723 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29724 (gst_real_pad_init), (gst_real_pad_set_property),
29725 (gst_real_pad_get_property), (gst_pad_set_active),
29726 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29727 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29728 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29729 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29730 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29731 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29732 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29733 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29734 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29735 (gst_pad_stop_task):
29737 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29738 (gst_queue_loop), (gst_queue_src_activate):
29739 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29740 (gst_task_get_state):
29742 * gst/schedulers/threadscheduler.c:
29743 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29744 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29746 Remove ACTIVE pad flag, use FLUSHING everywhere
29747 Added _pad_chain(), _pad_get_range() to call chain/getrange
29749 Add locks around IS_FLUSHING when reading.
29750 Take STREAM lock in chain(), get_range() functions so plugins
29751 don't need to take it anymore.
29755 2005-05-25 Wim Taymans <wim@fluendo.com>
29757 * tools/gst-launch.c: (event_loop):
29758 Unref message after using its contents instead of
29761 2005-05-24 Wim Taymans <wim@fluendo.com>
29763 * docs/design/draft-ghostpads.txt:
29764 * docs/design/draft-push-pull.txt:
29765 * docs/design/draft-query.txt:
29766 * docs/design/part-overview.txt:
29767 Docs updates, added general overview doc.
29769 2005-05-21 David Schleef <ds@schleef.org>
29771 * docs/gst/tmpl/old/GstBin.sgml:
29772 * docs/gst/tmpl/old/GstBuffer.sgml:
29773 * docs/gst/tmpl/old/GstCaps.sgml:
29774 * docs/gst/tmpl/old/GstClock.sgml:
29775 * docs/gst/tmpl/old/GstCompat.sgml:
29776 * docs/gst/tmpl/old/GstData.sgml:
29777 * docs/gst/tmpl/old/GstElement.sgml:
29778 * docs/gst/tmpl/old/GstEvent.sgml:
29779 * docs/gst/tmpl/old/GstIndex.sgml:
29780 * docs/gst/tmpl/old/GstStructure.sgml:
29781 * docs/gst/tmpl/old/GstTag.sgml:
29782 * docs/gst/tmpl/old/cothreads.sgml:
29783 * docs/gst/tmpl/old/cothreads_compat.sgml:
29784 * docs/gst/tmpl/old/gettext.sgml:
29785 * docs/gst/tmpl/old/gobject2gtk.sgml:
29786 * docs/gst/tmpl/old/grammar.tab.sgml:
29787 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29788 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29789 * docs/gst/tmpl/old/gst_private.sgml:
29790 * docs/gst/tmpl/old/gstaggregator.sgml:
29791 * docs/gst/tmpl/old/gstarch.sgml:
29792 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29793 * docs/gst/tmpl/old/gstbufferstore.sgml:
29794 * docs/gst/tmpl/old/gstdata_private.sgml:
29795 * docs/gst/tmpl/old/gstdisksink.sgml:
29796 * docs/gst/tmpl/old/gstdisksrc.sgml:
29797 * docs/gst/tmpl/old/gstelementfactory.sgml:
29798 * docs/gst/tmpl/old/gstextratypes.sgml:
29799 * docs/gst/tmpl/old/gstfakesink.sgml:
29800 * docs/gst/tmpl/old/gstfakesrc.sgml:
29801 * docs/gst/tmpl/old/gstfdsink.sgml:
29802 * docs/gst/tmpl/old/gstfdsrc.sgml:
29803 * docs/gst/tmpl/old/gstfilesink.sgml:
29804 * docs/gst/tmpl/old/gstfilesrc.sgml:
29805 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29806 * docs/gst/tmpl/old/gstidentity.sgml:
29807 * docs/gst/tmpl/old/gstindexfactory.sgml:
29808 * docs/gst/tmpl/old/gstmarshal.sgml:
29809 * docs/gst/tmpl/old/gstmd5sink.sgml:
29810 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29811 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29812 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29813 * docs/gst/tmpl/old/gstpipefilter.sgml:
29814 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29815 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29816 * docs/gst/tmpl/old/gstshaper.sgml:
29817 * docs/gst/tmpl/old/gstspider.sgml:
29818 * docs/gst/tmpl/old/gstspideridentity.sgml:
29819 * docs/gst/tmpl/old/gststatistics.sgml:
29820 * docs/gst/tmpl/old/gsttee.sgml:
29821 * docs/gst/tmpl/old/gsttimecache.sgml:
29822 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29823 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29824 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29825 * docs/gst/tmpl/old/types.sgml:
29826 I didn't intend to add these or check them in.
29828 2005-05-19 David Schleef <ds@schleef.org>
29830 * configure.ac: Use -no-common everywhere. In a sane world, it
29831 would be the default in libtool, because without it, you can't
29832 build DLLs on Windows.
29833 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29834 * docs/gst/gstreamer-sections.txt:
29835 * docs/gst/tmpl/gstcpu.sgml:
29836 * docs/gst/tmpl/gstdata.sgml:
29837 * docs/gst/tmpl/gstthread.sgml:
29839 2005-05-19 David Schleef <ds@schleef.org>
29841 * gst/gstminiobject.c: (gst_value_set_mini_object),
29842 (gst_value_take_mini_object), (gst_value_get_mini_object):
29843 * gst/gstminiobject.h: Add GValue set/get functions.
29845 2005-05-19 Wim Taymans <wim@fluendo.com>
29847 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29848 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29849 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29851 * gst/gstbus.c: (gst_bus_post):
29852 * gst/gstelement.c: (gst_element_get_random_pad):
29853 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29854 Make subbufer unref the parent in finalize.
29855 some more debugging info.
29858 2005-05-19 Wim Taymans <wim@fluendo.com>
29860 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29861 (gst_basesink_init), (gst_basesink_finalize),
29862 (gst_basesink_activate), (gst_basesink_change_state):
29863 Don't free preroll queue too early.
29865 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29869 Hi, I'm outdated. Please shoot me.
29871 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29873 * gst/gstpipeline.c: (gst_pipeline_send_event):
29874 Do not access variables after they have been deleted.
29876 2005-05-19 Wim Taymans <wim@fluendo.com>
29878 * tools/gst-inspect.c: (print_plugin_features):
29879 A plugin feature does unfortunatly not use the
29882 2005-05-18 Wim Taymans <wim@fluendo.com>
29884 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29885 Port _span() functions to new subbuffers.
29887 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29889 * gst/gstbin.c: (gst_bin_add_func):
29890 Fix clock settery in bins when adding kids after the clock has
29893 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29895 * gst/elements/gstidentity.c: (gst_identity_class_init):
29896 Workaround until signals support GstMiniObject.
29898 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
29901 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29903 2005-05-18 Wim Taymans <wim@fluendo.com>
29905 * gst/base/Makefile.am:
29906 * gst/base/gstadapter.c: (gst_adapter_base_init),
29907 (gst_adapter_class_init), (gst_adapter_init),
29908 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29909 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29910 (gst_adapter_flush), (gst_adapter_available),
29911 (gst_adapter_available_fast):
29912 * gst/base/gstadapter.h:
29913 Ported and added adapter to the base classes.
29915 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29918 * gst/gstmessage.c:
29919 Make sure the class is reffed/unreffed once before threads can be
29920 used. Fixes #304551.
29922 2005-05-17 Wim Taymans <wim@fluendo.com>
29924 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29925 (gst_basesink_chain_unlocked), (gst_basesink_activate):
29926 * gst/gstminiobject.c: (gst_mini_object_get_type),
29927 (gst_mini_object_free):
29928 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29929 (gst_pad_push), (gst_pad_push_event):
29930 * gst/gstqueue.c: (gst_queue_change_state):
29931 Don't queue buffers in basesink when we are flushing.
29932 Unref buffer when flushing in basesink.
29933 Flush queue when going to READY
29934 Unref buffer when _push() returns an error.
29935 Don't free MiniObject instance when refcount is incremented
29936 in _finalize() so that we can recover objects.
29938 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
29940 * docs/manual/advanced-schedulers.xml:
29941 * docs/manual/appendix-checklist.xml:
29942 * docs/pwg/advanced-clock.xml:
29943 * docs/pwg/advanced-interfaces.xml:
29944 * docs/pwg/advanced-request.xml:
29945 * docs/pwg/advanced-types.xml:
29946 * docs/pwg/intro-preface.xml:
29947 * examples/plugins/example.c: (gst_example_get_type),
29948 (gst_example_class_init), (gst_example_chain),
29949 (gst_example_set_property), (gst_example_get_property),
29950 (gst_example_change_state), (plugin_init):
29951 * examples/plugins/example.h:
29954 2005-05-17 Wim Taymans <wim@fluendo.com>
29956 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29957 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29958 * gst/gstqueue.c: (gst_queue_change_state):
29959 Clear queue when going to READY.
29960 Remove IN_SETCAPS flag too.
29962 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
29964 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29965 Remove implicit cast from gboolean to GstElementStateReturn;
29966 make sure we still return failure in paused => ready case if
29967 the parent class fails to change state and our own stop
29970 2005-05-17 Wim Taymans <wim@fluendo.com>
29972 * tools/gst-launch.c: (event_loop):
29973 Message was unreffed too soon.
29975 2005-05-16 Andy Wingo <wingo@pobox.com>
29977 * gst/gstbin.c (sink_iterator_filter): Err... um...
29979 * check/gst/gstbin.c (test_ghost_pads): New test for the
29980 ghosting-if-elements-not-in-same-bin behavior.
29982 2005-05-16 David Schleef <ds@schleef.org>
29984 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29985 accessing refcount directly.
29987 2005-05-15 David Schleef <ds@schleef.org>
29989 * check/Makefile.am: remove GstData checks
29990 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29991 * gst/Makefile.am: add miniobject, remove data
29992 * gst/gst.h: add miniobject, remove data
29993 * gst/gstdata.c: remove
29994 * gst/gstdata.h: remove
29995 * gst/gstdata_private.h: remove
29996 * gst/gsttypes.h: remove GstEvent and GstMessage
29997 * gst/gstelement.c: (gst_element_post_message): fix for API changes
29998 * gst/gstmarshal.list: change BOXED -> OBJECT
30000 Implement GstMiniObject.
30001 * gst/gstminiobject.c:
30002 * gst/gstminiobject.h:
30004 Modify to be subclasses of GstMiniObject.
30005 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30006 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30007 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30008 (gst_subbuffer_get_type), (gst_subbuffer_init),
30009 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30012 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30013 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30014 (_gst_event_copy), (gst_event_new):
30016 * gst/gstmessage.c: (_gst_message_initialize),
30017 (gst_message_get_type), (gst_message_class_init),
30018 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30019 (gst_message_new), (gst_message_new_error),
30020 (gst_message_new_warning), (gst_message_new_tag),
30021 (gst_message_new_state_changed), (gst_message_new_application):
30022 * gst/gstmessage.h:
30023 * gst/gstprobe.c: (gst_probe_perform),
30024 (gst_probe_dispatcher_dispatch):
30026 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30027 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30028 (_gst_query_copy), (gst_query_new):
30030 Update elements for GstData -> GstMiniObject changes
30032 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30033 (gst_queue_chain), (gst_queue_loop):
30034 * gst/elements/gstbufferstore.c:
30035 (gst_buffer_store_add_buffer_func),
30036 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30037 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30038 (gst_fakesink_render):
30039 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30040 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30041 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30042 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30043 (gst_filesrc_create_read):
30044 * gst/elements/gstidentity.c: (gst_identity_class_init):
30045 * gst/elements/gsttypefindelement.c:
30046 (gst_type_find_element_src_event), (free_entry_buffers),
30047 (gst_type_find_element_handle_event):
30048 * libs/gst/dataprotocol/dataprotocol.c:
30049 (gst_dp_header_from_buffer):
30050 * libs/gst/dataprotocol/dataprotocol.h:
30051 * libs/gst/dataprotocol/dp-private.h:
30053 2005-05-15 David Schleef <ds@schleef.org>
30055 * gst/elements/gstelements.c: Don't include headers that were
30058 2005-05-15 David Schleef <ds@schleef.org>
30060 * gst/elements/Makefile.am: Remove some elements that don't
30061 need to be in the core (or even exist at all).
30062 * gst/elements/gstaggregator.c:
30063 * gst/elements/gstaggregator.h:
30064 * gst/elements/gstmd5sink.c:
30065 * gst/elements/gstmd5sink.h:
30066 * gst/elements/gstmultifilesrc.c:
30067 * gst/elements/gstmultifilesrc.h:
30068 * gst/elements/gstpipefilter.c:
30069 * gst/elements/gstpipefilter.h:
30070 * gst/elements/gstshaper.c:
30071 * gst/elements/gstshaper.h:
30072 * gst/elements/gststatistics.c:
30073 * gst/elements/gststatistics.h:
30074 * po/POTFILES.in: Remove above files.
30076 2005-05-14 Andy Wingo <wingo@pobox.com>
30078 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30079 so as to get the refs right.
30080 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30081 unreffing objects that don't pass the filter.
30083 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30084 gst_element_set_bus.
30085 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30086 normal cases, this will destroy the bus.
30088 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30091 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30094 2005-05-13 Andy Wingo <wingo@pobox.com>
30096 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30097 gst_pad_link, call pad_link_maybe_ghosting,
30098 (pad_link_maybe_ghosting): Links pads, making sure that the
30099 elements being linked are in the same bin.
30100 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30101 Helpers for pad_link_maybe_ghosting.
30103 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30106 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30108 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30110 * docs/design/part-element-source.txt:
30113 2005-05-12 Wim Taymans <wim@fluendo.com>
30115 * gst/base/gstbasesink.c: (gst_basesink_init),
30116 (gst_basesink_activate):
30117 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30118 (gst_basesrc_is_seekable):
30119 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30120 (bin_element_is_sink), (gst_bin_change_state):
30121 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30122 * gst/gstelement.h:
30123 Identify sinks by their flag to avoid overly complicated
30125 Do state changes even for elements not reachable from the
30127 BaseSink is a sink now :)
30128 Some more debugging info in the basesrc.
30131 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30133 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30134 Implement _query on a bin, similar to _send_event.
30136 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30138 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30139 Discont event offset format should be GST_FORMAT_BYTES,
30140 not GST_FORMAT_TIME.
30142 2005-05-12 Wim Taymans <wim@fluendo.com>
30144 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30145 Same fix as Ronald's but without the signal.
30147 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30149 * gst/gstutils.c: (gst_element_query_position):
30150 No, an element is not a pad.
30152 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30154 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30155 (gst_bin_get_state):
30156 If a child is removed from a bin while we remove the child from
30157 the bin and while we're retrieving its state, signal this to the
30158 get_state function so we abort the wait (instead of waiting for
30159 a timeout) and can immediately re-iterate over all other elements.
30161 2005-05-12 Wim Taymans <wim@fluendo.com>
30163 * gst/base/Makefile.am:
30164 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30165 (gst_basesrc_start):
30166 * gst/base/gstbasesrc.h:
30167 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30168 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30169 (gst_pushsrc_init), (gst_pushsrc_create):
30170 * gst/base/gstpushsrc.h:
30171 Added is_seekable to BaseSrc
30172 Added simple PushSrc.
30174 2005-05-11 Wim Taymans <wim@fluendo.com>
30176 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30177 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30178 (gst_element_link_pads), (gst_element_query_position),
30179 (gst_element_query_convert), (intersect_caps_func),
30180 (gst_pad_query_position), (gst_pad_query_convert):
30181 Fix refcounting in utils function.
30182 No point in trying to activate a pad when it's added, it could
30183 be added from the state change function and then we deadlock, the
30184 element has to decide what to do.
30186 2005-05-10 Andy Wingo <wingo@pobox.com>
30188 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30189 *all* the arguments.
30191 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30192 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30193 lock (according to the docs -- if this is wrong change the docs).
30195 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30196 flush messages in the NULL state.
30198 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30199 message immediately and return.
30200 (gst_bus_set_flushing): New function. If a bus is flushing, it
30201 flushes out any queued messages and immediately unrefs new
30202 messages. This is so when an element goes to NULL, all of the
30203 unhandled messages coming from it can be freed, and their
30204 references to the element dropped. In other words: message source
30205 ref considered harmful :P
30207 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30208 we're finished with it.
30210 * gst/gstmessage.c (gst_message_new_state_changed):
30212 2005-05-10 Wim Taymans <wim@fluendo.com>
30214 * gst/gstvalue.c: (gst_value_compare_flags),
30215 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30216 (_gst_value_initialize):
30217 Added flags serialize/deserialize/compare code.
30219 2005-05-09 Andy Wingo <wingo@pobox.com>
30221 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30222 Intersect the peer's caps with our caps.
30224 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30226 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30227 * gst/elements/gsttypefindelement.c: (find_peek):
30228 Handle negative offsets better. Fixes decodebin.
30230 2005-05-09 Wim Taymans <wim@fluendo.com>
30232 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30233 (gst_base_transform_event):
30234 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30235 Implement accept_caps.
30236 Fix silly lock/unlock mismatch in base class.
30238 2005-05-09 Wim Taymans <wim@fluendo.com>
30240 * docs/design/draft-push-pull.txt:
30241 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30242 * gst/elements/gstfilesink.c: (gst_filesink_init),
30243 (gst_filesink_query):
30244 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30245 (gst_type_find_handle_src_query), (find_element_get_length):
30246 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30247 * gst/gstelement.h:
30248 * gst/gstmessage.c:
30249 * gst/gstmessage.h:
30250 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30251 (gst_real_pad_get_caps_unlocked),
30252 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30253 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30254 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30255 (gst_real_pad_dispose), (gst_real_pad_finalize),
30256 (gst_pad_load_and_link), (gst_pad_save_thyself),
30257 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30258 (gst_pad_check_pull_range), (gst_pad_pull_range),
30259 (gst_pad_template_get_type), (gst_pad_template_class_init),
30260 (gst_pad_template_init), (gst_pad_template_dispose),
30261 (name_is_valid), (gst_static_pad_template_get),
30262 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30263 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30264 (gst_pad_get_element_private), (gst_pad_start_task),
30265 (gst_pad_pause_task), (gst_pad_stop_task),
30266 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30267 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30268 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30269 (gst_ghost_pad_new):
30271 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30272 (gst_query_new_position), (gst_query_set_position),
30273 (gst_query_parse_position), (gst_query_new_convert),
30274 (gst_query_set_convert), (gst_query_parse_convert):
30276 * gst/gstqueryutils.c:
30277 * gst/gstqueryutils.h:
30278 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30279 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30280 (gst_queue_handle_src_query):
30281 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30282 (gst_element_query_position), (gst_element_query_convert),
30283 (intersect_caps_func), (gst_pad_query_position),
30284 (gst_pad_query_convert):
30286 * tools/gst-inspect.c: (print_pad_info):
30287 * tools/gst-xmlinspect.c: (print_element_info):
30288 Remove old query functions. Ported old code.
30289 Added position/convert helper functions to gstutils.
30290 Reordered gstpad.c code, grouping relevant things.
30291 Remove gst_message_new(), always need to speficy a specific
30295 2005-05-09 Andy Wingo <wingo@pobox.com>
30297 * gst/gstiterator.h: Add some includes.
30299 * gst/gstqueryutils.h: Include more headers.
30302 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30303 some uses of gst_pad_query.
30305 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30306 NULL out parameters.
30307 (gst_query_new_position): New proc, allocates a new position
30310 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30311 gstqueryutils.c to the build.
30313 * gst/gststructure.c (gst_structure_set_valist): Implement with
30314 the generic G_VALUE_COLLECT.
30316 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30318 * gst/Makefile.am: (gst_headers):
30319 Added gstqueryutils.h to the list of headers to install, that was
30320 a 'nachty' move wingo :)
30322 2005-05-06 Andy Wingo <wingo@pobox.com>
30325 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30326 GstData, init a memchunk.
30327 (standard_definitions): Add a few query types, deprecate a few.
30328 (gst_query_get_type): New proc.
30329 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30331 (gst_query_new_application, gst_query_get_structure): New public
30334 * docs/design/draft-query.txt: Removed LINKS from the query types,
30335 because all the rest can be dispatched to other pads -- seemed
30336 ugly to have a query that couldn't be dispatched. internal_links
30337 is fine as a pad method.
30339 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30340 in gstpad.c, but maintain binary compatibility for the moment.
30341 Will fix before 0.9 is out.
30343 * gst/gstqueryutils.c:
30344 * gst/gstqueryutils.h: New files, implement 3 methods for each
30345 query type: parse_query, parse_response, and set. Probably need an
30348 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30350 * gst/elements/gstfilesink.c (gst_filesink_query2):
30351 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30352 query_types, and formats methods.
30354 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30355 (gst_pad_set_query2_function): New functions.
30356 (gst_real_pad_init): Set query2_default as the default query2
30357 function. Basically just dispatches to internally linked pads.
30361 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30362 without using the atomic operations. Only one thread can possibly
30363 be accessing the data at this point. Changed so as to avoid
30364 gst_atomic operations.
30366 2005-05-06 Wim Taymans <wim@fluendo.com>
30368 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30369 Also set caps if we use the fallback buffer alloc.
30371 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30373 * docs/gst/Makefile.am:
30374 * docs/gst/gstreamer-docs.sgml:
30375 * docs/gst/gstreamer-sections.txt:
30376 * docs/gst/tmpl/gstatomic.sgml:
30377 * docs/gst/tmpl/gstmemchunk.sgml:
30378 * testsuite/elements/struct_i386.h:
30379 * win32/GStreamer.vcproj:
30381 Purge GstAtomic stuff from docs and win32 makefiles as well
30383 2005-05-06 Wim Taymans <wim@fluendo.com>
30385 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30386 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30387 * gst/gstpad.c: (gst_pad_peer_get_caps):
30388 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30389 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30390 (gst_queue_src_activate), (gst_queue_change_state):
30392 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30393 (intersect_caps_func):
30394 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30395 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30396 Some fixes for the peer_get_caps() change.
30398 2005-05-06 Wim Taymans <wim@fluendo.com>
30400 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30401 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30402 (gst_basesink_activate):
30403 Actually do something with error codes returned from the push
30406 2005-05-06 Wim Taymans <wim@fluendo.com>
30408 * docs/design/part-element-sink.txt:
30409 * docs/design/part-element-source.txt:
30410 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30411 (gst_basesink_event), (gst_basesink_activate):
30412 * gst/base/gstbasesink.h:
30413 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30414 (gst_basesrc_activate):
30415 * gst/base/gstbasesrc.h:
30416 * gst/gstelement.c: (gst_element_pads_activate):
30417 Some more documentation.
30418 Fixed scheduling decision in _pads_activate().
30420 2005-05-05 Andy Wingo <wingo@pobox.com>
30422 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30425 2005-05-05 Wim Taymans <wim@fluendo.com>
30427 * gst/base/Makefile.am:
30428 * gst/base/gstbasesink.h:
30429 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30430 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30431 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30432 (gst_collectpads_class_init), (gst_collectpads_init),
30433 (gst_collectpads_finalize), (gst_collectpads_new),
30434 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30435 (find_pad), (gst_collectpads_remove_pad),
30436 (gst_collectpads_is_active), (gst_collectpads_collect),
30437 (gst_collectpads_collect_range), (gst_collectpads_start),
30438 (gst_collectpads_stop), (gst_collectpads_peek),
30439 (gst_collectpads_pop), (gst_collectpads_available),
30440 (gst_collectpads_read), (gst_collectpads_flush),
30441 (gst_collectpads_chain):
30442 * gst/base/gstcollectpads.h:
30443 * gst/elements/Makefile.am:
30444 * gst/elements/gstelements.c:
30445 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30446 (gst_fakesink_get_times), (gst_fakesink_event),
30447 (gst_fakesink_preroll), (gst_fakesink_render):
30448 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30449 (gst_filesink_init), (gst_filesink_set_location),
30450 (gst_filesink_open_file), (gst_filesink_close_file),
30451 (gst_filesink_pad_query), (gst_filesink_event),
30452 (gst_filesink_render), (gst_filesink_change_state):
30453 * gst/elements/gstfilesink.h:
30454 Added object to help in making collect pad based elements.
30456 Make event function in sink baseclass return gboolean.
30458 2005-05-05 Wim Taymans <wim@fluendo.com>
30460 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30461 (gst_bin_get_by_name):
30463 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30464 (gst_clock_finalize):
30465 * gst/gstdata.c: (gst_data_replace):
30467 * gst/gstelement.c: (gst_element_request_pad),
30468 (gst_element_pads_activate):
30469 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30470 (gst_object_unref):
30471 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30472 (gst_pad_set_checkgetrange_function),
30473 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30474 (gst_pad_check_pull_range), (gst_pad_pull_range),
30475 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30476 (gst_pad_pause_task), (gst_pad_stop_task):
30477 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30478 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30479 Fix name lookup in GstBin.
30480 Added _data_replace() function and _buffer_replace()
30481 Use finalize method to clean up clock.
30482 Fix refcounting on request pads.
30483 Fix pad schedule mode error.
30484 Some more object refcounting debug info,
30487 2005-05-04 Andy Wingo <wingo@pobox.com>
30489 * check/Makefile.am:
30490 * docs/gst/tmpl/gstatomic.sgml:
30491 * docs/gst/tmpl/gstplugin.sgml:
30492 * gst/base/gstbasesink.c: (gst_basesink_activate):
30493 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30494 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30495 (gst_basesrc_query), (gst_basesrc_set_property),
30496 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30497 (gst_basesrc_activate):
30498 * gst/base/gstbasesrc.h:
30499 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30500 (gst_base_transform_src_activate):
30501 * gst/elements/gstelements.c:
30502 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30503 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30504 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30505 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30506 (gst_type_find_element_checkgetrange),
30507 (gst_type_find_element_activate):
30508 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30509 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30510 (gst_caps_load_thyself):
30511 * gst/gstelement.c: (gst_element_pads_activate),
30512 (gst_element_save_thyself), (gst_element_restore_thyself):
30513 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30514 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30516 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30517 (gst_xml_parse_file), (gst_xml_parse_memory),
30518 (gst_xml_get_element), (gst_xml_make_element):
30519 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30520 (_file_index_id_save_xml), (gst_file_index_commit):
30521 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30522 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30524 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30525 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30526 * tools/gst-complete.c: (main):
30527 * tools/gst-compprep.c: (main):
30528 * tools/gst-inspect.c: (print_element_properties_info):
30529 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30530 * tools/gst-xmlinspect.c: (print_element_properties):
30533 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30535 * gst/gstplugin.c: (gst_plugin_check_module),
30536 (gst_plugin_check_file), (gst_plugin_load_file):
30537 apply patch from #172526 to make register work on MacOSX
30539 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30541 * docs/gst/tmpl/gstconfig.sgml:
30542 * gst/gstconfig.h.in:
30543 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30544 * testsuite/debug/printf_extension.c: (main):
30545 Do not use GST_PTR_FORMAT on pointers to types with
30546 sizeof < sizeof(gpointer). Fixes test on 64-bit
30547 * testsuite/elements/property.h:
30548 use correct printf format
30550 2005-05-02 Wim Taymans <wim@fluendo.com>
30552 * docs/design/draft-push-pull.txt:
30553 * docs/design/draft-query.txt:
30554 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30555 (gst_basesrc_start):
30556 Added draft for new query API.
30557 Added draft for better selecting scheduling methods.
30558 Make basesrc ignore length if the subclass does not support
30561 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30564 possible fixes for automake-1.5 - _LIBADD is reserved
30566 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30568 * docs/faq/Makefile.am:
30569 * docs/manual/Makefile.am:
30570 * docs/manuals.mak:
30571 * docs/pwg/Makefile.am:
30573 possible fixes for automake-1.5
30575 2005-04-28 Wim Taymans <wim@fluendo.com>
30577 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30578 (gst_basesink_pad_getcaps), (gst_basesink_init),
30579 (gst_basesink_do_sync):
30580 * gst/gstclock.c: (gst_clock_entry_new):
30581 * gst/gstevent.c: (gst_event_discont_get_value):
30582 * gst/gstpipeline.c: (pipeline_bus_handler),
30583 (gst_pipeline_change_state):
30584 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30585 Better debugging of clocking info.
30586 Allow NULL values when getting discont values.
30588 2005-04-27 Wim Taymans <wim@fluendo.com>
30590 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30591 * check/gst/gstpad.c: (gst_pad_suite):
30592 Increase timeout for checks.
30594 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30596 * check/Makefile.am:
30597 fix the broken rule for cleanup. Apparently this rule is
30598 only needed on FC2, so maybe this warrants further autotool
30601 2005-04-26 Wim Taymans <wim@fluendo.com>
30603 * gst/gsttrashstack.h:
30604 Ooohh. a nasty one! After having a failed pop() from the stack,
30605 it's possible that the stack is empty. In that case, don't
30606 follow the NULL pointer.
30608 2005-04-25 Wim Taymans <wim@fluendo.com>
30610 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30611 (gst_pad_set_checkgetrange_function),
30612 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30613 (gst_pad_check_pull_range), (gst_pad_pull_range),
30614 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30615 (gst_pad_pause_task), (gst_pad_stop_task):
30616 * gst/gstplugin.c: (gst_plugin_load):
30618 Remove gst_library_load as it does more harm than good with
30619 the new g_module flags.
30620 Revert bogus caps template check in pad linking, pad caps
30621 are important when linking not the template, which is more
30622 general than the current caps.
30624 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30626 * gst/autoplug/.cvsignore:
30627 * gst/autoplug/Makefile.am:
30628 * gst/autoplug/gstsearchfuncs.c:
30629 * gst/autoplug/gstsearchfuncs.h:
30630 * gst/autoplug/gstspider.c:
30631 * gst/autoplug/gstspider.h:
30632 * gst/autoplug/gstspideridentity.c:
30633 * gst/autoplug/gstspideridentity.h:
30634 * gst/autoplug/spidertest.c:
30637 2005-04-25 Wim Taymans <wim@fluendo.com>
30639 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30640 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30641 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30642 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30644 Added stubs for unimplemented functions.
30646 2005-04-24 David Schleef <ds@schleef.org>
30648 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30651 2005-04-24 David Schleef <ds@schleef.org>
30653 Convert everything from GstAtomicInt to g_atomic_int_*, and
30658 * gst/gstatomic_impl.h:
30666 * gst/gstdata_private.h:
30670 * gst/gstmessage.c:
30673 * gst/gststructure.c:
30674 * gst/gststructure.h:
30675 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30678 2005-04-24 David Schleef <ds@schleef.org>
30680 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30681 make the regressions tests work. Remove some code that is no
30683 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30684 Disable warning for pads without templates.
30686 2005-04-24 David Schleef <ds@schleef.org>
30688 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30689 functions that handle filtered links.
30690 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30692 * gst/gstutils.c: Fix/remove utility functions that handle
30695 * gst/gstvalue.c: Add serialization/deserialization of caps
30696 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30697 requires fixing so that the filter caps notation creates
30698 a capsfilter element and sets the filter_caps property. I
30699 think everyone probably wants to keep the shorthand notation.
30700 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30701 * docs/gst/tmpl/gstpad.sgml:
30703 * gst/elements/gstelements.c: Register capsfilter element.
30704 * gst/Makefile.am: fix spacing
30705 * docs/random/ds/0.9-suggested-changes: random
30707 2005-04-23 David Schleef <ds@schleef.org>
30709 * gst/elements/Makefile.am:
30710 * gst/elements/gstcapsfilter.c: New element that acts like an
30711 identity, but filters caps. Will eventually replace filtered
30712 caps in pad linking.
30713 * gst/gstutils.c: (gst_element_create_all_pads): New function
30714 to create all the ALWAYS pads that are registered with an
30715 element class. This functionality should eventually be
30716 merged in with GstElement initialization.
30718 * testsuite/trigger/README: part of trigger test code that should
30719 have been checked in a long time ago.
30721 2005-04-23 David Schleef <ds@schleef.org>
30723 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30724 needed with new versions of libtool (nobody will confirm this),
30725 and hard to carry around.
30726 * gst/autoplug/Makefile.am:
30727 * gst/base/Makefile.am:
30728 * gst/elements/Makefile.am:
30729 * gst/indexers/Makefile.am:
30730 * gst/schedulers/Makefile.am:
30731 * libs/gst/bytestream/Makefile.am:
30732 * libs/gst/control/Makefile.am:
30733 * libs/gst/dataprotocol/Makefile.am:
30734 * libs/gst/getbits/Makefile.am:
30736 2005-04-21 Wim Taymans <wim@fluendo.com>
30738 * docs/design/draft-push-pull.txt:
30739 * docs/design/part-MT-refcounting.txt:
30740 * docs/design/part-TODO.txt:
30741 * docs/design/part-caps.txt:
30742 * docs/design/part-events.txt:
30743 * docs/design/part-gstbus.txt:
30744 * docs/design/part-gstpipeline.txt:
30745 * docs/design/part-messages.txt:
30746 * docs/design/part-push-pull.txt:
30747 * docs/design/part-query.txt:
30750 2005-04-21 Wim Taymans <wim@fluendo.com>
30752 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30753 (gst_message_new), (gst_message_new_error),
30754 (gst_message_new_warning), (gst_message_new_tag),
30755 (gst_message_new_state_changed), (gst_message_new_application),
30756 (gst_message_get_structure):
30757 * gst/gstmessage.h:
30758 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30759 (gst_structure_copy_conditional):
30760 Use parent refcount in GstMessage to ensure GstStructure
30762 Cleaned up headers a bit.
30765 2005-04-20 Wim Taymans <wim@fluendo.com>
30767 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30768 (gst_basesink_pad_getcaps), (gst_basesink_init),
30769 (gst_basesink_chain_unlocked):
30770 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30771 (gst_type_find_helper):
30772 * gst/elements/gsttypefindelement.c:
30773 (gst_type_find_element_have_type), (gst_type_find_element_init),
30774 (stop_typefinding), (gst_type_find_element_handle_event),
30775 (find_suggest), (gst_type_find_element_chain),
30776 (gst_type_find_element_checkgetrange),
30777 (gst_type_find_element_getrange), (do_typefind),
30778 (gst_type_find_element_activate):
30779 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30780 (gst_buffer_default_free), (gst_buffer_default_copy),
30781 (gst_buffer_set_caps):
30782 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30783 (gst_caps_replace):
30784 * gst/gstmessage.c: (gst_message_new),
30785 (gst_message_new_state_changed):
30786 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30787 (gst_pad_set_checkgetrange_function),
30788 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30789 (gst_pad_set_caps), (gst_pad_check_pull_range),
30790 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30792 * gst/gsttypefind.c: (gst_type_find_register):
30793 Make gst_caps_replace() work like other _replace() functions.
30794 Use _caps_replace() where possible.
30795 Make sure _message_new() initialises its field.
30796 Add gst_static_pad_template_get_caps()
30799 2005-04-18 Andy Wingo <wingo@pobox.com>
30801 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30802 on the peer, not the pad. I think that was a typo. Pass an extra
30803 arg to see if random access is possible. Activate the pads as
30804 PULL_RANGE if possible.
30806 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30808 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30809 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30812 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30814 * docs/faq/using.xml:
30815 Add note on gstreamer-properties (#154996).
30817 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30819 * docs/random/bbb/optional-properties:
30820 Some analysis on optional properties.
30822 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30824 * docs/gst/tmpl/gstelementfactory.sgml:
30825 * gst/gstelement.h:
30826 * gst/gstelementfactory.c: (gst_element_factory_init),
30827 (gst_element_factory_cleanup), (gst_element_register),
30828 (__gst_element_factory_add_static_pad_template),
30829 (gst_element_factory_get_static_pad_templates),
30830 (gst_element_factory_can_src_caps),
30831 (gst_element_factory_can_sink_caps):
30832 * gst/registries/Makefile.am:
30833 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30834 (gst_xml_registry_class_init), (gst_xml_registry_init),
30835 (gst_xml_registry_new), (gst_xml_registry_set_property),
30836 (gst_xml_registry_get_property), (get_time), (make_dir),
30837 (gst_xml_registry_get_perms_func),
30838 (plugin_times_older_than_recurse), (plugin_times_older_than),
30839 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30840 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30841 (add_to_char_array), (read_string), (read_uint), (read_enum),
30842 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30843 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30844 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30845 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30846 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30847 (gst_xml_registry_rebuild):
30848 * gst/registries/gstlibxmlregistry.h:
30849 * tools/gst-compprep.c: (main):
30850 * tools/gst-inspect.c: (print_pad_templates_info):
30851 * tools/gst-xmlinspect.c: (print_element_info):
30852 Use libxml2 for registry parsing, use staticpadtemplates in
30853 elementfactories. Makes gst_init() +/- 10x faster.
30855 2005-04-12 Wim Taymans <wim@fluendo.com>
30857 * gst/base/Makefile.am:
30858 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30859 (gst_basesink_pad_getcaps), (gst_basesink_init),
30860 (gst_basesink_event), (gst_basesink_change_state):
30861 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30862 (gst_basesrc_init), (gst_basesrc_query),
30863 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30864 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30865 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30866 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30867 (gst_basesrc_stop), (gst_basesrc_activate),
30868 (gst_basesrc_change_state):
30869 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30870 (helper_find_suggest), (gst_type_find_helper):
30871 * gst/base/gsttypefindhelper.h:
30872 * gst/elements/Makefile.am:
30873 * gst/elements/gstelements.c:
30874 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30875 (gst_fakesink_get_times), (gst_fakesink_event),
30876 (gst_fakesink_preroll), (gst_fakesink_render):
30877 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30878 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30879 (gst_fakesrc_get_property), (gst_fakesrc_create),
30880 (gst_fakesrc_start), (gst_fakesrc_stop):
30881 * gst/elements/gstfakesrc.h:
30882 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30883 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30884 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30885 (gst_filesrc_create_read), (gst_filesrc_create),
30886 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30887 (gst_filesrc_start):
30888 * gst/elements/gsttypefindelement.c:
30889 (gst_type_find_element_have_type), (gst_type_find_element_init),
30890 (start_typefinding), (stop_typefinding), (push_buffer_store),
30891 (gst_type_find_element_handle_event),
30892 (gst_type_find_element_chain),
30893 (gst_type_find_element_checkgetrange),
30894 (gst_type_find_element_getrange), (do_typefind),
30895 (gst_type_find_element_activate),
30896 (gst_type_find_element_change_state):
30897 * gst/elements/gsttypefindelement.h:
30898 * gst/gstpipeline.c: (pipeline_bus_handler):
30899 Added typefind helper.
30900 Small preroll fix in the base sink.
30901 Disable typefind code in basesrc.
30902 Crude port of typefindelement.
30906 2005-04-11 Wim Taymans <wim@fluendo.com>
30908 * check/gst/gstbus.c: (gstbus_suite):
30909 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30910 * check/gstcheck.h:
30911 Fix up the timeout so that the test does not fail.
30913 2005-04-06 Wim Taymans <wim@fluendo.com>
30916 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30917 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30918 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30919 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30920 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30921 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30922 (gst_basesrc_stop), (gst_basesrc_activate),
30923 (gst_basesrc_change_state), (basesrc_find_peek),
30924 (basesrc_find_suggest), (gst_basesrc_type_find):
30925 * gst/base/gstbasesrc.h:
30926 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30927 (gst_filesrc_class_init), (gst_filesrc_init),
30928 (gst_filesrc_finalize), (gst_filesrc_set_location),
30929 (gst_filesrc_set_property), (gst_filesrc_get_property),
30930 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30931 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30932 (gst_filesrc_create_read), (gst_filesrc_create),
30933 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30934 * gst/elements/gstfilesrc.h:
30935 * gst/gstelement.c: (gst_element_get_state_func),
30936 (gst_element_lost_state), (gst_element_pads_activate):
30937 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30938 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30939 (gst_pad_pull_range):
30941 More work on the generic source base class, implement seeking,
30943 Make filesrc extend the base source class.
30944 Added gst_pad_set_checkgetrange_function to GstPad.
30946 2005-04-06 Andy Wingo <wingo@pobox.com>
30948 * pkgconfig/gstreamer-base.pc.in:
30949 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30951 * pkgconfig/Makefile.am:
30952 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30954 2005-04-04 Wim Taymans <wim@fluendo.com>
30956 * gst/base/Makefile.am:
30958 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30959 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30960 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30961 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30962 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30963 (gst_basesrc_base_init), (gst_basesrc_class_init),
30964 (gst_basesrc_init), (gst_basesrc_get_formats),
30965 (gst_basesrc_get_query_types), (gst_basesrc_query),
30966 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30967 (gst_basesrc_set_property), (gst_basesrc_get_property),
30968 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30969 (gst_basesrc_loop), (gst_basesrc_activate),
30970 (gst_basesrc_change_state):
30971 * gst/base/gstbasesrc.h:
30972 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30973 (gst_fakesrc_class_init), (gst_fakesrc_init),
30974 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30975 (gst_fakesrc_get_property), (gst_fakesrc_create):
30976 * gst/elements/gstfakesrc.h:
30977 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30978 (gst_filesrc_open_file), (gst_filesrc_loop),
30979 (gst_filesrc_activate), (filesrc_find_peek),
30980 (gst_filesrc_type_find):
30981 Made base source class, make fakesrc extend it.
30982 Add comments to basesink class.
30983 Some filesrc cleanup.
30985 2005-03-31 David Schleef <ds@schleef.org>
30987 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30988 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30989 expected to link against libgstreamer.
30990 * gst/base/Makefile.am: link against libgstreamer
30991 * gst/elements/Makefile.am: same
30993 2005-03-31 Andy Wingo <wingo@pobox.com>
30995 * tests/instantiate/Makefile.am:
30996 * tests/instantiate/caps.c: Add test to test speed of caps copy
30999 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31000 GMemChunk to be fair.
31002 * gst/gsttrashstack.h: Remove warning about using the fallback
31003 trash stack implementation, it's still faster than malloc.
31005 2005-03-30 Andy Wingo <wingo@pobox.com>
31007 * tests/complexity.c: Add a copyright.
31009 2005-03-31 Wim Taymans <wim@fluendo.com>
31011 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31012 (gst_base_transform_class_init), (gst_base_transform_init),
31013 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31014 (gst_base_transform_get_property),
31015 (gst_base_transform_sink_activate),
31016 (gst_base_transform_src_activate),
31017 (gst_base_transform_change_state):
31018 * gst/base/gstbasetransform.h:
31019 * gst/elements/gstidentity.c: (gst_identity_class_init),
31020 (gst_identity_event), (gst_identity_check_perfect),
31021 (gst_identity_transform), (gst_identity_start),
31022 (gst_identity_stop):
31023 Added start/stop methods to transform base class so subclasses
31024 don't need to deal with state changes even.
31026 2005-03-31 Wim Taymans <wim@fluendo.com>
31028 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31029 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31031 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31032 (gst_pad_pull_range):
31033 Added rate to the discont event to prepare for variable speed
31034 and reverse playback.
31036 2005-03-29 David Schleef <ds@schleef.org>
31039 * testsuite/trigger/Makefile.am:
31040 * testsuite/trigger/trigger.c: A little example program to show
31041 how trigger-based elements can work.
31043 2005-03-29 Wim Taymans <wim@fluendo.com>
31045 * gst/base/Makefile.am:
31047 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31048 (gst_basesink_base_init), (gst_basesink_class_init),
31049 (gst_basesink_pad_getcaps), (gst_basesink_init),
31050 (gst_basesink_activate), (gst_basesink_change_state):
31051 * gst/base/gstbasesink.h:
31052 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31053 (gst_base_transform_base_init), (gst_base_transform_finalize),
31054 (gst_base_transform_class_init), (gst_base_transform_init),
31055 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31056 (gst_base_transform_event), (gst_base_transform_getrange),
31057 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31058 (gst_base_transform_set_property),
31059 (gst_base_transform_get_property),
31060 (gst_base_transform_sink_activate),
31061 (gst_base_transform_src_activate),
31062 (gst_base_transform_change_state):
31063 * gst/base/gstbasetransform.h:
31064 * gst/elements/gstidentity.c: (gst_identity_finalize),
31065 (gst_identity_class_init), (gst_identity_init),
31066 (gst_identity_event), (gst_identity_check_perfect),
31067 (gst_identity_transform), (gst_identity_set_property),
31068 (gst_identity_get_property), (gst_identity_change_state):
31069 * gst/elements/gstidentity.h:
31070 * gst/gstelement.c: (gst_element_get_state_func),
31071 (gst_element_lost_state), (gst_element_pads_activate):
31072 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31073 (gst_pad_check_pull_range), (gst_pad_pull_range):
31075 Simplify pad activation.
31076 Added function to check if pull_range can be performed.
31077 Error out when pulling inactive or flushing pads.
31078 Removed const from refcounted types as it does not make sense.
31079 Simplify pad templates in basesink
31080 Added base class for simple 1-to-1 transforms.
31081 Make identity subclass the base transform.
31083 2005-03-29 Andy Wingo <wingo@pobox.com>
31085 * docs/libs/gstreamer-libs-overrides.txt:
31086 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31087 really don't understand what's going on, but like whatever. I want
31090 * docs/gst/Makefile.am:
31091 * docs/libs/Makefile.am: Dist the overrides files.
31093 * check/Makefile.am (clean-local): Remove .libs directories.
31095 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31096 elements to EXTRA_DIST, so po/ files are happy.
31098 * po/POTFILES.in: Er, remove it here.
31100 * po/POTFILES: Remove gstspider.c.
31102 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31104 * docs/libs/gstreamer-libs-docs.sgml:
31105 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31108 * tests/complexity.c (main): Set the length of the preroll queue
31109 on the sinks to prevent a lockup.
31111 * libs/gst/dataprotocol/Makefile.am:
31112 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31113 the same as the one in check/gst-libs/gdp.c.
31115 * po/, docs/gst/: Commit automatic changes to docs and po files.
31117 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31118 the versioned libgstbase.
31120 * check/Makefile.am: Depend on an unversioned gst-register, seems
31121 to make autoconf happier.
31123 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31125 2005-03-28 Wim Taymans <wim@fluendo.com>
31128 * docs/design/part-gstelement.txt:
31129 * docs/design/part-negotiation.txt:
31130 * docs/design/part-preroll.txt:
31131 * docs/design/part-scheduling.txt:
31132 * docs/design/part-states.txt:
31134 * gst/base/Makefile.am:
31136 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31137 (gst_basesink_base_init), (gst_basesink_class_init),
31138 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31139 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31140 (gst_basesink_set_pad_functions),
31141 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31142 (gst_basesink_set_property), (gst_basesink_get_property),
31143 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31144 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31145 (gst_basesink_preroll_queue_push),
31146 (gst_basesink_preroll_queue_empty),
31147 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31148 (gst_basesink_event), (gst_basesink_get_times),
31149 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31150 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31151 (gst_basesink_loop), (gst_basesink_activate),
31152 (gst_basesink_change_state):
31153 * gst/base/gstbasesink.h:
31154 * gst/elements/Makefile.am:
31155 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31156 (gst_fakesink_class_init), (gst_fakesink_init),
31157 (gst_fakesink_set_property), (gst_fakesink_get_property),
31158 (gst_fakesink_get_times), (gst_fakesink_event),
31159 (gst_fakesink_preroll), (gst_fakesink_render),
31160 (gst_fakesink_change_state):
31161 * gst/elements/gstfakesink.h:
31162 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31163 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31164 * gst/gstelement.c: (gst_element_add_pad),
31165 (gst_element_get_state_func), (gst_element_abort_state),
31166 (gst_element_commit_state), (gst_element_lost_state),
31167 (gst_element_set_state), (gst_element_pads_activate):
31168 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31169 * gst/gstpipeline.c: (gst_pipeline_send_event),
31170 (gst_pipeline_change_state):
31171 Added state change code.
31172 Added/updated docs.
31173 Added sink base class, make fakesink extend the base class.
31174 Small cleanups in GstPipeline.
31176 2005-03-26 David Schleef <ds@schleef.org>
31178 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31179 is broken and should be implemented in a different library.
31180 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31181 * gst/gst.h: remove gstcpu.h
31182 * gst/gstcpu.c: remove
31183 * gst/gstcpu.h: remove
31184 * gst/Makefile.am.future: Remove this file. It's ancient.
31186 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31188 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31189 (gst_bin_send_event):
31190 Add default event/set_manager handlers. The set_manager handler
31191 takes care that the manager is distributed over kids that were
31192 already in the bin before the manager was set. The event handler
31193 is a utility virtual function that sends the event over all sinks,
31194 so that gst_element_send_event (bin, event); has the expected
31196 * gst/gstpad.c: (gst_pad_event_default):
31197 Re-install default event handling for discontinuities, so that
31198 seeking works without requiring hacks in applications or extra
31200 * gst/gstpipeline.c: (gst_pipeline_class_init),
31201 (gst_pipeline_send_event):
31202 Half hack, half utility: set a pipeline to PAUSED for seek events,
31203 since that is the only way we can guarantee a/v sync. Means that
31204 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31205 and it "just works".
31207 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31209 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31210 Lock/unlock mismatch.
31212 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31214 * docs/faq/gst-uninstalled:
31215 add gst-plugins-base
31216 * docs/gst/Makefile.am:
31217 don't error out until docs are fixed
31218 * docs/gst/gstreamer.types:
31221 2005-03-22 Wim Taymans <wim@fluendo.com>
31223 * check/Makefile.am:
31224 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31225 * gst/gststructure.c: (gst_structure_set_valist),
31226 (gst_structure_copy_conditional):
31227 Activated more tests.
31228 Added message test.
31229 Added G_TYPE_POINTER to GstStructure.
31232 2005-03-22 Wim Taymans <wim@fluendo.com>
31234 * docs/design/part-TODO.txt:
31235 * docs/design/part-events.txt:
31236 * docs/design/part-gstbin.txt:
31237 * docs/design/part-gstbus.txt:
31238 * docs/design/part-gstpipeline.txt:
31239 * docs/design/part-messages.txt:
31241 * gst/gstmessage.c:
31244 2005-03-21 Wim Taymans <wim@fluendo.com>
31246 * gst/gstbus.c: (gst_bus_post):
31247 Fix copy-and-paste error.
31249 2005-03-21 Wim Taymans <wim@fluendo.com>
31251 * check/Makefile.am:
31253 * gst/elements/Makefile.am:
31254 * gst/elements/gstelements.c:
31255 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31256 (gst_fakesink_event), (gst_fakesink_chain):
31257 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31258 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31259 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31260 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31261 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31262 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31263 (gst_fakesrc_loop), (gst_fakesrc_activate),
31264 (gst_fakesrc_change_state):
31265 * gst/elements/gstfakesrc.h:
31266 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31267 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31268 (gst_filesrc_open_file), (gst_filesrc_loop),
31269 (gst_filesrc_activate), (gst_filesrc_change_state),
31270 (filesrc_find_peek), (filesrc_find_suggest),
31271 (gst_filesrc_type_find):
31272 * gst/elements/gstidentity.c: (gst_identity_finalize),
31273 (gst_identity_class_init), (gst_identity_init),
31274 (gst_identity_proxy_getcaps), (identity_queue_push),
31275 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31276 (gst_identity_getrange), (gst_identity_chain),
31277 (gst_identity_sink_loop), (gst_identity_src_loop),
31278 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31279 (gst_identity_set_property), (gst_identity_get_property),
31280 (gst_identity_change_state):
31281 * gst/elements/gstidentity.h:
31282 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31283 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31284 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31285 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31286 (gst_tee_sink_activate):
31287 * gst/elements/gsttee.h:
31288 * gst/gst.c: (gst_register_core_elements), (init_post):
31290 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31291 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31292 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31293 (gst_bin_change_state):
31295 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31296 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31297 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31298 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31299 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31300 (bus_watch_callback), (bus_watch_destroy),
31301 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31302 (poll_timeout), (gst_bus_poll):
31306 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31307 (gst_element_post_message), (gst_element_message_full),
31308 (gst_element_get_state_func), (gst_element_get_state),
31309 (gst_element_abort_state), (gst_element_commit_state),
31310 (gst_element_lost_state), (gst_element_set_state),
31311 (gst_element_pads_activate), (gst_element_change_state),
31312 (gst_element_dispose), (gst_element_set_manager_func),
31313 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31314 (gst_element_set_manager), (gst_element_get_manager),
31315 (gst_element_set_bus), (gst_element_get_bus),
31316 (gst_element_set_scheduler), (gst_element_get_scheduler):
31317 * gst/gstelement.h:
31318 * gst/gstevent.c: (gst_event_new_segment_seek),
31319 (gst_event_new_flush):
31321 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31322 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31323 (gst_message_new_eos), (gst_message_new_error),
31324 (gst_message_new_warning), (gst_message_new_tag),
31325 (gst_message_new_state_changed), (gst_message_new_application),
31326 (gst_message_get_structure), (gst_message_parse_tag),
31327 (gst_message_parse_state_changed), (gst_message_parse_error),
31328 (gst_message_parse_warning):
31329 * gst/gstmessage.h:
31330 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31331 (gst_real_pad_set_property), (gst_pad_set_active),
31332 (gst_pad_is_active), (gst_pad_set_blocked_async),
31333 (gst_pad_set_blocked), (gst_pad_is_blocked),
31334 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31335 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31336 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31337 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31338 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31339 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31340 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31341 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31342 (gst_pad_set_caps), (gst_pad_configure_sink),
31343 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31344 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31345 (gst_real_pad_dispose), (gst_real_pad_finalize),
31346 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31347 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31348 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31350 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31351 (pipeline_bus_handler), (gst_pipeline_change_state),
31352 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31353 * gst/gstpipeline.h:
31355 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31356 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31357 (gst_queue_link_src), (gst_queue_bufferalloc),
31358 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31359 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31360 (gst_queue_loop), (gst_queue_handle_src_event),
31361 (gst_queue_handle_src_query), (gst_queue_src_activate),
31362 (gst_queue_change_state):
31364 * gst/gstscheduler.c: (gst_scheduler_init),
31365 (gst_scheduler_dispose), (gst_scheduler_create_task),
31366 (gst_scheduler_factory_create):
31367 * gst/gstscheduler.h:
31368 * gst/gststructure.c: (gst_structure_get_type),
31369 (gst_structure_copy_conditional):
31370 * gst/gststructure.h:
31371 * gst/gsttaginterface.h:
31372 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31373 (gst_task_init), (gst_task_dispose), (gst_task_create),
31374 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31380 * gst/schedulers/Makefile.am:
31381 * gst/schedulers/cothreads_compat.h:
31382 * gst/schedulers/entryscheduler.c:
31383 * gst/schedulers/faircothreads.c:
31384 * gst/schedulers/faircothreads.h:
31385 * gst/schedulers/fairscheduler.c:
31386 * gst/schedulers/gstbasicscheduler.c:
31387 * gst/schedulers/gstoptimalscheduler.c:
31388 * gst/schedulers/gthread-cothreads.h:
31389 * gst/schedulers/threadscheduler.c:
31390 (gst_thread_scheduler_task_get_type),
31391 (gst_thread_scheduler_task_class_init),
31392 (gst_thread_scheduler_task_init),
31393 (gst_thread_scheduler_task_start),
31394 (gst_thread_scheduler_task_stop),
31395 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31396 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31397 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31398 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31400 * libs/gst/Makefile.am:
31401 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31402 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31403 (gst_file_pad_parent_set):
31404 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31405 (gst_dp_event_from_packet):
31406 * tests/complexity.c: (main):
31407 * tests/mass_elements.c: (main):
31408 * testsuite/states/locked.c: (message_received), (main):
31409 * testsuite/states/parent.c: (main):
31410 * tools/gst-inspect.c: (print_element_flag_info),
31411 (print_implementation_info), (print_pad_info):
31412 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31414 * tools/gst-md5sum.c: (event_loop), (main):
31415 * tools/gst-typefind.c: (main):
31416 * tools/gst-xmlinspect.c: (print_element_info):
31418 Added GstBus for mainloop integration.
31419 Added GstMessage for sending notifications on the bus.
31420 Added GstTask as an abstraction for pipeline entry points.
31422 Removed Schedulers.
31423 Simplified GstQueue for multithreaded core.
31424 Made _link threadsafe, removed old capsnego.
31425 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31426 Added pad blocking functions.
31427 Reworked scheduling functions in GstPad to prepare for
31428 scheduling updates soon.
31429 Moved events out of data stream.
31430 Simplified GstEvent types.
31431 Added return values to push/pull.
31432 Removed clocking from GstElement.
31433 Added prototypes for state change function for next merge.
31434 Removed iterate from bins and state change management.
31435 Fixed some elements, disabled others for now.
31436 Fixed -inspect and -launch.
31437 Added check for GstBus.
31439 2005-03-10 Wim Taymans <wim@fluendo.com>
31441 * docs/design/part-MT-refcounting.txt:
31442 * docs/design/part-clocks.txt:
31443 * docs/design/part-gstelement.txt:
31444 * docs/design/part-gstobject.txt:
31445 * docs/design/part-standards.txt:
31446 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31447 (gst_bin_remove_func), (gst_bin_remove):
31451 * testsuite/clock/clock1.c: (main):
31452 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31454 * testsuite/dlopen/loadgst.c: (do_test):
31455 * testsuite/refcounting/bin.c: (add_remove_test1),
31456 (add_remove_test2), (main):
31457 * testsuite/refcounting/element.c: (main):
31458 * testsuite/refcounting/element_pad.c: (main):
31459 * testsuite/refcounting/pad.c: (main):
31460 * tools/gst-launch.c: (sigint_handler_sighandler):
31461 * tools/gst-typefind.c: (main):
31463 Added doc about clock.
31464 removed gst_bin_iterate_recurse_up(), marked methods
31466 Fix more testsuites.
31468 2005-03-09 Wim Taymans <wim@fluendo.com>
31470 * gst/gstpad.c: (gst_pad_get_direction),
31471 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31472 (gst_pad_collect_valist):
31473 * testsuite/bins/interface.c: (main):
31474 * testsuite/caps/audioscale.c: (test_caps):
31475 * testsuite/caps/caps.c: (test1), (test2), (test3):
31476 * testsuite/caps/deserialize.c: (main):
31477 * testsuite/caps/enumcaps.c: (main):
31478 * testsuite/caps/filtercaps.c: (main):
31479 * testsuite/caps/intersect2.c: (main):
31480 * testsuite/caps/random.c: (main):
31481 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31482 * testsuite/caps/sets.c: (check_caps):
31483 * testsuite/caps/simplify.c: (check_caps), (main):
31484 * testsuite/caps/subtract.c: (check_caps):
31485 Fix _pad_get_direction wrt ghostpads.
31486 Fix caps testsuite.
31488 2005-03-09 Wim Taymans <wim@fluendo.com>
31490 * check/Makefile.am:
31491 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31492 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31493 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31494 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31495 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31496 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31497 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31498 (bin_element_is_sink), (gst_bin_iterate_sinks),
31499 (gst_bin_iterate_all_by_interface):
31501 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31502 (gst_element_change_state), (gst_element_dispose),
31503 (gst_element_finalize), (gst_element_set_loop_function):
31504 * gst/gstelement.h:
31505 * gst/gstiterator.c: (find_custom_fold_func):
31506 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31507 (gst_pad_collectv), (gst_pad_collect_valist),
31508 (gst_pad_template_new):
31509 * gst/gstpipeline.c: (gst_pipeline_class_init),
31510 (gst_pipeline_dispose), (gst_pipeline_set_property),
31511 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31512 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31513 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31515 * gst/schedulers/entryscheduler.c:
31516 * gst/schedulers/gstbasicscheduler.c:
31517 (gst_basic_scheduler_cothreaded_chain),
31518 (gst_basic_scheduler_chain_add_element):
31519 * testsuite/bins/interface.c: (main):
31521 Added GstSystemClock test.
31522 Implemented clock distribution code in GstBin.
31523 Implemented iterate sinks method for future use.
31524 Rearranged gstelement.h
31525 Fix GstIterator comparison bug.
31526 Moved some code to GstPipeline, mostly clocking related.
31528 2005-03-09 Wim Taymans <wim@fluendo.com>
31531 * gst/gst_private.h:
31532 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31533 (gst_bin_remove_func), (gst_bin_remove),
31534 (gst_bin_get_by_name_recurse_up):
31535 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31536 (gst_clock_id_compare_func), (gst_clock_id_wait),
31537 (gst_clock_id_wait_async), (gst_clock_init),
31538 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31539 * gst/gstelement.h:
31540 * gst/gstinfo.c: (_gst_debug_init):
31542 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31543 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31545 Bump version number, we're now 0.9.0
31546 Add future debugging category.
31547 Fix NULL _unref() in _get_by_name_recurse_up
31548 Rearrange gstpad.h.
31551 2005-03-08 Wim Taymans <wim@fluendo.com>
31553 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31554 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31555 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31556 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31557 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31558 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31559 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31560 * gst/elements/gstidentity.c: (gst_identity_class_init):
31561 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31562 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31563 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31564 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31565 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31567 * gst/gstelement.c: (gst_element_class_init),
31568 (gst_element_base_class_init), (gst_element_init),
31569 (gst_element_get_random_pad), (gst_element_wait_state_change),
31570 (gst_element_change_state), (gst_element_dispose),
31571 (gst_element_finalize), (gst_element_set_loop_function):
31572 * gst/gstelement.h:
31573 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31574 * gst/gstthread.c: (gst_thread_class_init),
31575 (gst_thread_release_children_locks), (gst_thread_change_state):
31576 * gst/schedulers/gstbasicscheduler.c:
31577 (gst_basic_scheduler_loopfunc_wrapper),
31578 (gst_basic_scheduler_chain_wrapper),
31579 (gst_basic_scheduler_src_wrapper),
31580 (gst_basic_scheduler_remove_element):
31581 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31582 Remove threadsafe properties. Fix elements because GObject
31583 complains when installing a property before declaring a
31584 set/get_property handler.
31585 Rearrange gstelement.h file, use STATE macros for state locks.
31586 Free mutexes in the finalize method instead of dispose.
31588 2005-03-08 Wim Taymans <wim@fluendo.com>
31590 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31591 * gst/gstthread.c: (gst_thread_release_children_locks):
31592 Added parentage check.
31593 Fix build og GstThread again.
31595 2005-03-08 Wim Taymans <wim@fluendo.com>
31597 * docs/design/part-MT-refcounting.txt:
31598 * docs/design/part-conventions.txt:
31599 * docs/design/part-gstobject.txt:
31600 * docs/design/part-relations.txt:
31601 * docs/design/part-standards.txt:
31602 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31603 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31604 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31605 (gst_bin_iterate_all_by_interface):
31608 * gst/gstelement.c: (gst_element_class_init),
31609 (gst_element_change_state), (gst_element_set_loop_function):
31610 * gst/gstelement.h:
31611 * gst/gstiterator.c:
31612 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31613 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31614 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31615 (gst_object_set_parent), (gst_object_unparent),
31616 (gst_object_check_uniqueness):
31618 Docs updates, clean up some headers.
31620 2005-03-07 Wim Taymans <wim@fluendo.com>
31622 * check/.cvsignore:
31623 * check/Makefile.am:
31624 * check/gst-libs/.cvsignore:
31625 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31626 * check/gst/.cvsignore:
31627 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31628 (START_TEST), (gstbus_suite), (main):
31629 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31630 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31631 (gst_data_suite), (main):
31632 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31633 (add_fold_func), (gstiterator_suite), (main):
31634 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31635 (thread_name_object), (thread_name_object_default),
31636 (gst_object_name_compare), (gst_object_suite), (main):
31637 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31638 (gst_pad_suite), (main):
31639 * check/gstcheck.c: (gst_check_log_message_func),
31640 (gst_check_log_critical_func), (gst_check_init):
31641 * check/gstcheck.h:
31642 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31643 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31646 2005-03-07 Wim Taymans <wim@fluendo.com>
31648 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31649 (gst_list_iterator_next), (gst_list_iterator_resync),
31650 (gst_list_iterator_free), (gst_iterator_new_list),
31651 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31652 (gst_iterator_free), (gst_iterator_push), (filter_next),
31653 (filter_resync), (filter_uninit), (filter_free),
31654 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31655 (gst_iterator_foreach), (find_custom_fold_func),
31656 (gst_iterator_find_custom):
31657 * gst/gstiterator.h:
31658 Added missing files.
31660 2005-03-07 Wim Taymans <wim@fluendo.com>
31664 * docs/design/part-MT-refcounting.txt:
31665 * docs/design/part-conventions.txt:
31666 * docs/design/part-gstobject.txt:
31667 * docs/design/part-relations.txt:
31668 * examples/mixer/mixer.c: (main):
31669 * examples/thread/thread.c: (eos), (main):
31671 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31672 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31673 (gst_spider_plug_from_srcpad):
31674 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31675 (gst_spider_identity_change_state),
31676 (gst_spider_identity_sink_loop_type_finding):
31677 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31678 * gst/elements/gstidentity.c: (gst_identity_init):
31679 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31680 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31681 * gst/elements/gsttypefindelement.c: (free_entry):
31684 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31685 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31686 (gst_bin_set_index), (gst_bin_set_element_sched),
31687 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31688 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31689 (gst_bin_iterate_elements), (iterate_child_recurse),
31690 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31691 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31692 (compare_interface), (gst_bin_get_by_interface),
31693 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31695 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31696 (gst_buffer_default_free), (gst_buffer_default_copy),
31697 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31698 (gst_buffer_create_sub):
31700 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31701 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31702 (gst_caps_unref), (gst_static_caps_get),
31703 (gst_caps_remove_and_get_structure), (gst_caps_append),
31704 (gst_caps_append_structure), (gst_caps_remove_structure),
31705 (gst_caps_copy_nth), (gst_caps_set_simple),
31706 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31707 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31708 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31709 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31710 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31711 (gst_caps_structure_figure_out_union),
31712 (gst_caps_switch_structures), (gst_caps_do_simplify),
31713 (gst_caps_replace), (gst_caps_from_string),
31714 (gst_caps_copy_conditional):
31716 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31717 (_gst_clock_id_free), (gst_clock_id_unref),
31718 (gst_clock_id_compare_func), (gst_clock_id_wait),
31719 (gst_clock_id_wait_async), (gst_clock_class_init),
31720 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31721 (gst_clock_get_time), (gst_clock_set_time_adjust),
31722 (gst_clock_set_property), (gst_clock_get_property):
31725 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31726 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31728 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31729 (gst_element_requires_clock), (gst_element_provides_clock),
31730 (gst_element_set_clock), (gst_element_clock_wait),
31731 (gst_element_wait), (gst_element_set_time_delay),
31732 (gst_element_is_indexable), (gst_element_add_pad),
31733 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31734 (pad_compare_name), (gst_element_get_static_pad),
31735 (gst_element_request_pad), (gst_element_get_request_pad),
31736 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31737 (gst_element_class_get_pad_template_list),
31738 (gst_element_class_get_pad_template), (gst_element_error_func),
31739 (gst_element_get_random_pad), (gst_element_get_event_masks),
31740 (gst_element_send_event), (gst_element_seek),
31741 (gst_element_get_query_types), (gst_element_query),
31742 (gst_element_get_formats), (gst_element_convert),
31743 (gst_element_is_locked_state), (gst_element_set_locked_state),
31744 (gst_element_sync_state_with_parent), (gst_element_change_state),
31745 (gst_element_finalize), (gst_element_yield),
31746 (gst_element_interrupt), (gst_element_set_scheduler),
31747 (gst_element_get_scheduler), (gst_element_set_loop_function):
31748 * gst/gstelement.h:
31750 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31751 (gst_format_get_by_nick), (gst_format_get_details),
31752 (gst_format_iterate_definitions):
31754 * gst/gstindex.c: (gst_index_gtype_resolver):
31757 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31758 (gst_mem_chunk_free):
31759 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31760 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31761 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31762 (gst_object_dispatch_properties_changed),
31763 (gst_object_set_name_default), (gst_object_set_name),
31764 (gst_object_get_name), (gst_object_set_name_prefix),
31765 (gst_object_get_name_prefix), (gst_object_set_parent),
31766 (gst_object_get_parent), (gst_object_unparent),
31767 (gst_object_check_uniqueness), (gst_object_save_thyself),
31768 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31769 (gst_object_set_property), (gst_object_get_property),
31770 (gst_object_get_path_string):
31772 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31773 (gst_real_pad_init), (gst_real_pad_get_property),
31774 (gst_pad_custom_new), (gst_pad_get_direction),
31775 (gst_pad_set_active), (gst_pad_is_active),
31776 (gst_pad_set_event_function), (gst_pad_is_linked),
31777 (gst_pad_link_free), (gst_pad_link_intersect),
31778 (gst_pad_link_fixate), (gst_pad_set_caps),
31779 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31780 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31781 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31782 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31783 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31784 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31785 (gst_pad_realize), (gst_pad_get_allowed_caps),
31786 (gst_real_pad_dispose), (gst_real_pad_finalize),
31787 (gst_pad_collectv), (gst_pad_collect_valist),
31788 (gst_pad_template_dispose), (gst_pad_template_new),
31789 (gst_pad_get_internal_links):
31791 * gst/gstpipeline.c: (gst_pipeline_dispose),
31792 (gst_pipeline_change_state):
31793 * gst/gstpipeline.h:
31795 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31796 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31797 * gst/gstpluginfeature.h:
31798 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31799 * gst/gstquery.c: (_gst_query_type_initialize),
31800 (gst_query_type_register), (gst_query_type_get_by_nick),
31801 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31803 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31804 * gst/gstscheduler.c: (gst_scheduler_add_element),
31805 (gst_scheduler_factory_create):
31806 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31807 (gst_structure_free), (gst_structure_set_name),
31808 (gst_structure_id_set_value), (gst_structure_set_value),
31809 (gst_structure_set_valist), (gst_structure_remove_field),
31810 (gst_structure_remove_fields),
31811 (gst_structure_remove_fields_valist),
31812 (gst_structure_remove_all_fields), (gst_structure_foreach),
31813 (gst_structure_map_in_place),
31814 (gst_caps_structure_fixate_field_nearest_int),
31815 (gst_caps_structure_fixate_field_nearest_double):
31816 * gst/gststructure.h:
31817 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31818 (gst_system_clock_init), (gst_system_clock_dispose),
31819 (gst_system_clock_async_thread),
31820 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31821 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31822 * gst/gstsystemclock.h:
31823 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31824 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31825 * gst/gsttaginterface.c:
31826 * gst/gstthread.c: (gst_thread_dispose),
31827 (gst_thread_release_children_locks), (gst_thread_change_state),
31828 (gst_thread_main_loop):
31829 * gst/gsttrashstack.h:
31830 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31832 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31833 (gst_element_request_pad), (gst_element_get_pad_from_template),
31834 (gst_element_request_compatible_pad),
31835 (gst_element_get_compatible_pad_filtered),
31836 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31837 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31838 (gst_element_link_many), (gst_element_link),
31839 (gst_element_link_pads), (gst_element_unlink_pads),
31840 (gst_element_unlink_many), (gst_element_unlink),
31841 (gst_pad_can_link_filtered), (gst_pad_can_link),
31842 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31843 (gst_object_default_error), (gst_bin_add_many),
31844 (gst_bin_remove_many), (gst_element_populate_std_props),
31845 (gst_element_class_install_std_props), (gst_buffer_merge),
31846 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31847 (link_fold_func), (gst_pad_proxy_setcaps):
31849 * gst/gstvalue.c: (gst_value_deserialize_string):
31850 * gst/parse/grammar.y:
31851 * gst/schedulers/gstbasicscheduler.c:
31852 (gst_basic_scheduler_cothreaded_chain),
31853 (gst_basic_scheduler_chain_recursive_add),
31854 (gst_basic_scheduler_pad_link):
31855 * gst/schedulers/gstoptimalscheduler.c:
31856 (get_group_schedule_function),
31857 (gst_opt_scheduler_state_transition),
31858 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31859 * libs/gst/bytestream/bytestream.c:
31860 * libs/gst/dataprotocol/dataprotocol.c:
31861 (gst_dp_header_from_buffer):
31864 * tests/threadstate/threadstate2.c: (eos):
31865 * tools/gst-compprep.c: (main):
31866 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31867 (print_pad_info), (print_children_info):
31868 * tools/gst-launch.c: (idle_func), (main):
31869 * tools/gst-md5sum.c: (idle_func), (main):
31870 * tools/gst-xmlinspect.c: (print_element_info):
31871 First THREADED backport attempt, focusing on adding locks and
31872 making sure the API is threadsafe. Needs more work. More docs
31875 2005-02-24 Andy Wingo <wingo@pobox.com>
31877 * tests/bench-complexity.scm:
31878 * tests/complexity.gnuplot: New files, good for running complexity
31881 * tests/Makefile.am:
31882 * tests/complexity.c: New test, sets up N elements, at each level
31883 teeing into M streams per element. Eeeenteresting.
31885 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31886 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31887 running bench-mass_elements.scm.
31889 * tests/bench-mass_elements.scm: New script, runs mass_elements
31890 for various numbers of identities, outputting the results to a
31891 file. Requires guile 1.6. Just for testing.
31893 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31895 * gst/schedulers/fairscheduler.c:
31896 compile with debug disabled
31898 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
31901 hunting season on 0.9 is now OPEN